ambari部署各个组件
使用ambari进行部署时主要需要的组件包括:
ambari-server: 主要部署的控制节点,负责控制agent进行部署。
mysql: server存储的数据库。也支持postgresql等数据库。
ambari-agent: 主要执行部署的节点,根据控制节点,部署相应的服务的相应组件(compoment)。
repo: 可以是公网的库,也可以是本地源。主要提供各个服务安装的rpm包等。ambari主要使用的是HDP(hortonworks data platform)的库。
consul: 用于DNS解析。因为各个节点之间需要通过域名来相互进行访问。用consul来提供DNS解析服务,无需在每个节点上配置hosts。对应的,各个容器也需要将DNS(即resolve.conf)指定为部署consul的ip。
部署流程每个组件都可以单独做成镜像。其中repo可以使用公网的库,也可以使用自己搭建的本地源。
HDP的版本要和ambari的版本对应。对应关系可以查看hdp官网。
在实验中我使用的是ambari 2.2.1-v20的镜像和HDP 2.4.3。
搭建repo库主要是安装httpd并把HDP和HDP-UTILS的tar包解压到指定目录。这个不详述了。
创建server和agent容器使用docker-ambari的ambari-functions来创建集群。
修改ambari-functions中的server和agent镜像名称
source ambari-functions
运行amb-setttings,查看配置是否有问题
运行amb-start-cluster 3。启动server/agent/consul容器。
此时ambari-server就正常启动了。
进入ambari-server容器,ssh-keygen -t rsa -P ''生成密钥。
进入ambari-agent,yum install -y sudo,mkdir -p /var/log/ambari-agent, mkdir -p /var/lib/ambari-agent。将ambari-server的公钥拷贝到/root/.ssh/authorized_keys文件中。
从页面访问ambari-server。即可按步骤添加多个agent到集群中,并安装对应的service。
我在虚拟机上单机安装了HDFS+YARN+MAPREDUCE+SPARK服务。spark可用。我再装storm时,虚拟机配置太差,撑不住,服务无法启动。
ambari的好处是集成了监控等功能,组件很全面。
一些问题和待解决的点Ubuntu 14.04上搭建Ambari 清晰PDF
CentOS 7 安装Ambari2.4.0图文详解
Ambari + HDP 升级 (Ambari 2.2.2 - 2.4.1 + HDP 2.4.2 - 2.5.0)