具体报错内容如下:
Error message: The specified resource doesn't exist: Cluster not found, clusterId=2
看到这个报错,直接导致无法进行安装
期间尝试了重新安装,仍然不行
尝试了减少安装组件,仍然是这个报错
F12看报错内容,发现了问题
在点DEPLOY按钮时, 有3个调用
1. 持久化
http://172.16.20.21:8080/api/v1/clusters?_=1683594870288 无返回
2.集群
返回结果
{
"href" : "http://172.16.20.21:8080/api/v1/clusters?_=1683594870288",
"items" : [
{
"href" : "http://172.16.20.21:8080/api/v1/clusters/bigtest",
"Clusters" : {
"cluster_name" : "bigtest"
}
}
]
}
3. 获取集群信息, 就是这个接口报错
http://172.16.20.21:8080/api/v1/clusters/bigtest
结果: 这个错误是404错误,也即接口找不到, 确实是这样,我们才开始安装,怎么会有这个集群呢?
{
"status" : 404,
"message" : "The specified resource doesn't exist: Cluster not found, clusterId=2"
}
哪怕我换集群名,重新安装,仍然报这个错, 这说明系统认为这个集群已经存在了,而实际上并不存在
那么解决办法就简单了,清除此集群的所有数据,重新安装
按如下语句进行删除, 删除前备份数据库,如果出现问题时,方便还原数据库
select * from clusters c where cluster_id = 2
-- 7)
delete from clusters where cluster_id = 2
select * from clusterstate where cluster_id = 2
-- 6)
delete from clusterstate where cluster_id = 2
select * from clusterservices where cluster_id = 2
-- 5)
delete from clusterservices where cluster_id = 2
select * from servicecomponentdesiredstate where cluster_id = 2
-- 4)
delete from servicecomponentdesiredstate where cluster_id = 2
select * from servicedesiredstate where cluster_id = 2
-- 3)
delete from servicedesiredstate where cluster_id = 2
select * from clusterconfig where cluster_id = 2
-- 2)
delete from clusterconfig where cluster_id = 2
select * from serviceconfigmapping a join clusterconfig b on a.config_id = b.config_id where b.cluster_id = 2
-- 1)
delete a from serviceconfigmapping a join clusterconfig b on a.config_id = b.config_id where b.cluster_id = 2
重启ambari服务
sudo ambari-server restart
即可解决问题