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 Server192.168.68.18 work1
#Ambari Agent,namenode2,journalnode1,datanode1,nodemanager1192.168.68.20 work2
#Ambari Agent,journalnode2,datanode2,nodemanager2192.168.68.21 work3
#Ambari Agent,journalnode3,datanode3,nodemanager3
SSL(需要的话可以升级)
需要openssl的1.0以上版本!
1
2
3 yum install openssl
或者
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 rsa
ssh-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
文件为:
1
2
3
4 * soft nproc 16384
* 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/hiveHDFS的存储路径
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
2ambari-server stop
ambari-agent stop在所有ambari-agent节点上,修改ambari-agent.ini文件的[security],新增force_https_protocol如下:
1
2
3vi /etc/ambari-agent/conf/ambari-agent.ini
[security]
force_https_protocol=PROTOCOL_TLSv1_2依次开启ambari-agent,最后开启ambari-server
1
2ambari-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