hbase 启动不起来,通常是因为节点日期不同步。 HDFS 无法启动,通常是因为hdfs 进入了安全模式,需要先退出来,再启动。
hadoop dfsadmin -safemode leave
repo源的地址是可以随时更改的。 更改路径:admin -> stacks and Versions -> Versions -> 点击框的右上角笔样编辑图标 . 替换对应repo的url即可。 如何删除节点(hosts) 顶部hosts 菜单 -> 点选相应的主机名 -> 右上角 host Actions -> delete host 新增节点如果是基于原有的镜像创建,需要做host cleanup . 如果发现datanode启动,但是不是live , 很可能是新节点和其他节点配置冲突。这也就是为什么要做host cleanup 的原因。 另外,新添加的节点为非live, 不要试图通过调整namenode所在节点来解决,否则问题越来越多。 ambari.repo 指定了ambari的源; 通过在ambari web配置HDP源,自动生成 “HDP*.repo” 文件。 提示 /var/log/ambari-metrics-monitor/ambari-metrics-monitor.out 没有权限修改之类 这个问题,可以采取两种解决办法: 赋权: chown ams:hadoop /var/log/ambari-metrics-monitor/ambari-metrics-monitor.out 在安装ambari metrics monitor 之前,先把这个文件删除。 本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。 如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。 ambari 界面上的 hdfs balancer 有时不管用。 可以通过手工执行命令来平衡: hadoop balancer ambari 可以通过 RESTful api 访问,例如: curl --user admin:admin http://10.0.2.11:8080/api/v1/clusters ambari 每个组件的页面中间上方都有外部链接可以指向组件本身的管理和监控页面。 500 status code received on GET method for API: /api/v1/stacks/HDP/versions/2.4/recommendations Error message: Error occured during stack advisor command invocation: Cannot create /var/run/ambari-server/stack-recommendations 解决方案:sudo chown -R ambari /var/run/ambari-server 删除已安装服务: Ambari 借鉴了很多成熟分布式软件的 API 设计。Rest API 就是一个很好地体现。通过 Ambari 的 Rest API,可以在脚本中通过 curl 维护整个集群。 目前 Ambari 不支持在 GUI 上面卸载已安装的 Service。所以当一个 Service 不再需要的时候,用户没法删除掉该 Service。幸运的是 Ambari 提供了 DELETE 的 Rest API,我们可以通过该 API 来删除 Ambari 中 Service。不过这里需要注意,这个方法只是从 Ambari Service 中删除了 Service。这样一来,Ambari 的 GUI 界面中不再显示这个 Service。但是 Service 本身还安装在 Agent 所在的机器。如果用户需要彻底的清除掉这个 Service,仍需要手工的到每个机器卸载(例如,在每个机器执行 yum erase)。 这里我以删除 SPARK 为例。卸载之前,需要确认是否停掉了该 Service。我们通过 GET 方法来得到这个结果(这里当然也可以直接从 GUI 上面看到 Service 状态)。具体的命令如下: curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://172.xx.xx.xx:8080/api/v1/clusters/hadoop1/services/SPARK 命令中的 172.xx.xx.xx 为 Ambari Server 的机器名(端口默认为 8080),hadoop1 为 cluster 名字,SPARK 为 Service 的名字。 在返回的报文中,可以看到 State 字段。如果是 INSTALLED,代表这个 Service 已经是停掉的状态。我们可以继续删除步骤。如果不是 INSTALLED,则需要先停掉这个 Service,可以从 WEB 上操作,也可以用 Rest API。 用 Rest API 停掉 Service 的命令格式如下,有兴趣的朋友可以尝试一下。 curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}' http://172.xx.xx.xx:8080/api/v1/clusters/hadoop1/services/SPARK 执行如下命令删除 SPARK: curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://172.xx.xx.xx:8080/api/v1/clusters/hadoop1/services/SPARK 执行完成后,SPARK就从 Ambari 的 Service 里面删掉了,但是 SPARK 的 package 还存在于机器。 执行rpm -qa | grep spark 如果需要彻底清除掉 spark 的 package,则需要到各个 Agent 机器执行如下命令。 yum erase "spark*" 执行完后,这个 Service 就被彻底的清除掉了。 在web上查看一下 删除安装包: 对于安装了很多hadoop组件的话,这个工作很繁琐。接下来是我整理的清理过程。 1,通过ambari将集群中的所用组件都关闭,如果关闭不了,直接kill -9 XXX 2,关闭ambari-server,ambari-agent ambari-server stop ambari-agent stop 3,卸载安装的软件 yum remove hadoop_2* hdp-select* ranger_2* zookeeper* bigtop* atlas-metadata* ambari* postgresql spark* yum list | grep @HDP yum remove -y sqoop.noarch yum remove -y lzo-devel.x86_64 yum remove -y hadoop-libhdfs.x86_64 yum remove -y rrdtool.x86_64 yum remove -y hbase.noarch yum remove -y pig.noarch yum remove -y lzo.x86_64 yum remove -y ambari-log4j.noarch yum remove -y oozie.noarch yum remove -y oozie-client.noarch yum remove -y gweb.noarch yum remove -y snappy-devel.x86_64 yum remove -y hcatalog.noarch yum remove -y python-rrdtool.x86_64 yum remove -y nagios.x86_64 yum remove -y webhcat-tar-pig.noarch yum remove -y snappy.x86_64 yum remove -y libconfuse.x86_64 yum remove -y webhcat-tar-hive.noarch yum remove -y ganglia-gmetad.x86_64 yum remove -y extjs.noarch yum remove -y hive.noarch yum remove -y hadoop-lzo.x86_64 yum remove -y hadoop-lzo-native.x86_64 yum remove -y hadoop-native.x86_64 yum remove -y hadoop-pipes.x86_64 yum remove -y nagios-plugins.x86_64 yum remove -y hadoop.x86_64 yum remove -y zookeeper.noarch yum remove -y hadoop-sbin.x86_64 yum remove -y ganglia-gmond.x86_64 yum remove -y libganglia.x86_64 yum remove -y perl-rrdtool.x86_64 yum remove -y epel-release.noarch yum remove -y compat-readline5* yum remove -y fping.x86_64 yum remove -y perl-Crypt-DES.x86_64 yum remove -y exim.x86_64 yum remove -y ganglia-web.noarch yum remove -y perl-Digest-HMAC.noarch yum remove -y perl-Digest-SHA1.x86_64 yum remove -y bigtop-jsvc.x86_64 4.删除快捷方式 cd /etc/alternatives rm -rf hadoop-etc rm -rf zookeeper-conf rm -rf hbase-conf rm -rf hadoop-log rm -rf hadoop-lib rm -rf hadoop-default rm -rf oozie-conf rm -rf hcatalog-conf rm -rf hive-conf rm -rf hadoop-man rm -rf sqoop-conf rm -rf hadoop-conf 5,删除postgresql的数据 postgresql软件卸载后,其数据还保留在硬盘中,需要把这部分数据删除掉。 rm -rf /var/lib/pgsql 6.删除用户 userdel oozie userdel hive userdel ambari-qa userdel flume userdel hdfs userdel knox userdel storm userdel mapred userdel hbase userdel tez userdel zookeeper userdel kafka userdel falcon userdel sqoop userdel yarn userdel hcat userdel atlas userdel spark rm -rf /home/atlas rm -rf /home/accumulo rm -rf /home/hbase rm -rf /home/hive rm -rf /home/oozie rm -rf /home/storm rm -rf /home/yarn rm -rf /home/ambari-qa rm -rf /home/falcon rm -rf /home/hcat rm -rf /home/kafka rm -rf /home/mahout rm -rf /home/spark rm -rf /home/tez rm -rf /home/zookeeper rm -rf /home/flume rm -rf /home/hdfs rm -rf /home/knox rm -rf /home/mapred rm -rf /home/sqoop 7,删除ambari遗留数据 rm -rf /var/lib/ambari* rm -rf /usr/lib/python2.6/site-packages/ambari_* rm -rf /usr/lib/python2.6/site-packages/resource_management rm -rf /usr/lib/ambari-* rm -rf /etc/ambari-* 8,删除其他hadoop组件遗留数据 rm -rf /etc/ambari-* rm -rf /etc/hadoop rm -rf /etc/hbase rm -rf /etc/hive rm -rf /etc/oozie rm -rf /etc/sqoop rm -rf /etc/zookeeper rm -rf /etc/flume rm -rf /etc/storm rm -rf /etc/hive-hcatalog rm -rf /etc/tez rm -rf /etc/falcon rm -rf /etc/knox rm -rf /etc/hive-webhcat rm -rf /etc/kafka rm -rf /etc/slider rm -rf /etc/storm-slider-client rm -rf /etc/spark rm -rf /var/run/spark rm -rf /var/run/hadoop rm -rf /var/run/hbase rm -rf /var/run/zookeeper rm -rf /var/run/flume rm -rf /var/run/storm rm -rf /var/run/webhcat rm -rf /var/run/hadoop-yarn rm -rf /var/run/hadoop-mapreduce rm -rf /var/run/kafka rm -rf /var/log/hadoop rm -rf /var/log/hbase rm -rf /var/log/flume rm -rf /var/log/storm rm -rf /var/log/hadoop-yarn rm -rf /var/log/hadoop-mapreduce rm -rf /var/log/knox rm -rf /usr/lib/flume rm -rf /usr/lib/storm rm -rf /var/lib/hive rm -rf /var/lib/oozie rm -rf /var/lib/flume rm -rf /var/lib/hadoop-hdfs rm -rf /var/lib/knox rm -rf /var/log/hive rm -rf /var/log/oozie rm -rf /var/log/zookeeper rm -rf /var/log/falcon rm -rf /var/log/webhcat rm -rf /var/log/spark rm -rf /var/tmp/oozie rm -rf /tmp/ambari-qa rm -rf /var/hadoop rm -rf /hadoop/falcon rm -rf /tmp/hadoop rm -rf /tmp/hadoop-hdfs rm -rf /usr/hdp rm -rf /usr/hadoop rm -rf /opt/hadoop rm -rf /tmp/hadoop rm -rf /var/hadoop rm -rf /hadoop 清理yum数据源 #yum clean all 通过以上清理后,重新安装ambari和hadoop集群(包括HDFS,YARN MapReduce2,Zookeeper,Ambari Metrics,Spark)成功。