虚拟机环境下用docker在centos环境中搭建Ambari HDP大数据平台
利用虚拟机安装docker,在docker环境中搭建HDP大数据平台
前言 : 在一台虚拟机上搭建3个docker容器 作为安装HDP的环境,虚拟机环境centos7.6 docker环境为centos7.6
因为想要对ambari进行二次开发,所以本次选择手动编译ambari。
https://hub.docker.com/_/centos 在此网站查询想要的版本号
一、在虚拟机上准备工作
1.1安装docker
1.2下载镜像
1.3启动容器
因为是在1台虚拟机搭建3个docker的缘故,所以这次选择的docker 网卡类型为bridge模式 网段为 172.17.0.0/16 网关为172.17.0.1
三台容器的主机名和ip分别为
※注意点:bridge模式容器ip无法自己指定
开始启动3台容器,如下图
1.4查看容器并进入
进入容器
二、搭建编译环境
2.1获取Ambari2.7.5源码
下载地址:http://apache.communilink.net/ambari/ambari-2.7.5/apache-ambari-2.7.5-src.tar.gz
2.2搭建编译环境
2.2.1安装网络工具
2.2.2 安装jdk
2.2.3 安装maven,nodejs
2.2.3.1 升级nodejs
2.2.4 配置maven,nodejs的环境变量
export MAVEN_HOME=/opt/apache-maven-3.3.9export PATH=PATH
export NODE_HOME=/opt/node-v4.5.0-linux-x64
export PATH=NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
2.2.5 python 2.6或2.7(系统自带)
2.2.6安装rpmbuild
2.2.7安装g++
2.2.8安装python-devel
2.2.9安装bower、gulp
2.2.10安装git
2.2.11安装yarn
三、提前下载并设置
下载源码,设置版本信息
3.1 hbase下载
3.2 grafana 包下载
3.3 hadoop包下载
3.4phoenix包下载
3.5 开始编译
最后
编译好后的rpm包在
编译遇到的问题
问题1:
问题2:Too many files with unapproved license
解决办法:
由于许可license没有造成的,需要再mvn命令中增加如下内容:
-Drat.skip=true
问题3:Unexpected character 0x0 in identifier编译ambari-utility,报错信息:
说明:
出错的Java文件编码和CheckStyle设置的编码不同。CheckStyle里设置的编码是UTF-8
解决办法:
将“._xxx.java”文件直接删除即可。
(注:其实有很多类似这样的文件报错,将类似这样的文件删除掉即可)
问题4: Download HBase超时
解决办法:
将./ambari-metrics/pom.xml的
<hbase.tar>http://dev.hortonworks.com.s3.amazonaws.com/HDP/centos7/3.x/BUILDS/3.0.0.0-1634/tars/hbase/hbase-2.0.0.3.0.0.0-1634-bin.tar.gz</hbase.tar>
替换为本地路径
<hbase.tar>file:///tmp/hbase/hbase-2.0.0.3.0.0.0-1634-bin.tar.gz</hbase.tar>
问题5:Unable to build the RPM
Unable to build the RPM: Error while executing process. Cannot run program “rpmbuild”
解决办法:
问题6. buildNumber : unbound variable
该文件源码位置位于:./ambari-server/sbin/ambari-server,修改后,在进行编译,可以一劳永逸。
问题7:
[INFO] Ambari Admin View .................................. FAILURE
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (Bower install) on project ambari-admin: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (Bower install) on project ambari-admin: Command execution failed.
单独编译报错:
ECMDERR Failed to execute "git ls-remote --tags --heads https://github.com/twbs/bootstrap.git", exit code of #128
Additional error details:fatal: unable to access 'https://github.com/twbs/bootstrap.git/': Peer reports incompatible or unsupported protocol version.
解决:个人将ambari-admin(包括子目录ambari-admin/src/main/resources/ui/admin-web)里面生成的node、node_modules、package-lock.json删除,保持干净的源码环境,再单独编译ambari-admin
#cd ambari-admin/src/main/resources/ui/admin-web目录下,编辑 .bowerrc ,修改后的内容如下:
在上述目录下,安装npm依赖包,全局安装gulp、bower
安装bower的依赖包(个人在ambari-admin/src/main/resources/ui/admin-web/下执行)
(上述错误原因在于bower install命令失败,个人将之前成功编译的bower_components目录(ambari-admin/src/main/resources/ui/admin-web/app目录下)拷贝到ambari-release-2.6.1/ambari-admin/src/main/resources/ui/admin-web/app目录下,再次运行成功)
安装 gulp-webserver
运行命令mvn install -Drat.skip=true -Preplaceurl -X重新单独编译ambari-admin模块(此命令在ambari-admin目录下运行)
__EOF__

本文链接:https://www.cnblogs.com/erlou96/p/16878507.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)