考虑到扩展性,使用Apache Ambari构建Hadoop stack。Ambari基本上没有考虑对存量集群进行管理,基本考虑需要新装集群。
对于Apache Ambari而言,基本上根据官网的《Installation Guide》进行操作即可。
一、源码编译
源码编译所依赖的环境可参见参考文档2,主要的是:
1、JDK8,如果使用的是过高版本的话会诡异地报错java.xml.*等找不到的诡异错误;
2、maven;
3、git;
4、正确配置JAVA_HOME的环境变量,否则会报错No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK;
5、python 2.7+;
6、python-dev(2.7使用apt-get install python-dev,3.5使用apt-get install python3.5-dev):
下载并解压2.7.4源码,然后依次执行:
1 2 3 4 5 6 7 8 9 |
tar xfvz apache-ambari-2.7.4-src.tar.gz cd apache-ambari-2.7.4-src mvn versions:set -DnewVersion=2.7.4.0.0 pushd ambari-metrics mvn versions:set -DnewVersion=2.7.4.0.0 popd mvn -B clean install jdeb:jdeb -DnewVersion=2.7.4.0.0 -DbuildNumber=b730f30585dd67c10d3b841317100f17d4b2c5f1 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true |
请注意,在过程中需要下载包括node、npm、yarn等在内的大量依赖,耗时甚久,国内执行时如遇网络问题(s3.amazonaws.com基本是不可用,尤其是在下载诸如HBase等时)需要根据具体情况使用maven镜像或maven代理或全局代理解决:
另外,请注意参数中的 -Drat.skip=true ,如果不带这个参数会报错:
1 |
[ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.12:check (default) on project ambari: Too many files with unapproved license: 1 See RAT report in: /root/apache-ambari-2.7.4-src/target/rat.txt -> [Help 1] |
编译过程中可能会因为网络问题遇到各种诡异的错误,耗时需要若干个小时,最后使用配合《使用polipo解决maven-antrun-plugin插件不走代理的问题》一文中的代理编译成功(请注意,代理本身的带宽也很关键否则下载较大的依赖时也很容易超时),所用命令为:
1 |
mvn -B clean install jdeb:jdeb -DnewVersion=2.7.4.0.0 -DbuildNumber=b730f30585dd67c10d3b841317100f17d4b2c5f1 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8123 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8123 |
或者干脆在香港阿里云上编译,下载速度很快不会遇到诡异的网络问题:
编译完成后打包把东西拿回来,5个多GB:
二、安装Ambari Server
对于Ubuntu操作系统而言,Ambari Server位于ambari-server/target/下,切换到该目录下然后运行:
1 |
apt-get install ./ambari-server*.deb |
在安装过程中会看到还会去下载包括postgresql等在内的其他依赖:
三、配置并启动Ambari服务器
使用如下命令来配置Ambari服务器:
1 |
ambari-server setup |
按照提示进行操作即可,如果不明白的话可以之间全部按回车(会使用本地的postgresql)。设置完成后,使用如下命令启动Ambari Server:
1 |
ambari-server start |
四、在所有主机上安装并启动Ambari Agent
Ambari Agent位于ambari-agent/target/下,将其复制到要管理的各个主机上,然后运行:
1 |
apt-get install ./ambari-agent*.deb |
编辑/etc/ambari-agent/conf/ambari-agent.ini,将[server]下的主机名指向实际的Ambari Server主机:
1 2 |
[server] hostname=hadoop-master |
然后使用如下命令启动Ambari Agent:
1 |
ambari-agent start |
五、使用Ambari Web UI部署群集
Ambari Web UI的默认端口是8080,打开Web浏览器,打开http://<ambari-server-host>:8080,默认用户名和密码均为admin:
Apache基金会的Ambari有很多坑,例如2.7.4在输入集群名称点一下步的时候将直接卡死:
这个问题在当考文档3中给出了原因和解决方法,需要将HDP-3.0的stacks手动拷贝:
在启动日志中我们可以看到一些报错:
HortonWorkers有文档指出其贡献给Apache基金会的代码是有不同的,经查HortonWorkers的文档远比Apache基金会的文档晚上,因此我们应该老老实实地使用HortonWorkers的版本而不是从源码进行编译。
另外,Ambari默认使用的是8080端口,可以通过修改配置文件/etc/ambari-server/conf/ambari.properties中的(默认情况下配置文件中没有这个选项)指定:
1 |
client.api.port=<port_number> |
参考文档:
1、https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.7.4
2、https://cwiki.apache.org/confluence/display/AMBARI/Ambari+Development
3、https://blog.csdn.net/ZhouyuanLinli/article/details/88963289
转载时请保留出处,违法转载追究到底:进城务工人员小梅 » Ubuntu 18.04.3 LTS下Apache Ambari 2.7.4源码编译部署