前言
之前尝试过使用Ambri安装HDFS集群,整个搭建的流程应该是记录的比较详细的,重新把资料整理了一下发布到博客,希望可以帮到有需要的人吧。
环境准备
以下操作使用root用户执行:
1. 关闭防火墙
chkconfig iptables off
service iptables stop
chkconfig --list iptables
2. 关闭SElinux
vi /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效
3. 配置hostname
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node100.aries.com(使用FQDN命名方式)
4. 配置hosts文件
vi /etc/hosts
192.168.6.100 node100.aries.com
192.168.6.101 node101.aries.com
5. SSH配置
ssh-keygen -t rsa
ssh-copy-id node101.aries.com
# 尝试无密码连接从节点
ssh node101.aries.com
6. 修改YUM源
# 改用阿里云镜像站点
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache
7. 安装JDK并修改环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
8. 安装并开启NTP服务(确保集群内部时钟统一)
yum install -y ntp
chkconfig --list ntpd
chkconfig ntpd on
service ntpd start
9. 关闭Linux的THP服务
如果不关闭transparent_hugepage,HDFS会因为这个性能严重受影响。
关闭transparent_hugepage方法是:
vi /etc/grub.conf
添加 transparent_hugepage=never
vi /etc/rc.local
添加:
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
exit 0
以上的环境配置是最基本的,每个节点都需要的配置。可以做一备份节点,用于将来创建子节点克隆使用,减少重复工作。当然克隆后还有小的调整,比如要重新配置hostname,修改hosts文件,配置SSH无密码登录等。
安装Ambari集群
1. 制作本地源
制作本地源是因为在线安装Ambari太慢。制作本地源只需在管理节点上进行。
配置HTTP 服务
配置HTTP 服务到系统层使其随系统自动启动
chkconfig httpd on
service httpd start
安装工具
安装本地源制作相关工具
yum install yum-utils createrepo yum-plugin-priorities -y
vi /etc/yum/pluginconf.d/priorities.conf
添加gpgcheck=0
下载 Ambari与HDP
http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.1.0/ambari-2.5.1.0-centos6.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.0.3/HDP-2.6.0.3-centos6-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz
创建本地源
将下载的3个tar包解压到/var/www/html目录下:
tar zxvf /opt/ambari-2.5.1.0-centos6.tar.gz -C /var/www/html
tar zxvf /opt/HDP-2.6.0.3-centos6-rpm.tar.gz -C /var/www/html
tar zxvf /opt/HDP-UTILS-1.1.0.21-centos6.tar.gz -C /var/www/html
创建本地源
cd /var/www/html/
createrepo ./
配置本地源
vi /etc/yum.repos.d/ambari.repo
添加内容:
#VERSION_NUMBER=2.5.1.0-0
[ambari-2.5.1.0]
name=ambary Version - ambari-2.5.1.0
baseurl=http://node100.aries.com/ambari/centos6/
gpgcheck=0
gpgkey=http://node100.aries.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
vi /etc/yum.repos.d/HDP.repo
添加内容:
[HDP-2.6.0.3-8]
name=HDP-2.6.0.3-8
baseurl=http://node100.aries.com/HDP/centos6/
gpgcheck=0
gpgkey=http://node100.aries.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
vi /etc/yum.repos.d/HDP-UTILS.repo
添加内容:
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS-1.1.0.21
baseurl=http://node100.aries.com/HDP-UTILS-1.1.0.21/centos6/
gpgcheck=0
gpgkey=http://node100.aries.com/HDP-UTILS-1.1.0.21/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
最后执行以下操作:
yum clean all
yum makecache
# 查看Ambari 与 HDP 资源的资源库
yum repolist
也可以打开浏览器查看一下: http://node100.aries.com/ambari/centos6/
(配置完成后给每个从节点发送一份!!!在从节点浏览器查看http://node100.aries.com/ambari/centos6/确认是否能访问管理节点本地源,无法访问管理节点的repo时,在管理节点输入:setenforce 0
)
2. 安装Ambari
cd ${apache-ambari-2.5.1-src_PATH}/ambari-server/target/rpm/ambari-server/RPMS/x86_64
yum install ambari-server*.rpm
配置文件中添加export buildNumber=2.5.1.0
3. 配置Ambari
执行ambari-server setup
下面是配置执行流程,按照提示操作
(1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
(2)ambari-server 账号。
Enter user account for ambari-server daemon (root):
如果直接回车就是默认选择root用户
如果输入已经创建的用户就会显示:
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership...
(3)检查防火墙是否关闭,直接回车
Adjusting ambari-server permissions and ownership...
Checking firewall...
WARNING: iptables is running. Confirm the necessary Ambari ports are accessible.
Refer to the Ambari documentation for more details on ports.
OK to continue [y/n] (y)?
(4)设置JDK。输入:3
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
Enter choice (1): 3
(5)数据库配置。选择:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y
(6)选择数据库类型。输入:3
Configuring database...
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
Enter choice (1): 3
(7)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。如果想重命名,就输入。
Hostname (localhost):hdp131.cancer.com
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):
Re-Enter password:
4. 启动Amabri
执行ambari-server start
成功启动后在浏览器输入Ambari地址:http://node100.aries.com:8080/
5.从节点安装代理服务
将ambari-agent/target/rpm/ambari-agent/RPMS/x86_64/ 下所有包复制到从节点并在从节点上执行:yum install ambari-agent*.rpm
安装完成后执行: vi /etc/ambari-agent/ambari.ini
将[server]选项中hostname配置为管理结点,即hostname=node100.aries.com
执行ambari-agent start启动代理服务,执行失败时查看log信息找原因。
三、安装配置部署HDP集群
1. 登录
在浏览器里第一次输入:http://node100.aries.com:8080/
会出现登录界面,默认管理员账户登录, 账户:admin 密码:admin
2. 安装向导
登录成功后出现下面的界面:
点击Launch Install Wizard进入。
3. 设置集群名称
给你的集群命名,点击下一步。
4. 选择版本
这一步选择软件版本和安装源。版本选择HDP2.6 。使用公共存储库需要外网连接。我们的本地存储库已经创建好了,在这里可以直接选择Use Local Repository。
选择安装的操作系统和本地yum源。输入本地源地址:
| OS | Name | Base URL |
| --- | --- | --- |
| Redhat6 | HDP-2.6 | http://node100.aries.com/HDP/centos6/ |
| Redhat6 | HDP-UTILS-1.1.0.21 | http://node100.aries.com/HDP-UTILS-1.1.0.20/repos/centos6/ |
5. 设置集群机器
这一步填写要部署的节点,使用FQDN方式填写。
例如:node100.aries.com
拷贝.ssh目录下的id_rsa私钥的内容到文本框里,也可以点击选择文件上传id_rsa文件到里面。
如果选择不输入id_rsa私钥方式,就需要所有的节点都已经执行过yum install ambari-agent,并且启动ambari-agent。
6. Host确认
这一步会在相关机器上安装ambar-agent来实现跟ambari-server通信。
注:如果通信失败,在success的地方会变成 Failed,点开查看错误原因。一般是这几个原因:
- ambari-server主机与agent节点不能使用密钥文件登录,即无法联通。手动检查是否可以无密码在远程机器上执行命令。
2.yum安装时失败,到/etc/yum.repos.d/ 目录下检查,有没有ambari.repo仓库文件。尝试用yum clean all清除过期的缓存,再次尝试安装。
3.此前安装过Ambari等相关的功能,没有清理干净,又重新安装的,检查一下残留文件,删除重试。
Host确认成功后,上图底下有个“Click hereto see the warnings.”按钮,打开后会显示主机上的各种警告信息。
虽然已经安装了ambari-agent,可是还有其他可能导致安装集群失败的潜在不足,比如ntp没做,或防火墙规则存在,虽然放行了ssh,但是等安装Hadoop集群,需要打开很多的tcp端口,可能会导致错误发生。
7. 选择安装服务
这一步选择安装什么服务。
如果觉得安装时间过长或安装过程中经常报错中断,可以选择最小安装。比如可以选择只安装HDFS ,Zookeeper,Ambari Metrics,等安装成功后再陆续添加。
8. 节点服务分配
这一步分配每个节点需要安装那些服务,这里涉及到集群机器的规划。
9. 节点客户端分配
这一步选择每个节点需要安装服务的客户端。
10. 服务自定义配置
这一步是对已选服务的自定义配置,需要设置密码的服务非常多。
11. 显示配置信息
所有信息配置完成后,会出现一份报告,汇总这次安装的集群的机器规划情况。
12. 安装,启动和测试
这一步安装各个服务,并且完成安装后会启动和测试相关服务。这一步的时间比较长,如果中途出现错误,可根据具体提示或者log进行操作。
tail -1000f /var/log/ambari-server/ambari-server.log
在后面会总结一些安装部署遇到的问题和解决方案。
13. 安装成功
如果都出现绿色的success便说明集群正确的安装成功。进入http://node100.aries.com:8080/#/main/dashboard/metrics看到平台主页面了。
问题总结:
安装过程中可能出现节点未安装nc与libtirpc的情况,在节点上安装以下即可。