在Cloudera里删除实例角色的时候可能会提示:以下角色需在删除前停止运行。但是程序可能已经僵死掉。一直处于非停止状态。遇到这种情况,可以通过修改数据库状态的方式解决。
- 找到cloudera使用的数据库,通常可以在cloudera-scm-server的安装目录下找到。如:
/opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-server/db.properties
这里就包含你cloudera manager的数据库信息
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=datanode-04
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=pwd
-
连接上数据库,找到ROLES这张表。这里就可以看到相应的角色运行状态。如:
然后,找到对应主机的角色,把状态改为STOPPED.
刷新cloudera manager页面,看到相应的角色状态变成已停止,就可以删除了。
注:此方法只适合该角色所在节点被误删,或者程序异常等情况。其他非异常情况请勿使用这种方法。