Ambari管理集群(一)– 源码安装
之前都是自己手工来部署集群,最近准备用管理工具来对集群进行安装和管理。
本文以根据Ambari官方安装文档为基准,进行源码安装,以及中间遇到了一些问题在网上找到的相关解决方法,以供他人和自己参考。废话不多说,直接进入:
- 官方安装wiki地址: 点击进入
目录
前提
安装Ambari需要环境有一些先决条件
- 安装 jdk (略)
- 安装 maven
- 下载地址: http://maven.apache.org/download.cgi
- 下载后解压、配置环境变量
- 安装 node.js
- sudo apt-get install node.js
- sudo apt-get install npm
- 安装 rpmbuild
- sudo apt-get install -y rpm yum
- 其他需要apt-get
- apt-get install zlibc
- apt-get install python-dev
下载&编译(Step 1: Download and build Ambari 2.6.1 source)
下载 wget http://www.apache.org/dist/ambari/ambari-2.6.1/apache-ambari-2.6.1-src.tar.gz
解压:tar xfvz apache-ambari-2.6.1-src.tar.gz
注:建议下载成功后先进入最后的 问题列表里修改相关内容后再往后续进行
cd apache-ambari-2.6.1-src
mvn versions:set -DnewVersion=2.6.1.0.0
漫长等待……
成功后执行下面语句
pushd ambari-metrics
mvn versions:set -DnewVersion=2.6.1.0.0
popd
mvn -B clean install package jdeb:jdeb -DnewVersion=2.6.1.0.0 -DskipTests -Dpython.ver=”python >= 2.6” -Drat.skip=true
又是更漫长的等待……..
安装(Step 2: Install Ambari Server)
apt-get install ambari-server*.deb
(This should also pull in postgres packages as well.)
其他系统:
[For CentOS 6 or 7]
yum install ambari-server*.rpm
[For SLES 11]
zypper install ambari-server*.rpm
注意:
此步骤针对是有安装源的安装,本地执行会报错;
第一步编译完成后,ambari-server安装包位于ambari-server/target/ambari-server_${version}-dist.deb
使用sudo dpkg -i ambari-server/target/ambari-server_${version}-dist.deb安装
这里需要先安装postgresql
sudo apt-get install postgresql
设置&启动(Step 3: Setup and Start Ambari Serve)
ambari-server setup
ambari-server start
注:
修改端口,ambari-server默认端口是8080,如果已经被其他进程占用,可在如下文件中修改
/etc/ambari-server/conf/ambari.properties
client.api.port=<port_number>
默认文件中是没有的,添加上即可
安装&启动Ambari agent(Install and Start Ambari Agent on All Hosts)
进入目录:${Ambari_home}/ambari-agent/target
1. sudo dpkg -i ambari-agent_2.6.1.0-0.deb
注:
ambari-agent依赖zlibc
apt-get install zlibc
编辑:(修改主机名字等信息,具体看情况)
/etc/ambari-agent/conf/ambari.ini
2. ambari-agent start
3. ambari-agent status
访问
http://<ambari-server-host>:port
遇到问题
storm-core-1.1.0-SNAPSHOT.jar 包无法下载
解决方案:
/usr/local/apache-ambari-2.6.1-src/ambari-metrics/ambari-metrics-storm-sink
修改pom.xml 1.1.0-SNAPSHOT 为1.1.0<properties> <storm.version>1.1.0-SNAPSHOT</storm.version> </properties>
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
解决方案:
apt-get install python-devFailed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (default) on project ambari-metrics-grafana: An Ant BuildException has occured: java.net.ConnectException: Connection timed out
解决方案:
地址变了
修改ambari-metrics/pom.xml 文件中
修改前:
<grafana.tar>https://grafanarel.s3.mazonaws.com/builds/grafana-2.6.0.linux-x64.tar.gz</grafana.tar>
修改后:
<grafana.tar>https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-2.6.0.linux-x64.tar.gz</grafana.tar>
- Caused by: org.vafer.jdeb.PackagingException: “/home/kylin/apache-ambari-2.6.1-src/ambari-metrics/ambari-metrics-grafana/src/main/package/deb/control” is not a valid ‘control’ directory)
解决方案
~/apache-ambari-2.6.1-src/ambari-metrics/ambari-metrics-grafana/pom.xml
~/apache-ambari-2.6.1-src/ambari-funtest/pom.xml
build插件添加如下内容:
<plugin>
<groupId>org.vafer</groupId>
<artifactId>jdeb</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<!--Stub execution on direct plugin call - workaround for ambari deb build process-->
<id>stub-execution</id>
<phase>none</phase>
<goals>
<goal>jdeb</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>true</skip>
<attach>false</attach>
<submodules>false</submodules>
<controlDir>${project.basedir}/../src/main/package/deb/control</controlDir>
</configuration>
</plugin>
- 如果遇到报错:/usr/sbin/ambari-server: line 33: buildNumber: unbound variable
解决方法:打开ambari-server脚本,把${buildNumber}这行换成 HASH="${VERSION}"