1 集群准备
1.1 集群组成
本次部署总共有6个节点,每个节点都使用centos最小化安装(mini),如下所示:
主机ip | 主机名 | 操作系统 | 作用 |
192.168.1.229 | ambari.hdp.org | Centos6.6 | 部署ambari |
192.168.1.230 | hdp1.hdp.org | Centos6.6 | hdp部署节点1 |
192.168.1.231 | hdp2.hdp.org | Centos6.6 | hdp部署节点2 |
192.168.1.232 | hdp3.hdp.org | Centos6.6 | hdp部署节点3 |
192.168.1.233 | hdp4.hdp.org | Centos6.6 | hdp部署节点4 |
192.168.1.234 | hdp5.hdp.org | Centos6.6 | hdp部署节点5 |
1.2 基础软件安装
集群每个节点需要安装scp、curl(centosmini已安装)、unzip、、tar(centos mini已安装)、wget和python(2.6以上,centos mini已安装),每个节点执行如下命令安装(需要Internet连接)
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">yum install openssh-clients -y</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">yum install unzip -y</span></div><div style="text-align: left;"></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">yum install wget –y</span></div>
1.3 修改主机名
1.4 设置DNS解析
然后修改机器的/etc/hosts文件,将每个机器的hostname和ip对应起来,将修改后的/etc/hosts文件复制到集群中的每台机器,操作如下所示:
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">192.168.1.229 ambari.hdp.org</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">192.168.1.230 hdp1.hdp.org</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">192.168.1.231 hdp2.hdp.org</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">192.168.1.232 hdp3.hdp.org</span></div>192.168.1.233 hdp4.hdp.org
<div style="text-align: left;"></div>192.168.1.234 hdp5.hdp.org
1.5 配置ssh无密码登录
因为在ambari和hdp部署过程中,ambari和hdp部署的节点都有可能互相访问,所以建议六个节点中的每个节点之间都可以ssh无密码登录,包括它们自己登录到自己。
在ambari.hdp.org机器上执行如下操作,首先查看该用户根目录下的.ssh文件夹中是否有id_rsa文件,如果没有执行ssh-keygen命令,一路回车,然后查看生成的文件,为了避免之后的麻烦,建议将该目录下所有文件的权限修改成600,本文档部署在ambari机器上的操作如下所示,其他机器类似:
在ambari.hdp.org机器上执行如下将命令
for host in hdp{1,2,3,4,5}.hdp.org;do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done
for host in ambari.hdp.org hdp{2,3,4,5}.hdp.ap;do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done
</pre><pre name="code" class="plain" style="text-align: left;">for host in ambari.hdp.org hdp{1,3,4,5}.hdp.ap;do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done
for host in ambari.hdp.ap hdp{1,2,4,5}.hdp.org;do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done
在hdp4.hdp.org机器上执行如下将命令
for host in ambari.hdp.ap hdp{1,2,3,5}.hdp.org;do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done
在hdp5.hdp.org机器上执行如下将命令
for host in ambari.hdp.ap hdp{1,2,3,4}.hdp.org;do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done
1.6 配置ntp服务
因为分布式中有服务需要集群的时间同步,所以集群中的每一个机器需要安装启动ntp服务保证集群时间的一致,安装启动如下所示:
for host in ambari.hdp.ap hdp{1,2,3,4,5}.hdp.org;do ssh root@$host yum install ntp -y; ssh root@$host /etc/init.d/ntpd start; done
1.7 关闭防火墙服务
因为集群中的线程之间需要互相通信,所以需要合理配置防火墙,最简单的方式是直接关闭防火墙。操作如下所示:
for host in ambari.hdp.org hdp{1,2,3,4,5}.hdp.org;do ssh root@$host /etc/init.d/iptables stop; ssh root@$host chkconfig iptables off; done
1.8 配置selinux和umask
为了避免引起不必要的麻烦,关闭集群节点上的selinux服务,然后重启,操作如下所示:
编辑/etc/sysconfig/selinux,设置
SELINUX=disabled
如果机器安装了PackageKit,在中将其关闭,操作如下:
确保集群中节点的umask值为0022,操作如下:
umask
1.9 关闭THP(推荐)
在hdp1.hdp.org、hdp2.hdp.org、hdp3.hdp.org、hdp4.hdp.org、hdp5.hdp.org机器上均执行如下命令
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag</span></div>
2 部署软件
2.1 JDK下载安装部署
在ambari.hdp.org服务器上创建目录/usr/java
mkdir -p /usr/java
将下载的jdk-7u71-linux-x64.tar.gz(下载网址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html)上传至/usr/java目录,在ambari节点上执行如下命令:
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">cd /usr/java/</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">tar -xzvf jdk-7u71-linux-x64.tar.gz</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">rm -rf jdk-7u71-linux-x64.tar.gz</span></div>
编辑/etc/profile,添加
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">export JAVA_HOME=/usr/java/jdk1.7.0_71</span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">export PATH=$JAVA_HOME/bin:$PATH</span></div>
执行source /etc/profile使得配置生效,使用java -version验证之,其他五个节点配置相同2.2 Ambari和HDP下载配置
1. ambari-1.7.0-centos6.tar.gz,下载地址为http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.7.0-centos6.tar.gz;
2. HDP-2.2.0.0-centos6-rpm.tar.gz,下载地址为http://public-repo-1.hortonworks.com/HDP/centos6/HDP-2.2.0.0-centos6-rpm.tar.gz;
3. HDP-UTILS-1.1.0.20-centos6.tar.gz,下载地址为http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz。
手动下载所需的上述软件;将下载的ambari-1.7.0-centos6.tar.gz、HDP-2.2.0.0-centos6-rpm.tar.tar、HDP-UTILS-1.1.0.20-centos6.tar.tar软件放到部署某一台的机器的/var/www/html目录下(该机器必须先安装httpd服务,并且启动httpd服务),然后解压,使用如下命令开启httpd服务:cd /var/www/html service httpd start
在该机器上添加/etc/yum.repo.d/ambari.repo文件,它的内容如下所示,其中的ip地址要换成存放ambari、HDP软件那台机器的ip:
2.3 Ambari安装部署
yum install ambari-server
如果没有报错的话,ambari-server安装成功,接下来执行
ambari-server setup -j /usr/java/jdk1.7.0_71
启动-j后面的操作指定jdk安装的位置,截图如下
2.4 HDP安装部署
修改c:\windows\system32\drivers\etc\hosts,添加如下
192.168.1.229 ambari.hdp.org
192.168.1.230 hdp1.hdp.org
192.168.1.232 hdp3.hdp.org
192.168.1.231 hdp2.hdp.org
192.168.1.233 hdp4.hdp.org
192.168.1.234 hdp5.hdp.org
Ambari-server启动成功后,可以通过http://ambari.hdp.org:8080访问,用户名和密码都是admin
用admin登录,出现如下界面。
点击“Launch Install Wizard”,接下来可以安装hdp,首先命名集群,选择下一步,操作如下所示:
然后选择安装的hdp的版本,本次部署用HDP2.2,所以选择HDP2.2,点开下面的“Advanced Repository Options”,选择操作系统对应的选项,本次部署选择redhat6,修改其中“HDP-2.2”和“HDP-UTILS-1.1.0.20”指向的地址,修改成/etc/yum.repos.d/hdp.repo中它们指向的地址,本次部署“HDP-2.2”指向“http://192.168.90.62/HDP/centos6/2.x/GA/2.2.0.0”,“HDP-UTILS-1.1.0.20”指向“http://192.168.90.62/HDP-UTILS-1.1.0.20/repos/centos6”,然后点击下一步
然后在“Target Hosts”方框中填写部署hdp的集群,本次部署填写如下;还需要指定部署ambari机器的“SSH Private Key”,点击“选择文件”按钮,找到部署ambari.hdp.ap机器上的“~/.ssh/id_rsa”文件,或者将该文件的内容复制到对应的方框中,然后点击“Register and Confirm”按钮:
1、 接下来会进行集群的注册和验证,出现下述画面代表成功,可以点击“Status”栏中的“Success”或者“Failed”查看日志
2、 接下来下一步,显示“选择服务”界面,默认是全选,可以根据自己机器的配置和需要选择服务
3、然后点击下一步,接下来显示的是“指定主节点”的界面,这个根据实际情况在下拉菜单中选择,尽可能均匀分配
4、然后点击下一步,接下来显示的是“配置服务选项”的界面,这个根据机器性能配置
5、其中旁边显示红色小圆圈带数字的表示此项服务中的某些项必须配置,其中的“Hive”、“Oozie”和“Nagios”项中需要设置密码和email,点开进行配置
6、然后点击下一步,接下来显示的是“复查”界面,显示了集群配置服务的情况,没有问题,点击“部署”按钮
7、接下来进入“安装、启动、测试”界面,如下图所示:
8、在“安装、启动、测试”过程中,随时可以点击“Message”栏中的项查看日志,日志显示了部署的进展情况,如下图所示:
9、出现下面画面表示“安装、启动、测试”成功:
10、然后点击下一步,显示的是“部署情况”界面
11、然后点击“完成”按钮,进入ambari管理界面