大数据越来越流行,但其学习的门槛却一直阻碍着很多的分布式应用初学者或者大数据的业务应用开发者。不管安装是 Hadoop,还是Spark/YARN 等的集成,都不是几行简单的命令可以完成的,而是需要手工修改很多的集群配置。有了 Ambari,这些都不再是难题。
Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。
##Ambari安装和配置 Ambari的安装是真的方便快捷,基本上用apt-get或者yum一句话就搞定,然后ambari-server start
就好了。
值得一提的是,因为习惯了AWS EC2的环境,喜欢做AMI备份系统。Ambari真的不需要这样,尤其Agent机器最好使用干净的实例,Ambari会负责Agent机器上的所有安装。
在AWS EC2环境中,添加host最简单的认证方法是把SSH的.pem直接拷在private key里就好了,agent机器不需要做任何设置。Master(Ambari server)需要执行:
eval `ssh-agent -s`
ssh-add arachne_key.pem
在添加服务的步骤注意选择每个服务的master节点,Ambari的默认选择未必是最适合你的实际需求的。
##清理Ambari
Ambari的界面上只能删除装有非重要component的host,如果一个主机是某个服务的master的话就无法删除了,而Ambari的界面也不提供删除服务的功能。
通常情况下,更推荐重新安装整个HDP,因为安装实在是太方便了。如果一定要清理Ambari agent、Ambari server或者删除指定服务的话见下面。
###删除Ambari-agent sudo apt-get remove ambari-agent 如果在AWS上,强烈建议直接开启新的instance
###清空Ambari Server sudo ambari-server stop sudo -u postgres psql drop database ambari; drop database ambarirca; create database ambari; create database ambarirca; sudo ambari-server setup ambari-server start
zookeeper.znode.parent /hbase-unsecure
###查询和删除服务 curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://host:8080/api/v1/clusters/ClusterName/services/Spark
curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://host:8080/api/v1/clusters/ClusterName/services/Spark
curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://52.198.5.157:8080/api/v1/clusters/Arachne/services/AMBARI_METRICS