Dinky创建Flink实例报错

Dinky版本:0.7.3

Flink版本:1.13.0

问题描述

问题1:已有实例不显示

在Dinky的【注册中心】---【Flink实例管理】中:

hadoop集群以及zookeeper重启后,之前创建的一个yarn-session实例莫名其妙找不到了;

此时还没有启动yarn-session集群(但显然与这个没有关系,因为就算没有启动yarn-session集群,实例状态会显示异常,但不会直接没有)

接下来启动yarn-session集群

接下来点击心跳会发现:

出现报错信息:

obtain applicationId failed,Please check url is corrected:java.lang.Exception: app with id: application_1705278324636_0018 not found

根据这条报错信息我推测之前创建的实例并没有消失,只是由于未知异常没法显示出来,要不然之前实例中配置的Job ID application_1705278324636_0018应该不会产生任何影响;

问题2:无法新建实例

发现以上问题之后我尝试新建Flink 实例:

填写以下信息:

点击【完成】时报错如下:

报错信息:

Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 'yarn-session-1.13-1' for key 'dlink_cluster_un' ### The error may exist in com/dlink/mapper/ClusterMapper.java (best guess) ### The error may involve com.dlink.mapper.ClusterMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO dlink_cluster (alias, type, hosts, job_manager_host, application_id, resource_manager_addr, version, status, auto_registers, name, enabled, create_time, update_time, tenant_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1) ### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 'yarn-session-1.13-1' for key 'dlink_cluster_un' ; Duplicate entry 'yarn-session-1.13-1' for key 'dlink_cluster_un'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 'yarn-session-1.13-1' for key 'dlink_cluster_un'

总之感觉很乱,但核心报错信息是这一句:Duplicate entry 'yarn-session-1.13-1' for key 'dlink_cluster_un',说明数据库中主键重复了,相关数据库是dlink_cluster

问题解决

在以上两个问题的分析中我注意到后面新建的实例名称和之前莫名其妙消失的实例名称相同,这样我们就不难得出结论,之前的实例因为未知异常而无法显示,但仍存在于数据库之中,所以会导致后面新建异常

为了验证该推测,来到MySQL数据库中,找到dinky的元数据表dlink_cluster,发现确实有一条数据:

接下来将其删除即可重新新建实例:

问题至此已经解决,但导致问题的原因未明,如果有遇到相同问题的同学欢迎讨论交流~

相关推荐
爱奥尼欧2 分钟前
轻量级可扩展日志框架-日志落地与日志器模块实现
jvm·数据库·c++
TTBIGDATA3 分钟前
【Ambari Plus】11.Kafka 安装
大数据·hadoop·分布式·kafka·ambari·hdp·ambari plus
星空8 分钟前
git指令
大数据·elasticsearch·搜索引擎
李昊哲小课13 分钟前
Ubuntu26.04 搭建 Hadoop3.5.0 完全分布式
大数据·hadoop·分布式·ubuntu·hdfs·mapreduce
ycydynq17 分钟前
Django利用中间间 判断页面是否登录,未登录则返回登录页
数据库·django·sqlite
承渊政道26 分钟前
【MySQL数据库学习】(MySQL访问、连接池原理与简易网站数据流动)
数据库·学习·mysql·mysql访问·连接池原理
吴声子夜歌26 分钟前
SQL进阶——EXISTS谓词
java·数据库·sql
2601_9549711338 分钟前
人工智能与大数据专业填报指南:核心区别、职业路径
大数据·人工智能
wefg13 小时前
【MySQL】索引(索引底层原理/创建/查看/删除主键、普通、联合、前缀、全文索引)
数据库·mysql
风向决定发型丶7 小时前
redis集群搭建
数据库·redis·缓存