Centos7 安装 ambari 2.6.2.2 和 HDP 2.6.5 的艰苦历程
安装前的准备
- VM 虚拟机三台(切记别吝啬,硬盘大点,不然安装的时候突然机器写满,centos 连机都开不开)
- HDP 地址: http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.5.0-centos7-rpm.tar.gz
HDP-UTILS 地址:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
HDP-GPL 地址:http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/HDP-GPL-2.6.5.0-centos7-gpl.tar.gz - 肝一个(没有事情是一个肝解决不了的,如果有那就两个)。
ambari 安装前的 Centos 准备
- 设置你的 hostname,
hostnamectl set-hostname xxx
如果你想好过一点的,就乖乖的设置。没安装过原生 hadoop 集群的人是不知道这个 hostname 多么重要呀(如果不改 hostname,能让你发狂,各种访问不通的问题) - hadoop 权限用户的免密登录(最好不要使用 root,如果有漏洞被人利用了就完犊子了),因为 ambari-server 需要免密登录执行脚本。顺带着把即将要安装 ambari-server 的服务器的 hadoop 的
id_rsa
拷贝出来,一会需要用到。 /etc/hosts
添加刚刚设置的集群 host 和 ip 的映射。systemctl disable firewalld
永久关闭防火墙 /systemctl stop firewalld
临时关闭防火墙
5。关闭 selinuxcat /etc/selinux/config
,修改行SELINUX=disabled
。操作到此处最好重启一下。
ambari 安装前的必备软件准备
- JAVA 环境(每台机器):安装 JDK8(配置 JAVA_HOME,不用我说了吧),注意一点就好:记得卸载自带的 jdk
- 时钟同步(每台机器):
yum -y install ntp
。ntpdate pool.ntp.org
同步时间,可以设置 crontab 来定时启动时钟同步。或者启动systemctl start ntpd
。 - httpd(主机器):因为国外镜像,所以下载大文件偶尔会出问题,推荐自建镜像源。
yum -y install httpd
,systemctl start httpd
。cd /var/www/html/
在下面创建一个目录(文件夹名:HDP),目录中存放之前下载的压缩包,并且乣解压出来。- 通过 http://ip/HDP/访问页面。
- createrepo(主机器) :
yum install yum-utils createrepo yum-plugin-priorities -y
createrepo HDP/
- 修改 ambari 的资源配置文件
HDP/ambari/...../ambari.repo
。中间路径省略了,就一个文件夹==。baseurl 修改为http://ip/HDP/ambari/ambari/centos7/2.6.0.0-267/
,gpgkey 修改为http://ip/HDP/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
。中间的路径可以依照包解压的样子自己修改。 - 同理修改 HDP 的资源配置文件,这个里面包含了 HDP 和 HDP_UTILS 的配置修改。
- 如果用的 HDP-GPL,还需要修改 HDP-GPL 的资源配置文件。
- 将刚刚修改的几个资源配置文件复制到每台机器的
/etc/yum.repos.d/
yum clean all && yum makecache && yum repolist
,看看是不是有 ambari 的资源了。
ambari-server 的安装
- 主服务器:root 权限
yum -y install ambari-server
- 主服务器:root 权限
ambari-server setup
- ambari-server 配置
- 第一个是修改运行用户;过段选择 y,然后输入 hadoop
- 第二个是配置 JAVA_HOME。
- 第三个是配置数据库(怕麻烦的话,选择 n,默认使用 PostgreSQL,啥也不用管)
- 第三个如果使用自己的数据库,请先在目标数据库运行 sql 文件(/var/lib/ambari-server/resources/目录下的对应 sql 文件。 mysql8 的注意,里面有些 sql 错误,官方的这些人表名用关键字也是牛逼呀,还不加 ``,自己改吧)
4.主服务器:root 权限ambari-server start
。
HDP 安装
我就不赘述了,怎么配置集群很简单的,我说一下容易出错的点吧。
- 第二步 Select Version,填写的就是 httpd 服务的 URL 地址,其实和 repo 文件里面的一致
- 第三步 Install Options,填写的就是之前拷出来的 id_rsa 文件,用户写 hadoop,你的私钥都是 hadoop 用户的。这个地方的用户是设置的集群以什么用户启动,安装。权限不足的可以给个 visodu
- 第四步 Config Host,这个地方是错误百出呀,各种奇葩的错误,无非就是需要升级 openssl 或者在/etc/ambari-agent/conf/ambari-agent.ini 文件的[security]下增加 force_https_protocol=PROTOCOL_TLSv1_2,真心重点。最好每台服务器都设置这个。success 以后最好处理一下 check 出来的问题,不然后面出现的错误,你都不知哪里来的,还是乖乖听官方大哥的,别忽略,有个提示存在 hadoop 用户的,那个不用处理,毕竟咱们的 ambari 就是需要 hadoop。
- 后面就是点点点式操作,几乎不用动,配置在集群建好之后还可以修改。
总结(其实就是吐槽)
- 其实吧,ambari 还蛮好用的,个人比较喜欢,因为刚开始的时候是接触的原生的 hadoop 组件,ambari 就是在原生的 hadoop 组件上做了集成,你能够看到 hadoop 的版本,而 CDH 就不一样了,感觉整体都换了,所有的版本都是依赖于 CDH 的版本。并且 ambari 是完全开源,免费的,公司首选呀。
- 个人推荐学习的话,还是从原生 hadoop 组件开始,等 hadoop 的生态圈熟悉的差不多了,就可以开始使用集成工具来搭建维护集群。
- 在集群切换 HA 的时候,ambari 貌似有 BUG,web 界面上修改第二个 namenode 的部署节点,但是配置文件里面没有,导致配置文件和 ambari 存储在数据库中的组件位置信息不一致,导致 HA 的时候失败,出现 HA 和 secondaryNamenode 同时存在,这个时候就是需要展现你对原生 hadoop 的理解了,最好是修改配置文件,让配置文件和数据库的信息一致。关于怎么删掉 secondaryNamenode 我还在想办法。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于