ambari 2.5.0源码编译安装
参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html
Ambari 是什么
Ambari 的作用来就是创建、管理、监视 Hadoop 集群,但是这里的 Hadoop 是广义,指的是 Hadoop 整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而并不仅是特指 Hadoop。用一句话来说,Ambari 就是为了让 Hadoop 以及相关的大数据软件更容易使用的一个工具。
Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护
Ambari 2.5.0源码编译安装
三台机器(centeros)分别是m1、m2、m3,m1为Ambari Server,m2、m3为Ambari Agent
Ambari 2.5.0源码编译安装
三台机器(centeros)分别是m1、m2、m3,m1为Ambari Server,m2、m3为Ambari Agent
准备工作:
1、SSH 的无密码登录
Ambari 的 Server 会 SSH 到 Agent 的机器,拷贝并执行一些命令。因此我们需要配置 Ambari Server 到 Agent 的 SSH 无密码登录。在这里就是,m1可以 SSH 无密码登录 m2 和 m3
2、确保 Yum 可以正常工作
通过公共库(public repository),安装 Hadoop 这些软件,背后其实就是应用 Yum 在安装公共库里面的 rpm 包。所以这里需要您的机器都能访问 Internet。
3、确保机器的 Python 版本大于或等于 2.6
4、安装好maven
参考官网:https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.5.0
pushd命令常用于将目录加入到栈中,加入记录到目录栈顶部,并切换到该目录;若pushd命令不加任何参数,则会将位于记录栈最上面的2个目录对换位置
popd用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录
预先安装的软件
参考:https://cwiki.apache.org/confluence/display/AMBARI/Ambari+Development
JDK 7
Apache Maven 3.3.x
Python 2.6
rpmbuild
g++ (gcc-c++ package)
ant
python-devel
git
psutils
setuptools
第一步:下载编译 Ambari 2.5.0源码
wget http://www.apache.org/dist/ambari/ambari-2.5.0/apache-ambari-2.5.0-src.tar.gz tar xfvz apache-ambari-2.5.0-src.tar.gz cd apache-ambari-2.5.0-src mvn versions:set -DnewVersion=2.5.0.0.0 pushd ambari-metrics mvn versions:set -DnewVersion=2.5.0.0.0 popdmvn -B clean install package rpm:rpm -DnewVersion=2.5.0.0.0 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true
第一步常见的错误
[ERROR] Failed to execute goal on project ambari-metrics-kafka-sink: Could not resolve dependencies for project org.apache.ambari:ambari-metrics-kafka-sink:jar:2.2.2-0: The following artifacts could not be resolved: javax.jms:jms:jar:1.1, com.sun.jdmk:jmxtools:jar:1.2.1, com.sun.jmx:jmxri:jar:1.2.1: Could not transfer artifact javax.jms:jms:jar:1.1 from/to java.net (https://maven-repository.dev.java.net/nonav/repository): No connector available to access repository java.net (https://maven-repository.dev.java.net/nonav/repository) of type legacy using the available factories WagonRepositoryConnectorFactory
解决方法
jmxri-1.2.1.pom
<?xml version="1.0" encoding="UTF-8"?> <project><modelVersion>4.0.0</modelVersion><groupId>javax.jms</groupId><artifactId>jms</artifactId><version>1.1</version><name>Java Message Service</name><description>The Java Message Service (JMS) API is a messaging standard that allows application components based on the Java 2 Platform, Enterprise Edition (J2EE) to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous.</description><url>http://java.sun.com/products/jms</url><distributionManagement><downloadUrl>http://java.sun.com/products/jms/docs.html</downloadUrl></distributionManagement> </project>
jmxri-1.2.1.pom
<?xml version="1.0" encoding="UTF-8"?> <project><modelVersion>4.0.0</modelVersion><groupId>com.sun.jmx</groupId><artifactId>jmxri</artifactId><version>1.2.1</version><distributionManagement><status>deployed</status></distributionManagement> </project>
jmxtools-1.2.1.pom
<?xml version="1.0" encoding="UTF-8"?> <project><modelVersion>4.0.0</modelVersion><groupId>com.sun.jdmk</groupId><artifactId>jmxtools</artifactId><version>1.2.1</version><distributionManagement><status>deployed</status></distributionManagement> </project>
mvn install:install-file -Dfile=jms-1.1.pom -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jarmvn install:install-file -Dfile=jmxri-1.2.1.pom -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jarmvn install:install-file -Dfile=jmxtools-1.2.1.pom -DgroupId=com.sun.jdmk -DartifactId=jmxtools -Dversion=1.2.1 -Dpackaging=jar
错误
Failed to execute goal org.apache.rat:apache-rat-plugin:0.11:check (default) on project ambari: Too many files with unapproved license: 3 See RAT report in: /home/hadoop/apache-ambari-2.5.0-src/target/rat.txt -> [Help 1]
mvn -B clean install package rpm:rpm -DnewVersion=2.5.0.0.0 -DskipTests -Dpython.ver="python >= 2.6" -Drat.skip=true -DskipTests
添加:-Drat.skip=true
Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.0.1:rpm (default-cli) on project ambari: RPM build execution returned: '127' executing '/bin/sh -c cd /home/hadoop/apache-ambari-2.5.0-src/target/rpm/ambari/SPECS && rpmbuild -bb --buildroot /home/hadoop/apache-ambari-2.5.0-src/target/rpm/ambari/buildroot --define '_topdir /home/hadoop/apache-ambari-2.5.0-src/target/rpm/ambari' --target noarch-redhat-linux ambari.spec' -> [Help 1]
原因是rpm或者rpm-build不存在
安装 rpm rpm-build
yum install rpm yum install -y rpm-build.x86_64
[ERROR] Failed to execute goal on project ambari-metrics-storm-sink: Could not resolve dependencies for project org.apache.ambari:ambari-metrics-storm-sink:jar:2.5.0.0.0: Could not find artifact org.apache.storm:storm-core:jar:1.1.0-SNAPSHOT in alimaven (http://maven.aliyun.com/nexus/content/groups/public/) -> [Help 1]
这是因为org.apache.storm:storm-core:jar:1.1.0-SNAPSHOT不存在导致的问题
修改/apache-ambari-2.5.0-src/ambari-metrics/ambari-metrics-storm-sink/pox.xml修改storm为1.1.0版本
[INFO] Downloaded: http://maven.aliyun.com/nexus/content/groups/public/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar (54 kB at 168 kB/s)
bower angular-mocks#1.2.26 ENOGIT git is not installed or not in the PATH
[ERROR] Command execution failed.
没有安装git,安装git即可
yum -y install git
[ERROR] around Ant part ...<get dest="/home/hadoop/apache-ambari-2.5.0-src/ambari-metrics/ambari-metrics-timelineservice/target/embedded/phoenix.tar.gz" src="http://private-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.4.0-3347/tars/phoenix-4.4.0.2.3.4.0-3347.tar.gz" usetimestamp="true"/>... @ 5:270 in /home/hadoop/apache-ambari-2.5.0-src/ambari-metrics/ambari-metrics-timelineservice/target/antrun/build-Download Phoenix.xml
没有安装ant,安装ant
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (psutils-compile) on project ambari-metrics-host-monitoring: An Ant BuildException has occured: exec returned: 1
[ERROR] around Ant part ...<exec dir="/home/hadoop/apache-ambari-2.5.0-src/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/psutil" executable="/home/hadoop/apache-ambari-2.5.0-src/ambari-metrics/ambari-metrics-host-monitoring/../../ambari-common/src/main/unix/ambari-python-wrap" failοnerrοr="true">... @ 4:289 in /home/hadoop/apache-ambari-2.5.0-src/ambari-metrics/ambari-metrics-host-monitoring/target/antrun/build-psutils-compile.xml
缺少python psutils模块,安装如下
wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz tar -xzvf psutil-2.0.0.tar.gz cd psutil-2.0.0 python setup.py install
安装python setup.py install时出现如下错误
psutil/_psutil_linux.c:12:20: error: Python.h: No such file or directory
需要安装
yum -y install python-devel
配置Maven内存
Linux
export MAVEN_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=512m"
windows
set MAVEN_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=512m
[INFO] --- exec-maven-plugin:1.2.1:exec (python-package) @ python-client ---
Traceback (most recent call last):
File "/home/hadoop/apache-ambari-2.5.0-src/ambari-client/python-client/src/main/python/setup.py", line 18, in <module>
from setuptools import setup, find_packages
ImportError: No module named setuptools
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (python-package) on project python-client: 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.2.1:exec (python-package) on project python-client: Command execution failed.
setuptools安装
http://blog.chinaunix.net/uid-26000296-id-4769414.html
编译ambari-metrics时比较慢,主要是因为里面包含的几个文件下载时间太长,可以修改apache-ambari-2.5.0-src/ambari-metrics/pom.xml中properties属性下的文件下载地址为本地,然后,通过迅雷下载,如下
http://private-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.4.0-3347/tars/hbase-1.1.2.2.3.4.0-3347.tar.gz
http://private-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.4.0-3347/tars/hadoop-2.7.1.2.3.4.0-3347.tar.gz
https://msibuilds.blob.core.windows.net/hdp/2.x/2.2.4.2/2/hbase-0.98.4.2.2.4.2-0002-hadoop2.winpkg.zip
https://msibuilds.blob.core.windows.net/hdp/2.x/2.2.4.2/2/hadoop-2.6.0.2.2.4.2-0002.winpkg.zip
https://grafanarel.s3.amazonaws.com/builds/grafana-2.6.0.linux-x64.tar.gz
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<python.ver>python >= 2.6</python.ver>
<deb.python.ver>python (>= 2.6)</deb.python.ver>
<!--TODO change to HDP URL-->
<hbase.tar>file:///home/hadoop/apache-ambari-2.5.0-src/tars/hbase-1.1.2.2.3.4.0-3347.tar.gz</hbase.tar>
<hbase.folder>hbase-1.1.2.2.3.4.0-3347</hbase.folder>
<hadoop.tar>file:///home/hadoop/apache-ambari-2.5.0-src/tars/hadoop-2.7.1.2.3.4.0-3347.tar.gz</hadoop.tar>
<hadoop.folder>hadoop-2.7.1.2.3.4.0-3347</hadoop.folder>
<hbase.winpkg.zip>file:///home/hadoop/apache-ambari-2.5.0-src/tars/hbase-0.98.4.2.2.4.2-0002-hadoop2.winpkg.zip</hbase.winpkg.zip>
<hbase.winpkg.folder>hbase-0.98.4.2.2.4.2-0002-hadoop2</hbase.winpkg.folder>
<hadoop.winpkg.zip>file:///home/hadoop/apache-ambari-2.5.0-src/tars/hadoop-2.6.0.2.2.4.2-0002.winpkg.zip</hadoop.winpkg.zip>
<hadoop.winpkg.folder>hadoop-2.6.0.2.2.4.2-0002</hadoop.winpkg.folder>
<grafana.folder>grafana-2.6.0</grafana.folder>
<grafana.tar>file:///home/hadoop/apache-ambari-2.5.0-src/tars/grafana-2.6.0.linux-x64.tar.gz</grafana.tar>
<phoenix.tar>file:///home/hadoop/apache-ambari-2.5.0-src/tars/phoenix-4.4.0.2.3.4.0-3347.tar.gz</phoenix.tar>
<phoenix.folder>phoenix-4.4.0.2.3.4.0-3347</phoenix.folder>
<resmonitor.install.dir>
/usr/lib/python2.6/site-packages/resource_monitoring
</resmonitor.install.dir>
<powermock.version>1.6.2</powermock.version>
<distMgmtSnapshotsId>apache.snapshots.https</distMgmtSnapshotsId>
<distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
<distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
<distMgmtStagingId>apache.staging.https</distMgmtStagingId>
<distMgmtStagingName>Apache Release Distribution Repository</distMgmtStagingName>
<distMgmtStagingUrl>https://repository.apache.org/service/local/staging/deploy/maven2</distMgmtStagingUrl>
</properties>
第二步: 安装 Ambari Server
cd apache-ambari-2.5.0-src/ambari-server/target/rpm/ambari-server/RPMS/x86_64yum -y install ambari-server*.rpm
第三步:设置启动ambari-server(使用root进行设置和启动)
安装Mysql
yum install -y mysql-server
配置mysql数据库
启动Mysql:
service mysqld start
连接数据库:
mysql -u root -p create database ambari; use ambari; source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql mysqladmin -u root password "root"
mysql -u root -p直接回车,此时不需要输入密码
ambari-server setup /usr/sbin/ambari-server: line 34: buildNumber: unbound variable
脚本/usr/sbin/ambari-server中的变量buildNumber没有定义
export buildNumber=2.5.0.0 ambari-server setup
WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.
Press <enter> to continue.
拷贝/usr/share/java,设置ambari.properties server.jdbc.driver.path=[path/to/custom_jdbc_driver]
server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.42-bin.jar
ambari.properties文件在/etc/ambari-server/conf下
配置好后需要在重新的ambari-server setup一次,不然启动是不成功
ambari-server start
启动日志
/var/log/ambari-server/ambari-server-command.log
WARNING: The hostname was not found in the reverse DNS lookup. This may result in incorrect behavior
主机名有问题,在hosts文件中配置一下就好了
启动成功应该如下
[root@bogon ambari-server]# ambari-server start Using python /usr/bin/python Starting ambari-server Ambari Server running with administrator privileges. Organizing resource files at /var/lib/ambari-server/resources... Ambari database consistency check started... Server PID at: /var/run/ambari-server/ambari-server.pid Server out at: /var/log/ambari-server/ambari-server.out Server log at: /var/log/ambari-server/ambari-server.log Waiting for server start........................... Server started listening on 8080DB configs consistency check: no errors and warnings were found. Ambari Server 'start' completed successfully.
web访问地址
http://192.168.1.105:8080/
用户名和密码都是admin
配置私钥的时候红色的部分也要一起拷贝
上面的错误是因为其他节点没有安装ambari-agent
转载于:https://www.cnblogs.com/heml/p/6882336.html
ambari 2.5.0源码编译安装相关推荐
- postgresql 12.0 源码编译安装
postgresql 12.0 源码编译安装 1.安装相关软件包 su - root yum install -y cmake gcc gcc-c++ perl readline readline-d ...
- tesseract-4.0.0源码编译安装
tesseract-4.0.0源码编译安装 安装开发工具 apt-get -y install gcc g++ make cmake autoconf automake libtool pkg-con ...
- python 3.10.0源码编译安装
python 3.10.0源码编译安装 文章目录 python 3.10.0源码编译安装 1. 安装编译依赖工具 2. 下载python 3.10.0 3. 编译安装 Python 4. 体验 1. ...
- PHP 8.0 源码编译安装 JIT 尝鲜
女主宣言 今天小编为大家分享一篇最简化的 PHP 8 源码编译安装方法.PHP 8.0 Alpha 1 已经在2020年6月25号发布了,今天带领大家快速尝鲜 PHP 8.0 的新特性 JIT.希望能 ...
- freebsd php 编译 mysql sql2005_[伊达原创]FreeBSD8.0源码编译安装MYSQL5 APACHE2.2 PHP5.3.2
/********************************************** @desc:FreeBSD8.0+APACHE-2.2.15+MYSQL-5.1.45+PHP-5.3. ...
- php 7.0 编译安装mysql_源码编译安装php7.0.5
源码编译安装php7.0.5 源码包下载地址 安装epel扩展yum源 [root@xuegod63 ~]# yum clean all [root@xuegod63 ~]# yum list 注:R ...
- linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0
为什么要源码编译安装VIM? 因为我要安装ycm,但是ubuntu14.04仓库vim版本低 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 ...
- opencv4.0在linux下编译,Ubuntu 18.04源码编译安装OpenCV 4.0步骤
Ubuntu 18.04下标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 108 ...
- centos 7 下 rabbitmq 3.8.0 erlang 22.1 源码编译安装
安装前请检查好erlang和rabbitmq版本是否相匹配,参考:RabbitMQ Erlang Version Requirements 1. erlang 22.1 源码编译安装 1.1 安装Er ...
最新文章
- 六、MyBatis教程之六注解使用详解
- C#学习笔记:多态与隐藏,覆盖
- VTK:绘图之SpiderPlot
- luov之windows 常用端口详解
- blockchain_eth客户端安装 geth使用 批量转账(二)
- how to get the space size of some tables in one database?
- 如何实现响应式布局?
- .net单点登录demo_图文并茂,为你揭开“单点登录“的神秘面纱
- 加州无人车路测历史性变革!远程遥控,真正无人
- Java-POI生成Excel表格模板部分样式
- Outlook2013 邮件签名设置
- 计算机软件著作权可以查询他人的源代码和申请材料吗?
- 老式门锁改wifi遥控开门
- 使用ZYNQ实现单LUT内容的动态修改(一)PL端OOC设计流程
- vmd安装包_【MMD相关】推荐点软件/插件
- 全新资源网/教程网/下载站网站Emlog模板源码
- 复数加减java_用java实现复数的加减乘除运算
- c++ bool类型
- Python —— 列表的while循环遍历 、for循环遍历
- web前端工程师简历
热门文章
- 通过简单的 ResourceManager 管理 XNA 中的资源,WPXNA(二)
- linux 下创建并动态加载.so 文件
- Windows Server 2008终端服务详解系列5:用ISA 发布SH-TSG
- android学习之旅-学习计划
- ubuntu连接有线局域网后无法使用无线网卡上网
- java8中的lambda用法实例
- Flink1.12 standalone-HA配置(转载+自己验证)
- 所有特征在不同分类之间、 train和test之间的列分布差异(图形绘制)
- 一个NVIDIA驱动安装报错——ERROR: The nvidia kernel module was not created.
- 回旋矩形C语言,C语言程序设计100例之(27):回旋方阵