Ambari2.1安装hdp2.3

1 集群配置

1.1 集群组成

本次部署总共有2个节点,如下所示:

主机ip 主机名 操作系统 内存 作用 
192.168.230.132 h132.hdp.ap Centos7 4g 部署ambari

192.168.230.133 h133.hdp.ap Centos7 3g hdp部署节点1

按照上述表中的主机名在对应的机器上修改它们的hostname,方法如下所示: 
在/etc/sysconfig/network中修改hostname项,修改完后重启生效,/etc/sysconfig/network内容如下所示:

# Created by anaconda
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=h132.hdp.ap
NTPSERVERARGS=iburst
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
修改了hostname后,如何使其立即生效而不用重启操作系统。

方法1:修改了/etc/sysconfig/network下的HOSTNAME后,然后使用echo  servername > /proc/sys/kernel/hostname。

     [root@DB-Server ~]# echo Test >/proc/sys/kernel/hostname

      注意当前会话还是不会变化,但是后续新建会话则会生效。

方法2:修改了/etc/sysconfig/network下的HOSTNAME后,然后使用sysctl kernel.hostname命令使其立即生效

    [root@DB-Server ~]# sysctl kernel.hostname=Test2

    kernel.hostname = Test2

注意当前会话还是不会变化,但是后续新建会话会生效。

方法3:修改了/etc/sysconfig/network下的HOSTNAME后,然后使用hostname命令使其生效

    [root@Test ~]# hostname DB-Server

    注意当前会话还是不会变化,但是后续新建会话会生效。

其实呢,这几种方式只是结合永久性修改和临时性修改hostname,使其不必重启Linux服务器

然后修改机器的/etc/hosts文件,将每个机器的hostname和ip对应起来,将修改后的/etc/hosts文件复制到集群中的每台机器,操作如下所示:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.230.132 h132.hdp.ap h132
192.168.230.133 h133.hdp.ap h133
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

1.2 配置ssh无密码登录

因为在ambari和hdp部署过程中,ambari和hdp部署的节点都有可能互相访问,所以建议四个节点中的每个节点之间都可以ssh无密码登录,包括它们自己登录到自己。

在每一台机器上执行如下操作,首先查看该用户根目录下的.ssh文件夹中是否有id_rsa文件(如果没有.ssh文件夹,可以自己创建一个),如果没有执行ssh-keygen命令,一路回车,然后查看生成的文件,为了避免之后的麻烦,建议将该目录下所有文件的权限修改成600,本文档部署在h133机器上的操作如下所示,其他机器类似:

[root@h132 ~]# cd .ssh
[root@h132 .ssh]#ssh-keygen
[root@h132 .ssh]#chmod 600 *
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

为了实现A节点无密码登录到B节点,需要将A节点的.ssh/id_rsa.pub文件内容添加到B节点的.ssh/authorized_keys文件中,下面给出了h133节点无密码登录到h132节点的方法,用类似的方法实现他们之间任意两个节点的无密码登录。

首先将h133节点的.ssh/id_rsa.pub文件拷贝到h132节点上,注意不要放到.ssh文件夹中,这样会覆盖h132节点上的.ssh/id_rsa.pub文件,操作如下所示:

[root@h132 .ssh]#scp id_rsa.pub h133:~/
 
 
  • 1
  • 1

首先将拷贝到h132节点上的id_rsa.pub文件内容添加到.ssh/authorized_keys文件中,操作如下所示:

[root@h133 ~]# cat id_rsa.pub >> .ssh/authorized_keys
 
 
  • 1
  • 1

至此完成了h133节点无密码登录h132节点,测试如下:

[root@h133 ~]# ssh h132
Last login: Sun Aug 30 22:53:54 2015 from 192.168.230.1
 
 
  • 1
  • 2
  • 1
  • 2

接下来用类似的方法实现他们之间任意两个节点的无密码登录。

1.1 配置ntp服务

因为hdp中有服务需要集群的时间同步,所以集群中的每一个机器需要安装启动ntp服务保证集群时间的一致,安装启动如下所示:

yum install ntp
service ntpd start 
systemctl enable ntpd
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

在集群中的每台机器完成上述操作。

1.4 关闭防火墙服务

因为集群中的线程之间需要互相通信,所以需要合理配置防火墙,最简单的方式是直接关闭防火墙。操作如下所示:

chkconfig iptables off

/etc/init.d/iptables stop

systemctl disable firewalld

service firewalld stop
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

1.5 配置selinux和umask

为了避免引起不必要的麻烦,关闭集群节点上的selinux服务,然后重启(或者不重启执行命令:执行命令:setenforce 0),文件/etc/selinux/config修改以下选项如下所示:

SELINUX=disabled
 
 
  • 1
  • 1

如果机器安装了PackageKit,在/etc/yum/pluginconf.d/refresh-packagekit.conf中将其关闭,操作如下:

enabled=0
 
 
  • 1
  • 1

确保集群中节点的umask值为022,操作如下:

[root@h132 ~]# umask
0022
 
 
  • 1
  • 2
  • 1
  • 2
如果不是022,vi /etc/profile then, 添加一行: umask 022

2 准备部署软件

2.1 Jdk下载安装部署

如果机器没有Java环境,在安装ambari和hdp过程中,yum会自动从网上下载jdk-7u79-Linux-x64.tar.gz,如果网速很快的话,可以在线获取。本文档部署手动下载java包,用的是/jdk-7u79-linux-x64.tar.gz,下载地址为http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz?AuthParam=1440993061_1fb798d8c678d517c310d9485d348225,下载完后,必须放在集群每个节点的相同目录,然后解压,操作过程如下图所示:

[root@h132 local]# ls
bin  games    jdk1.7.0_79                lib    libexec  share
etc  include  jdk-7u79-linux-x64.tar.gz  lib64  sbin     src
[root@h132 local]# tar zxvf jdk-7u79-linux-x64.tar.gz 
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

2.2 Ambari和HDP下载配置

本文档部署所用的软件为: 
1. ambari-2.1.0-centos7.tar.gz 
2. HDP-2.3.0.0-centos7-rpm.tar.gz 
3. HDP-UTILS-1.1.0.20-centos7.tar.gz 
手动下载所需的上述软件;

将下载的软件放到部署ambari的机器的/var/www/html目录下(该机器必须先安装httpd服务,并且启动httpd服务),然后解压,操作如下所示:

[root@h132 ~]# yum install httpd
[root@h132 ~]# service httpd start

 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

在改机器上添加/etc/yum.repo.d/ambari.repo文件,它的内容如下所示,其中的192.168.1.132的ip地址要换成部署ambari那台机器的ip:

[ambari-2.x]
name=ambari 2.x
baseurl=http://192.168.230.132/ambari/centos7/2.x/updates/2.1.0
gpgcheck=1
gpgkey=http://192.168.230.132/ambari/centos7/2.x/updates/2.1.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[Updates-ambari-2.1.0]

name=ambari-2.1.0 - Updates

baseurl=http://192.168.230.132/ambari/centos7/2.x/updates/2.1.0

gpgcheck=1

gpgkey=http://192.168.230.132/ambari/centos7/2.x/updates/2.1.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在改机器上添加/etc/yum.repo.d/hdp.repo文件,它的内容如下所示,其中的192.168.1.132的ip地址要换成部署ambari那台机器的ip:

[HDP-2.3.0.0]
name=HDP Version - HDP-2.3.0.0
baseurl=http://192.168.230.132/HDP/centos7/2.x/updates/2.3.0.0
gpgcheck=1
gpgkey=http://192.168.230.132/HDP/centos7/2.x/updates/2.3.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1


[HDP-UTILS-1.1.0.20]
name=HDP Utils Version - HDP-UTILS-1.1.0.20
baseurl=http://192.168.230.132/HDP-UTILS-1.1.0.20/repos/centos6
gpgcheck=1
gpgkey=http://192.168.230.132/centos7/2.x/updates/2.3.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

然后将配置好的/ambari.repo 和hdp.repo文件复制到集群中的其他节点,操作如下所示:

[root@h132 yum.repos.d]# scp ambari.repo hdp.repo h133:/etc/yum.repos.d/
[root@h132 html]#  yum list | grep spark
spark.noarch                              1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
spark-master.noarch                       1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
spark-python.noarch                       1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
spark-worker.noarch                       1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
spark_2_3_0_0_2557.noarch                 1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
spark_2_3_0_0_2557-master.noarch          1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
spark_2_3_0_0_2557-python.noarch          1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
spark_2_3_0_0_2557-worker.noarch          1.3.1.2.3.0.0-2557.el6     HDP-2.3.0.0
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.3 Ambari安装部署

在安装ambari的机器上执行yum install ambari-server命令.

没有报错的话,ambari-server安装成功,接下来执行ambari-server setup -j /usr/local/jdk1.7.0_79命令,启动-j后面的操作指定jdk安装的位置。启动过程所有选择都选n.

接下来用ambari-server start命令启动ambari-server,用ambari-server stop命令关闭ambari-server,用ambari-server status命令查看ambari-server的启动状态。如下,表示启动成功:

[root@h132 yum.repos.d]# ambari-server status
Using python  /usr/bin/python2.7
Ambari-server status
Ambari Server running
Found Ambari Server PID: 10425 at: /var/run/ambari-server/ambari-server.pid
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

2.4 HDP安装部署

Ambari-server启动成功后,可以通过http://192.168.230.132:8080访问,用户名和密码都是admin,访问界面如下所示 
这里写图片描述

用admin登录后,点击按钮Launch install Wizard,接下来可以安装hdp,首先命名集群 
第一步,操作如下所示: 
这里写图片描述

第二步,选择一个 Stack,这个 Stack 相当于一个 Hadoop 生态圈软件的集合。Stack 的版本越高,里面的软件版本也就越高。这里我们选择 HDP2.3,里面的对应的 Hadoop 版本为 2.6.x。 
这里写图片描述
第三步,指定 Agent 机器(如果配置了域,必须包含完整域名,例如本文环境的域为 h133.hdp.ap),这些机器会被安装 Hadoop 等软件包。还记得在安装章节中提到的 SSH 无密码登陆吗,这里需要指定当时在 Ambari Server 机器生成的私钥(ssh-keygen 生成的,公钥已经拷贝到 Ambari Agent 的机器,具体的 SSH 无密码登录配置,可以在网上很容易找到配置方法,不在此赘述)。另外不要选择“Perform manual registration on hosts and do not use SSH“。因为我们需要 Ambari Server 自动去安装 Ambari Agent。点击“选择文件”按钮,找到部署ambari机器上的“~/.ssh/id_rsa”文件,或者将该文件的内容复制到对应的方框中,然后点击“Register and Confirm”按钮。具体参见下图示例。 
这里写图片描述
第四步,Ambari Server 会自动安装 Ambari Agent 到刚才指定的机器列表。安装完成后,Agent 会向 Ambari Server 注册。成功注册后,就可以继续 Next 到下一步。 
这里写图片描述
如果有问题会提示 
点击查看详细 
这里写图片描述
第五步,这里我们终于看到跟 Hadoop 有关的名词了。在这一步,我们需要选择要安装的软件名称。本文环境选择了 HDFS,YARN + MapReduce2,Zoopkeeper,Storm 以及 Spark。选的越多,就会需要越多的机器内存。选择之后就可以继续下一步了。这里需要注意某些 Service 是有依赖关系的。如果您选了一个需要依赖其他 Service 的一个 Service,Ambari 会提醒安装对应依赖的 Service。 
这里写图片描述
第六步和第七步,分别是选择安装软件所指定的 Master 机器和 Slave 机器,以及 Client 机器。这里使用默认选择即可(真正在生产环境中,需要根据具体的机器配置选择)。 
这里写图片描述
第八步,就是 Service 的配置。绝大部分配置已经有默认值,不需要修改。初学者,如果不需要进行调优是可以直接使用默认配置的。有些 Service 会有一些必须的手工配置项,则必须手动输入,才可以下一步。本文环境直接使用默认配置。 
这里写图片描述
第九步,Ambari 会总结一个安装列表,供用户审阅。这里没问题,就直接下一步。

第十步,Ambari 会开始安装选择的 Service 到 Ambari Agent 的机器。这里可能需要等好一会,因为都是在线安装。安装完成之后,Ambari 就会启动这些 Service。 
这里写图片描述
安装完成之后,就可以查看 Ambari 的 Dashboard 了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值