CDH集羣的安裝部署雖然步驟比較多,但只要嚴格按照文檔操作,一般不會有太大問題。然而,如果安裝過程中出錯,或因爲其它原因需要重新安裝CDH,在不重裝操作系統的前提下,是比較困難的。難點在於需要刪除的東西太多,不刪乾淨了非常容易造成安裝失敗。網上找的所謂“CDH完全卸載”其實都不夠完全。經過一天的反覆嘗試,終於寫了一個一鍵式刪除CDH腳本,在我自己的測試環境下是可行的。刪除腳本文件remove_cloudera.sh內容如下:
#!/bin/bash
# 停止CM服務
service cloudera-scm-server stop
service cloudera-scm-agent stop
# 卸載CM軟件包
yum -y remove cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
# 卸載裝載點
umount cm_processes
umount cm_processes
umount cm_processes
# 刪除文件
rm -rf /var/log/*
rm -rf /opt/cloudera*
rm -rf /etc/systemd/system/multi-user.target.wants/cloudera*
rm -rf /etc/default/cloudera*
rm -rf /etc/cloudera*
rm -rf /var/lib/cloudera*
rm -rf /var/log/cloudera*
rm -rf /usr/lib/systemd/system/cloudera*
rm -rf /run/cloudera*
rm -rf /sys/fs/cgroup/systemd/system.slice/cloudera*
rm -rf /etc/security/limits.d/cloudera*
rm -rf /var/lib/yum/repos/x86_64/7/cloudera*
rm -rf /var/cache/yum/x86_64/7/cloudera*
rm -rf /tmp/*
rm -rf /var/lib/hadoop-*
rm -rf /var/lib/impala
rm -rf /var/lib/solr
rm -rf /var/lib/zookeeper
rm -rf /var/lib/hue
rm -rf /var/lib/oozie
rm -rf /var/lib/pgsql
rm -rf /var/lib/sqoop2
rm -rf /data/dfs/
rm -rf /data/impala/
rm -rf /data/yarn/
rm -rf /dfs/
rm -rf /impala/
rm -rf /yarn/
rm -rf /var/run/hadoop-*/
rm -rf /var/run/hdfs-*/
rm -rf /usr/bin/hadoop*
rm -rf /usr/bin/zookeeper*
rm -rf /usr/bin/hbase*
rm -rf /usr/bin/hive*
rm -rf /usr/bin/hdfs
rm -rf /usr/bin/mapred
rm -rf /usr/bin/yarn
rm -rf /usr/bin/sqoop*
rm -rf /usr/bin/oozie
rm -rf /etc/hadoop*
rm -rf /etc/zookeeper*
rm -rf /etc/hive*
rm -rf /etc/hue
rm -rf /etc/impala
rm -rf /etc/sqoop*
rm -rf /etc/oozie
rm -rf /etc/hbase*
rm -rf /etc/hcatalog
rm -rf /var/lib/alternatives/impala-conf
rm -rf /var/lib/alternatives/impalad
rm -rf /var/lib/alternatives/impala-collect-diagnostics
rm -rf /var/lib/alternatives/impala-shell
rm -rf /var/lib/alternatives/impala-collect-minidumps
rm -rf /etc/alternatives/impala-shell
rm -rf /etc/alternatives/impalad
rm -rf /etc/alternatives/impala-collect-diagnostics
rm -rf /etc/alternatives/impala-conf
rm -rf /etc/alternatives/impala-collect-minidumps
rm -rf /var/log/impala*
rm -rf /var/lib/alternatives/zookeeper-client
rm -rf /var/lib/alternatives/zookeeper-server
rm -rf /var/lib/alternatives/zookeeper-conf
rm -rf /var/lib/alternatives/zookeeper-server-initialize
rm -rf /var/lib/alternatives/zookeeper-server-cleanup
rm -rf /var/lib/alternatives/zookeeper-security-migration
rm -rf /etc/alternatives/zookeeper-conf
rm -rf /etc/alternatives/zookeeper-server
rm -rf /etc/alternatives/zookeeper-server-cleanup
rm -rf /etc/alternatives/zookeeper-server-initialize
rm -rf /etc/alternatives/zookeeper-security-migration
rm -rf /etc/alternatives/zookeeper-client
rm -rf /var/log/zookeeper
# 重建數據庫
mysql -uroot -p123456 -e "drop database if exists scm;drop database if exists hive;drop database if exists oozie;drop database if exists hue;create database scm DEFAULT CHARACTER SET utf8;create database hive DEFAULT CHARACTER SET utf8;create database oozie DEFAULT CHARACTER SET utf8;create database hue DEFAULT CHARACTER SET utf8;"
# 刪除用戶和組
userdel -r cloudera-scm
userdel -r ambari-qa
userdel -r appmon
userdel -r falcon
userdel -r gpadmin
userdel -r hcat
userdel -r hive
userdel -r kafka
userdel -r mapred
userdel -r spark
userdel -r tez
userdel -r yarn
userdel -r zookeeper
userdel -r ams
userdel -r atlas
userdel -r flume
userdel -r hbase
userdel -r hdfs
userdel -r infra-solr
userdel -r livy
userdel -r mongodb
userdel -r oozie
userdel -r sqoop
userdel -r zeppelin
userdel -r impala
userdel -r kudu
userdel -r hadoop
groupdel hadoop
groupdel cloudera-scm
groupdel ambari-qa
groupdel appmon
groupdel falcon
groupdel gpadmin
groupdel hcat
groupdel hive
groupdel kafka
groupdel mapred
groupdel spark
groupdel tez
groupdel yarn
groupdel zookeeper
groupdel ams
groupdel atlas
groupdel flume
groupdel hbase
groupdel hdfs
groupdel infra-solr
groupdel livy
groupdel mongodb
groupdel oozie
groupdel sqoop
groupdel zeppelin
groupdel impala
groupdel kudu
# 刪除其它節點上的CDH
ssh [email protected] /root/remove_cloudera.sh
ssh [email protected] /root/remove_cloudera.sh
ssh [email protected] /root/remove_cloudera.sh
說明:
- 在Cloudera Manager節點執行此腳本。
- 其它節點上的remove_cloudera.sh文件只是少了重建數據庫一步,其它內容與此腳本一致。
- 腳本執行過程中的錯誤是由於被刪除的對象尚不存在,可以忽略。
- 如果已經安裝好了CDH,先在CM中停止所有服務後再執行此腳本。
- 刪除腳本一般都具有冪等性,可以多次執行。