Ambari安装指南
注意事项
目前centos 7 默认python 环境 为2.7 现在调用 中需要请求比如
https://master:8441/agent/v1/register/master 注册时 会出现问题
我没有去升级 参考了该链接 Ambari 2.4 在 CentOS 7.4 因 TLS_1.2 协商内部错误导致注册失败
| 1 | yum update | 
[X] 安装环境:
- 系统版本:CentOS 7.3 x86_64 
- JAVA版本:JDK-1.8.x 
- 确保机器的 Python 版本大于或等于2.6 
- 服务器列表: - 192.168.68.17 master#Ambari Server- 192.168.68.18 work1#Ambari Agent,namenode2,journalnode1,datanode1,nodemanager1- 192.168.68.20 work2#Ambari Agent,journalnode2,datanode2,nodemanager2- 192.168.68.21 work3#Ambari Agent,journalnode3,datanode3,nodemanager3
SSL(需要的话可以升级)
需要openssl的1.0以上版本!
2
3
或者
yum upgrade openssl
JDK
yum install -y java-1.8.0-openjdk-headless.x86_64 或者下载RPM 包安装
建议安装Sun的JDK1.8版本! 安装完毕并配置java环境变量,在/etc/profile末尾添加如下代码:
如果是用yum 在线安装 的openjdk 安装地址在 /lib/jvm/ 下面
或者是下载 oraclejdk 着一般需要解压后 设置java_home
上述地址在初始化 ambari-server setup 时是需要用到的
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH保存退出即可,然后执行
source /etc/profile生效.在命令行执行java -version 如下代表JAVA安装成功.
ssh
需要配置各个节点的免密码登录!
首先在自己机器上使用ssh-keygen -t rsassh-copy-id root@work1
ssh-copy-id root@work2
ssh-copy-id root@work3
NTP(必要条件)
集群的时钟要保证基本的一致.稍有不一致是可以容忍的,但是很大的不一致会 造成奇怪的行为. 运行 NTP 或者其他什么东西来同步你的时间.
如果你查询的时候或者是遇到奇怪的故障,可以检查一下系统时间是否正确!
crontab -e
*/10 * * * * ntpdate time.nist.gov
ulimit和nproc
Hdaoop会在同一时间使用很多的文件句柄.大多数linux系统使用的默认值1024是不能满足的,修改
/etc/security/limits.conf文件为:
2
3
4
* hard nproc 16384
* soft nofile 65536
* hard nofile 65536
修改host和虚拟机的名称
192.168.68.17,192.168.68.18,192.168.68.20,192.168.68.21的 /etc/hosts
文件 在文件最后添加:
192.168.68.17 master
192.168.68.18 work1
192.168.68.20 work2
192.168.68.21 work3
同时修改虚拟的名称
| 1 | hostnamectl set-hostname master | 
禁止 PackageKit
| 1 | pkill -9 packagekitd | 
将内容改为
| 1 | enabled=0 | 
关闭防火墙和SELINUX
| 1 | #关闭 | 
systemctl stop firewalld
  systemctl disable firewalld
vim /etc/selinux/config
修改 SELINUX=disabled
[X] 安装Ambari Server
在T1上操作
[1] 添加yum资源库:
wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
yum clean all
yum install ambari-server
[2] 校验YUM仓库ambari:
由于公司安全机制,这个地方可能不会安装成功
执行yum repolist,如果有ambari字符串的话,就可以开始安装了!
[3.1] YUM在线安装: ambari-server
| 1 | yum install ambari-server | 
实验证明,网速巨慢,耐心…,等待安装完成!
[3.2] YUM离线本地安装: ambari-server
- 先找一个网络好的环境,配置
| 1 | /etc/yum.conf | 
文件,修改
| 1 | keepcache | 
为
| 1 | 1 | 
,来保留安装包;再通过
| 1 | yum install ambari-server | 
安装成功后后;把相关的rpm文件复制到需要离线安装的环境上;例如:
| 1 | ambari-server-2.1.2-377.x86_64.rpm | 
- 再执行yum localhost ./postgresql-8.4.20-3.el6_6.x86_64.rpm ./postgresql-server-8.4.20-3.el6_6.x86_64.rpm ./postgresql-libs-8.4.20-3.el6_6.x86_64.rpm ./postgresql-devel-8.4.20-3.el6_6.x86_64.rpm ./ambari-server-2.1.2-377.x86_64.rpm来进行离线安装!
[5] 配置AMBARI-SERVER
| 1 | ##指定JAVA_HOME | 
选择n会按默认配置
数据库类型:postgresql
数据库:ambari
用户名:ambari
密码:bigdata
等待安装完成
[6] 启动AMBARI-SERVER
| 1 | ## 初始化 ambari 包含配置数据库和 jdk环境 | 
然后访问:http://master:8080
不出意外的话就安装完成了
用户名/密码:admin/admin
[6] 安装AMBARI-AGENT(可选 在web界面自动安装注册)
在网络环境不好的地方或者sshd的端口不是标准的22时,可以在每个agent节点上先手工安装AMBARI-AGENT
| 1 | yum install ambari-agent | 
备注:
- Ambari安装的环境路径: 各台机器的安装目录:
| 1 | /usr/lib/hadoop | 
- Log路径, 这里需要看出错信息都可以在目录下找到相关的日志 - 1 
 2- /var/log/hadoop 
 /var/log/hbase
- 配置文件的路径 - 1 
 2
 3- /etc/hadoop 
 /etc/hbase
 /etc/hive
- HDFS的存储路径 - 1 - /hadoop/hdfs 
FAQ
- 主机名格式必须是hoastname.domain,如master
- Zookeeper-Agent端修改Server指向的HOSTNAME, /etc/ambari-agent/conf/ambari-agent.ini,如修改过主机hostname
- 安装失败后或重新安装先执行ambari-server reset后ambari-setup
- 最后一步安装可能会失败,多数原因是下载包错误引起的,可重复安装直到成功,本人反复几个最终成功了,网络,网络,尤其就朝民,各种干扰!
ssl 版本导致的agent注册失败
| 1 | #在agent的配置,主要针对ambari 2.6.2 | 
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579)
| 1 | # vim /etc/python/cert-verification.cfg | 
卸载hdp


- 确保防火墙关闭,能够ping通ambari-server服务所在机器的IP 
- 升级openssl服务 - 1 - yum upgrade openssl 
| 1 | 3. 关闭 openssl 的检查 | 
- 先停掉ambari-server,然后依次停掉各个ambari-agent - 1 
 2- ambari-server stop 
 ambari-agent stop
- 在所有ambari-agent节点上,修改ambari-agent.ini文件的[security],新增force_https_protocol如下: - 1 
 2
 3- vi /etc/ambari-agent/conf/ambari-agent.ini 
 [security]
 force_https_protocol=PROTOCOL_TLSv1_2
- 依次开启ambari-agent,最后开启ambari-server - 1 
 2- ambari-server start 
 ambari-agent start
卡在安装界面看log不报错

这是由于 我们使用了远程的地址,下载比较慢 查看服务器后台
| 1 | [root@localhost ~]# ps -ef|grep yum | 
发现 yum是在运行的 期间大概耗费20多分钟
补充搭建本地仓库 (目前使用的是在线仓库搭建)
安装Nginx
编辑本地仓库 vi /etc/yum.repos.d/nginx.repo
| 1 | [nginx] | 
yum repolist
yum install nginx.x86_64
首先确定我们的版本 ambari 2.7.3.0 ,hdp HDP-3.1.4.0 链接
| 1 | Execution of 'curl -sS -L -w '%{http_code}' -X PUT -d '' -H 'Content-Length: 0' 'http://work1:50070/webhdfs/v1/ats/done?op=SETPERMISSION&user.name=hdfs&permission=755'' returned status_code=403. | 
解决方案 https://community.cloudera.com/t5/Support-Questions/App-Timeline-Server-not-start/td-p/230460
| 1 | # su - hdfs | 
As hdfs
| 1 | $ hdfs dfsadmin -safemode get | 
From the above you will confirm the status in the error “safe mode” then
| 1 | $ hdfs dfsadmin -safemode leave | 
https://liujia.anqun.org/index.php/archives/1211/
xfs_repair
 
                                