前言
Hadoop的生态非常的庞大,如果要对其一一搭建,并配置好相应的配置文件,需要耗费很大的精力和时间。利用Ambari + HDP能帮助我们快速搭建Hadoop平台,同时Ambari提供了监控集群的功能,能在其上面方便的添加Hadoop生态的组件以及相关的分布式框架,如spark,kafka等等。
按照环境
- 五台Centos7的机器
- java 8
- python 2.7
- 安装HDP 3.1和ambari 2.7.3 官方的安装文档
如果之前有ambari和hdp的环境需要重装,则重装之前需要先清理环境,参考网上的一遍博客:完全卸载HDP和Ambari
首先机器之间需要免密登陆,免密的登陆操作这里就不细说了,网上有很多教程,在安装之前最好保证机器之间时间同步,可以使用ntp服务使机器之间的时间同步,安装使用教程可以查看之前的博客:简单集群时间同步
本地仓库
由于ambari和HDP的yum下载太慢,因此直接下载配置本地资源
如果没有http服务,需要先安装http服务
1 | yum install httpd |
下载ambari和HDP仓库地址:Ambari Repositories、HDP 3.1.0 Repositories,下载ambari、HDP、HDP-UTILS、HDP-GPL的tat.gz的压缩包,解压文件到/var/www/html/下
在/etc/yum.repos.d/下,新建ambari.repo,添加内容
1 | [AMBARI] |
新建HDP.repo,内容:
1 | [HDP-3.1] |
新建HDP-UTILS.repo,内容:
1 | [HDP-UTILS-1.1.0.22] |
新建HDP-GPL.repo,内容:
1 | name=HDP-GPL-3.1.0.0 |
新建yum的缓存
1 | yum clean all |
安装Ambari
首先需要关闭SELinux
1 | # 查看SELinux状态 |
关闭iptables
1 | 停止firewall |
安装ambari
1 | yum install -y ambari-server |
配置初始化ambari
1 | ambari-server setup |
配置安装的详细内容可以查看官方文档,以下的回应安装提示差不多是官方文档的翻译。
回应安装提示:
- 如果您尚未暂时禁用SELinux,则可能会收到警告。接受默认值(y),然后继续。
- 默认情况下,Ambari Server运行在
root
。(n)在Customize user account for ambari-server daemon
提示符下接受默认值,继续root
。如果要创建另一个用户来运行Ambari服务器,或者要分配以前创建的用户,请y在Customize user account for ambari-server daemon
提示符处选择,然后提供用户名。 - 如果您尚未暂时禁用
iptables
,则可能会收到警告。输入y继续。 - 选择要下载的JDK版本。
- 输入1以下载Oracle JDK 1.8。默认情况下,Ambari Server安装程序会下载并安装Oracle JDK 1.8和随附的Java Cryptography Extension(JCE)策略文件
- 输入2需要提供自己安装的jdk的java_home路径
- 出现提示时,请查看GPL许可协议。要明确启用Ambari下载和安装LZO数据压缩库,不明白LZO的作用可以直接y,反正多安装不是什么坏处
- 选择n在
Enter advanced database configuration
以使用Ambari的默认嵌入式PostgreSQL数据库。默认的PostgreSQL数据库名称是ambari
。默认用户名和密码是ambari/bigdata
。否则,要使用现有的PostgreSQL,MySQL / MariaDB或Oracle数据库与Ambari,请选择y。
启动登陆ambari
如果安装顺利,可以直接启动ambari
1 | ambari-server start |
接着可以访问http://<your.ambari.server>:8080来登陆ambari,初始用户名和密码都是admin
点击Launch Install Wizard开始集群配置
集群配置
填写集群名字
选择HDP的版本,在这一步由于搭建了本地源,所以使用本地源的URI
填入集群的各个节点的主机名,不是IP,要保证/etc/hosts能正常解析到各个节点,可以保持一份正确的配置,所有节点都使用相同的hosts文件
1 | cat /etc/hosts |
因此主机名填写如下
接着填好ambari所在主机的秘钥,进入下一步安装
接着选择安装的组件,配置组件,配置参数基本按照默认走,除了填写几个用户名和密码,就不细讲了。
建议:一开始最好不要安装大量组件,只把zookeeper,hdfs,yarn,mr2这些必要的组件安装,后期慢慢添加更多组件,如果一开始安装大量组件,需要一股脑解决大量问题,别问我怎么知道的。
安装过程中的错误
安装Hive Client报错“Failed to download file from http://master.hdu.edu.cn:8080/resources/mysql-connector-java.jar due to HTTP error: HTTP Error 404: Not Found”
解决方法:在master.hdu.edu.cn对应的节点下载关联好jdbc
1
2
3
4yum install mysql-connector-java*
ls -al /usr/share/java/mysql-connector-java.jar
cd /var/lib/ambari-server/resources/
ln -s /usr/share/java/mysql-connector-java.jar mysql-connector-java.jar报错“ExecutionFailed: Execution of ‘ambari-python-wrap /usr/bin/hdp-select set xxx-client 3.1.0.0-78’ returned 1. symlink target /usr/hdp/current/xxx-client for tez already exists and it is not a symlink.”
解决方法,把软连接建立上去:
1
2rm -rf /usr/hdp/current/xxx-client
ln -s /usr/hdp/3.1.0.0-78/xxx /usr/hdp/current/xxx-client按照过程中最好联网,虽然建立了HDP的本地源,但是有些还是通过yum从远程仓库获取,如mariadb-server等
按照过程中会有很多错误,基本是查看错误的日志,排除错误原因,如yum安装不上,可以采用手动安装;缺少文件,可以从其他成功安装的集群获取文件;文件权限不对,无法读取,手动设置好需要的权限等。