ambari部署Hadoop集群
在三台初始机器上部署,具体安装配置过程参考之前的《Hadoop试验之虚拟机准备》 。
192.168.56.101 centos01
192.168.56.102 centos02
192.168.56.103 centos03
配置yum
yum源可以使用public repository,也可以在本地局域网搭建本地repository。
使用public repository,则在centos01上修改本地/etc/yum.repos.d/ambari.repo:
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.0.1/ambari.repo #注意ambari版本
cp ambari.repo /etc/yum.repo.d/ #该路径下文件名必须为ambari.repo
yum clean all && yum repolist
public repository一般在国外,网速慢经常导致安装失败。所以建议搭建本地yum源。下载Ambari、HDP、CentOS的软件库,然后用createrepo工具生成repository。最后用httpd或ftp等服务使其他节点可以访问该repository。
适用于CentOS 7 版本的Ambari Repository:
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.0.0/ambari-2.2.0.0-centos7.tar.gz.md5
下载适用于CentOS 7 版本的HDP Stack Repository:
HDP下载链接:
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.3.4.0/HDP-2.3.4.0-centos7-rpm.tar.gz.md5
HDP下载链接:
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz.md5
本人采用的httpd。将上面三个压缩包解压到/var/www/html/,然后在该路径运行createrepo /var/www/html/
。或者在其他路径建好本地仓库后创建软链接到/var/www/html/ 路径下ln -s /data /var/www/html/localrepo
。
最后配置/etc/yum.repos.d/ambari.repo,将一下信息写入即可。该配置文档分发到所有节点对应路径。
[local]
name=local
baseurl=http://centos01/ #使用软链接的话,写成centos01/localrepo
gpgcheck=0
安装ambari-server
在centos01上安装ambari-server yum install -y ambari-server
。
安装完后对Ambari Server做配置 ambari-server setup
。
配置完就可以启动Ambari Server ambari-server start
。
成功启动后就可以在浏览器访问管理界面,默认端口是8080 。 登录密码为 admin/admin 。登录后可以管理Ambari用户、界面和安装集群。
部署Hadoop集群
在Ambari web端点击“Launch Install Wizard”。
第一步 , 命名集群的名字,比如 bigdata。
第二步 , 选择一个 Stack,这个 Stack 相当于一个 Hadoop 生态圈软件的集合。Stack 的版本越高,里面的软件版本也就越高。 HDP版本与Apache Hadoop版本有个对应管理,详细可以查官网。
第三步 , 指定 Agent 机器(在终端使用`hostname -f`` 查看),这些机器会被安装 Hadoop 等软件包。这里需要指定当时在 Ambari Server 机器生成的私钥(ssh-keygen 生成的,公钥已经拷贝到 Ambari Agent 的机器)。另外不要选择“Perform [manual registration](javascript:void(null)) on hosts and do not use SSH“。因为我们需要 Ambari Server 自动去安装 Ambari Agent。
第四步 , Ambari Server 会自动安装 Ambari Agent 到刚才指定的机器列表。安装完成后,Agent 会向 Ambari Server 注册。成功注册后,就可以继续 Next 到下一步。
第五步 , 我们需要选择要安装的软件名称。本文环境选择了 HDFS,YARN + MapReduce2,Zoopkeeper,Storm 以及 Spark。选的越多,就会需要越多的机器内存。选择之后就可以继续下一步了。这里需要注意某些 Service 是有依赖关系的。如果您选了一个需要依赖其他 Service 的一个 Service,Ambari 会提醒安装对应依赖的 Service。
第六步和第七步 , 分别是选择安装软件所指定的 Master 机器和 Slave 机器,以及 Client 机器。这里使用默认选择即可(真正在生产环境中,需要根据具体的机器配置选择)。
第八步 , Service 的配置。绝大部分配置已经有默认值,不需要修改。初学者,如果不需要进行调优是可以直接使用默认配置的。有些 Service 会有一些必须的手工配置项,则必须手动输入,才可以下一步。
第九步 , Ambari 会总结一个安装列表,供用户审阅。这里没问题,就直接下一步。
第十步 , Ambari 会开始安装选择的 Service 到 Ambari Agent 的机器。安装完成之后,Ambari 就会启动这些 Service。
至此,集群已经安装完成。
报错排查
安装agent报错
第四步,Ambari Server安装各节点Agent时,所有节点都失败,报错显示:
ERROR: Bootstrap of host c6401.ambari.apache.org fails because previous action finished
with non-zero exit code (1)
> ERROR MESSAGE: Execute of '<bound method BootstrapDefault.copyNeededFiles of <BootstrapDefault(Thread-1,
started daemon 139849329964800)>>' failed
> STDOUT: Try to execute '<bound method BootstrapDefault.copyNeededFiles of <BootstrapDefault(Thread-1,
started daemon 139849329964800)>>'
解决:在/etc/yum.repos.d/ 下边必须有个名叫ambari.repo的源。
SSL报错
第四步,安装Agent时报错:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579)
是由于系统的python版本过高,导致验证ssl失败,将python降级为2.7.5以下或修改每个安装节点的python证书验证配置文件,执行以下命令修改:sed -i 's/verify=platform_default/verify=disable/' /etc/python/cert-verification.cfg
。
还可以参考以下解决办法:
https://community.hortonworks.com/articles/68799/steps-to-fix-ambari-server-agent-expired-certs.html
刷新浏览器
使用Ambari安装HDP时,如果在某一步耗时过长,需要刷新浏览器,重新之前的步骤,不然可能一直卡在某一步导致安装进行不下去。
Java环境变量
ambari-server setup
配置Ambari Server时会安装Java。安装完java,记得设置java相关PATH环境变量,切记将java的环境变量放在PATH前面。如果放在后面,会使用系统默认安装的java版本。安装新软件后,如果系统已经安装了其他版本的软件,切记设置PATH时将使用的bin放置在前面。
yum本地仓库
如果yum源通过http方式访问,需要确保/var/www/html/目录有下列文件夹且包含了相应的软件安装包:
- ambari:安装ambari相关软件
- centos74:安装操作系统相关软件
- HDP:安装HDP相关软件
- HDP-UTILS-1.1.0.21:安装HDP相关工具软件
- mysql:安装mysql相关软件。非必须。
在/etc/yum.repos.d/目录要有以上几个仓库的yum源配置。