vim uninstall.sh

    1. #!/bin/sh
    2. function killproc()
    3. {
    4. awk '{printf "%s %s\n",$2,$8}' |
    5. while read psId psCmd
    6. do
    7. printf "Kill(%s) %s\n" $psId $psCmd
    8. kill -9 $psId &
    9. done
    10. }
    11. function get_ambari_agents()
    12. {
    13. curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://${AMBARI_MASTER}:8080/api/v1/hosts
    14. }
    15. #-------------------------------------------------------------------
    16. # replace(source, which, to)
    17. # In POSIX sh, string replacement ${VB//,/ } is not supported .
    18. # Returns replaced string.
    19. #-------------------------------------------------------------------
    20. replace() {
    21. string="$1"
    22. which="$2"
    23. to="$3"
    24. result=$(echo $string | sed -e "s/${which}/${to}/g")
    25. echo ${result}
    26. }
    27. function uninstall_ambari_server()
    28. {
    29. ambari-server stop
    30. yum erase -y ambari-server
    31. rm -rf /opt/ibm/ambari
    32. rm -rf /etc/ambari-server
    33. rm -rf /var/log/ambari-server
    34. rm -rf /var/lib/pgsql*
    35. rm -rf /var/lib/ambari-server
    36. rm -rf /usr/lib/ambari-server
    37. rm -rf /var/run/ambari-server
    38. unlink /usr/lib/python2.6/site-packages/ambari_commons
    39. unlink /usr/lib/python2.6/site-packages/resource_management
    40. unlink /usr/lib/python2.6/site-packages/ambari_jinja2
    41. unlink /usr/lib/python2.6/site-packages/ambari_simplejson
    42. rm -rf /usr/lib/python2.6/site-packages/ambari_agent
    43. rm -rf /usr/lib/python2.6/site-packages/ambari_server
    44. rm -rf /usr/lib/python2.6/site-packages/resource_monitoring
    45. }
    46. function uninstall_ambari_agent()
    47. {
    48. ambari-agent stop
    49. ps -ef | grep Ambari | killproc
    50. ps -ef | grep ambari | killproc
    51. ps -ef | grep /usr/hdp | killproc
    52. ps -ef | grep resource_monitoring/main.py | killproc
    53. #python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py --silent --skip=users -f /etc/ambari-agent/conf/HostCleanup.ini,/etc/ambari-agent/conf/HostCleanup_Custom_Actions.ini -o /tmp/cleanup.log
    54. python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py --silent --skip=users
    55. #yum erase -y ambari-metrics* bigtop* extjs* flume* hadoop* hbase* hive* iop-select* knox* oozie* perl-Crypt-DES* perl-Net-SNMP* perl-rrdtool* python-rrdtool* pig* rrdtool* slider* solr* spark* sqoop* storm* zookeeper* kafka* fping* libconfuse* --setopt=tsflags=noscripts
    56. rpms=ambari,hadoop,hbase,hive,spark,zookeeper,pig,sqoop,oozie,kafka,slider,knox,flume,solr,falcon,accumulo,mahout,storm,tez,atlas
    57. #for _rpm in ${rpms//,/ };
    58. for _rpm in $(replace "${rpms}" "," " ")
    59. do
    60. yum erase -y ${_rpm}*
    61. done
    62. RPM_NAME="ambari|hadoop|hbase|hive|spark|zookeeper|pig|sqoop|oozie|kafka|slider|knox|flume|solr|falcon|accumulo|mahout|storm|tez|atlas"
    63. #call rpm erase to ensure the package will be removed
    64. RPMLIST=$(rpm -qa|grep -E "$RPM_NAME"|awk '{ print $1 }')
    65. if [[ -z "$RPMLIST" ]];then
    66. echo "No $RPM_NAME regex installed"
    67. else
    68. for RPML in $RPMLIST
    69. do
    70. sudo rpm -e $RPML --noscripts > /dev/null 2>&1
    71. done
    72. fi
    73. #utils
    74. utils_rpms=phoenix,ranger,bigtop,extjs,snappy,hdp-select,postgresql
    75. for _rpm in $(replace "${utils_rpms}" "," " ")
    76. do
    77. yum erase -y ${_rpm}*
    78. done
    79. yum erase -y mysql* mysql-devl mysql-server
    80. yum erase -y ambari-agent
    81. #rm
    82. servers=ambari-metrics,ambari-agent,ambari,hadoop,hadoop-hdfs,hadoop-mapreduce,hadoop-yarn,hbase,spark,zookeeper,hive,oozie,pig,sqoop,kafka,slider,knox,flume,falcon,solr,accumulo,accumulo,mahout,tez
    83. #for _server in ${servers//,/ };
    84. for _server in $(replace "${servers}" "," " ")
    85. do
    86. #eval "rm -rf /var/lib/${_server}*"
    87. rm -rf /var/lib/${_server}*
    88. rm -rf /var/log/${_server}*
    89. rm -rf /var/run/${_server}*
    90. rm -rf /etc/${_server}*
    91. done
    92. rm -rf /tmp/*
    93. #full clean
    94. rm -rf /etc/rc.d/init.d/ambari-agent
    95. rm -rf /usr/lib/ambari-agent
    96. rm -rf /usr/lib/python2.6/site-packages/ambari_agent
    97. rm -rf /usr/lib/python2.6/site-packages/resource_monitoring
    98. rm -rf /usr/sbin/ambari-agent
    99. rm -rf /usr/lib/ambari*
    100. rm -rf /usr/hdp
    101. #####################klh################
    102. rm -rf /var/lib/smartsense/
    103. rm -rf /var/log/hst
    104. rm -fr /etc/hst/
    105. rm -fr /usr/lib/flume
    106. rm -fr /usr/lib/storm
    107. rm -rf /data1/hadoop
    108. rm -rf /data2/hadoop
    109. rm -f /usr/bin/ranger-*
    110. unlink /usr/lib/python2.6/site-packages/ambari_commons
    111. unlink /usr/lib/python2.6/site-packages/resource_management
    112. unlink /usr/lib/python2.6/site-packages/ambari_jinja2
    113. unlink /usr/lib/python2.6/site-packages/ambari_simplejson
    114. #user bin
    115. for lns in $(ls -all /usr/bin | grep "/usr/iop" | awk '{print $9}') ;
    116. do
    117. if [ ! -z ${lns} ]; then
    118. echo "rm -rf /usr/bin/$lns";
    119. rm -rf /usr/bin/$lns
    120. fi
    121. done
    122. }
    123. function uninstall_ambari()
    124. {
    125. ambari-server stop
    126. #for agent in ${AMBARI_AGENTS//,/ } ;
    127. #for agent in $(replace "${AMBARI_AGENTS}" "," " ")
    128. #do
    129. ## gLog 3 Info "uninstall_ambari_agent on agent $agent ..."
    130. # ssh $agent "${TEST_WORKDIR}/framework/ambari/${CLUSTER_TYPE}/main.s uninstall_ambari_agent"
    131. #)&
    132. #done
    133. #wait
    134. uninstall_ambari_agent
    135. uninstall_ambari_server
    136. removeServiceAccounts
    137. }
    138. function removeServiceAccounts()
    139. {
    140. users=hbase,ambari-qa,ams,hcat,hdfs,hive,kafka,mapred,oozie,spark,sqoop,tez,yarn,zookeeper,accumulo,atlas,falcon,flume,knox,mahout,storm
    141. for _user in $(replace "${users}" "," " ")
    142. do
    143. userdel -r -f ${_user}
    144. done
    145. }
    146. function removeRepo()
    147. {
    148. #rm repo
    149. rm -rf /etc/yum.repos.d/HDP*
    150. rm -rf /etc/yum.repos.d/ambari*
    151. yum clean metadata
    152. yum clean all
    153. }
    154. uninstall_ambari