《使用Ambari搭建hadoop技术栈集群》
一. 背景
hdfs,map-reduce,spark,yarn是大数据处理的基础组件。在发展了几年之后,已经成为了比较通用的数据处理工具。记得几年前搭建hadoop这一套需要若干天才能完成,现在由于工具的进一步升级,搭建完整的集群+监控系统只需要若干小时即可。
二. Ambari介绍
【Ambari】是apache的一个开源项目。就 Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群。Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。HDP 2.2 所支持的 Service 已经有 18 个之多,分别是 Falcon,Flume,Hbase,HDFS,Hive,Kafka,Kerberos,Knox,Oozie,Pig,Ranger,Slider,Spark,Sqoop,Stom,Tez,Yarn,Zookeeper。现阶段最新的版本是HDP2.4
三. 搭建的方法
-
由于Ambari是C/S架构,所以需要配置S到C的免密码ssh登录权限
-
构建yum本地源,这个可以大大加速搭建的进度和成功率
reposync -r Updates-ambari-2.2.1.0 -p ./
reposync -r HDP-2.4 -p ./
reposync -r Updates-ambari-2.2.1.0 -p ./
createrepo . -
启动ambari-server
yum install ambari-server
amari-server setup
ambari-server start
默认的端口为 8080,用户名密码: admin/admin -
在各个节点启动ambari-agent
这部分操作可以完全在web UI 下操作,十分方便。
添加机器节点
注意:需要上传之前免密码登录的私钥:id_rsa
- 首次尽量选择必须的组件,后面可以随时增加
- 注意:可以根据实际情况改变部署的分布和配置,这个需要跟硬件配置和实际负载情况折中
四. 线上的效果
安装成功后的效果其中:
- Ambari Metrics 负责实时收集端上相关的系统统计信息,并维护各个服务的报警触发条件
- 每个服务都可以通过使用UI工具进行启动/停止/下线的操作
- 可以提交一个系统自带的分布式shell任务来测试集群运行的正确性
su ambari-qa
cd /usr/hdp/2.4.0.0-169/hadoop-yarn/
yarn jar hadoop-yarn-applications-distributedshell.jar hadoop-yarn-client.jar --jar hadoop-yarn-applications-distributedshell.jar -container_memory 2 -master_vcores 3 -shell_args -a -shell_command ls
五. 常见问题
-
nfs3 gateway挂载,以及input/output error和速度问题
Ambari会自动启动nfs3服务,但是挂载需要自己操作mount -t nfs -o vers=3,proto=tcp,nolock $server_ip:/ /opt/hdfs/
同时,需要在web端修改参数
避免input/output error 配置参数挂载的默认rtmax和wrmax是1MB,如果有大文件,调高这个参数会有速度上的提升