ambari 重新安装节点上的组件

原创文章,转载请注明出处:http://qq85609655.iteye.com/blog/2201072

今天遇到这么个情况:

某个节点无法启动了,数据备份出来后,需要,重新安装hadoop的组件,但是,又不想改变原有的配置,百度,Google,没有找到办法,于是研究了下ambari的源码。解决的办法也不是没有。

有个表叫hostcomponentstate用于控制组件的状态,既然已经安装了,但是,节点上需要重新安装,将其认为安装失败,就可以重新进行安装,这样,再安装完之后,数据重新拷贝就OK了。

步骤如下:

1. 首先更改状态

UPDATE hostcomponentstate
SET current_state = 'INSTALL_FAILED'
WHERE host_name = 'cluster-153' AND current_state = 'INSTALLED'

2. 重启ambari

service ambari-server restart

3. 选择重新安装

4. 最后,重新安装成功后

有趣提醒:

oozie 重新安装时,比较特殊,其依赖bigtop-tomcat。如果依赖破坏,需要重新安装bigtop-tomcat。

如果需要删除一个Knox服务,操作如下(HDP2.3版本):

DELETE FROM servicedesiredstate WHERE service_name IN ( SELECT service_name FROM `clusterservices` WHERE service_name LIKE '%Knox%' );
DELETE FROM hostcomponentstate WHERE host_id = 4 AND component_name LIKE '%Knox%';
DELETE FROM hostcomponentdesiredstate WHERE component_name LIKE '%Knox%';
DELETE FROM servicecomponentdesiredstate WHERE service_name IN ( SELECT service_name FROM `clusterservices` WHERE service_name LIKE '%Knox%' );
DELETE FROM clusterservices WHERE service_name LIKE '%Knox%';

 简单吧

...

猜你喜欢

转载自qq85609655.iteye.com/blog/2201072