CentOS 6.5+Ambari+HDP集群安装

1. 搭建一个测试集群,集群有4台机器,配置集群中每一台机器的/etc/hosts文件:

[root@nn . ssh]# cat /etc/ hosts
127.0. 0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::
1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.28. 3.40   nn  nn..plat
172.28. 3.41   dn1  dn0.hadoop.plat
172.28. 3.42   dn2  dn1.hadoop.plat
172.28. 3.43  dn3  dn2.hadoop.plat

2. 配置namenode到datanode ssh免密码登陆:

在nn上执行,ssh-keygen –t rsa

cd ~/.ssh

cat id_rsa.put >> authorized_keys

对集群中每一台data node执行:  ssh-copy-id root@dn1  ssh-copy-id root@dn2 ssh-copy-id root@dn13

这样就可以保证,nn节点可以免密码登陆到dn1, dn2, dn3

[root@nn . ssh]# ifconfig
eth0      Link encap:Ethernet  HWaddr
00 :1A:4A:C6:6B:A0 
          inet addr:
172.28. 3.40  Bcast: 172.28. 7.255  Mask: 255.255. 248.0
          inet6 addr: fe80::21a:4aff:fec6:6ba0
/ 64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:
1500  Metric: 1
          RX packets:
1064845 errors: 0 dropped: 0 overruns: 0 frame: 0
          TX packets:
557212 errors: 0 dropped: 0 overruns: 0 carrier: 0
          collisions:
0 txqueuelen: 1000
          RX bytes:
1578655986 ( 1.4 GiB)  TX bytes: 647178854 ( 617.1 MiB)

lo        Link encap:Local Loopback 
          inet addr:
127.0. 0.1  Mask: 255.0. 0.0
          inet6 addr: ::
1/ 128 Scope:Host
          UP LOOPBACK RUNNING  MTU:
16436  Metric: 1
          RX packets:
103276 errors: 0 dropped: 0 overruns: 0 frame: 0
          TX packets:
103276 errors: 0 dropped: 0 overruns: 0 carrier: 0
          collisions:
0 txqueuelen: 0
          RX bytes:
58108687 ( 55.4 MiB)  TX bytes: 58108687 ( 55.4 MiB)

[root@nn .
ssh]# cat /etc/ hosts
127.0. 0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::
1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.28. 3.40   nn  nn.hadoop.plat
172.28. 3.41   dn1  dn0.hadoop.plat
172.28. 3.42   dn2  dn1.hadoop.plat
172.28. 3.43   dn3  dn2.hadoop.plat
[root@nn .
ssh]# ssh dn1
SIOCADDRT: File exists

3. 关闭iptables

chkconfig iptables off

/etc/init.d/iptables stop

4. 关闭seLinux

查看selinux状态:

[root@localhost ~]# /usr/sbin/sestatus –v

/usr/sbin/setenforce 0 #使SELinux工作模式变成permissive模式
/usr/sbin/setenforce 1 #使SELinux工作模式变成enforcing模式

这样就可以实时控制SELinux的启用和不启用了。

三个参数介绍介绍

  • enforcing — The SELinux security policy is enforced.
  • permissive — The SELinux system prints warnings but does not enforce policy.
  • disabled — SELinux is fully disabled. SELinux hooks are disengaged from the kernel and the pseudo-file system is unregistered.

永久关闭SELinux

编辑/etc/selinux/config,找到SELINUX 行修改成为:SELINUX=disabled:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled

# SELINUXTYPE= can take one of these two values:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted 

如果重启系统,就会发现SELinux的状态变成disabled

CentOS 6.5+Ambari+HDP集群安装

5. 关闭linux内核huge_page:

Add the following lines in /etc/rc.local and reboot the server:
echo never > /sys/kernel/mm/_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

6. 安装java,配置JAVA_HOME

mkdir /usr/ java
cd
/usr/ java
rz
- be
/usr/java/jdk1. 7 .0_75
ln -s /usr/java/jdk1. 7.0_75 /usr/java/ default

vim
/etc/ profile

route add default gw
172.28. 0.1
export JAVA_HOME
=/usr/java/ default
export PATH
=$JAVA_HOME/bin:$PATH

编辑好/etc/profile,执行source /etc/profile使配置生效,保证每一台机器上的java版本都是一致的,并且JAVA_HOME环境变量是有效的:

CentOS 6.5+Ambari+HDP集群安装

7. 每台机器上安装ntpd

rpm -aq | grep ntpd
yum install ntpd
chkconfig ntpd on
service ntpd start

确保每台机器的ntpd服务都处于运行状态:

CentOS 6.5+Ambari+HDP集群安装

8. 确保机器上安装了openssh-server,并且升级openssl到最新:

rpm -qa | grep ssh
yum install openssh-server
service sshd restart
chkconfig sshd on

确保openssl最新:

yum install openssl-devel-1.0.1e-42.el6.x86_64
# CentOS- Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this
for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist
= does not work for you, as a fall back you can try the
# remarked out baseurl
= line instead.
#
#

[base]
name
=CentOS-$releasever - Base - 163 .com
baseurl
=http: // mirrors.163.com/centos/$releasever/os/$basearch/
#mirrorlist=http: // mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck= 1
gpgkey
=http: // mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name
=CentOS-$releasever - Updates - 163 .com
baseurl
=http: // mirrors.163.com/centos/$releasever/updates/$basearch/
#mirrorlist=http: // mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck= 1
gpgkey
=http: // mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name
=CentOS-$releasever - Extras - 163 .com
baseurl
=http: // mirrors.163.com/centos/$releasever/extras/$basearch/
#mirrorlist=http: // mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck= 1
gpgkey
=http: // mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name
=CentOS-$releasever - Plus - 163 .com
baseurl
=http: // mirrors.163.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=http: // mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck= 1
enabled
= 0
gpgkey
=http: // mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#contrib
- packages by Centos Users
[contrib]
name
=CentOS-$releasever - Contrib - 163 .com
baseurl
=http: // mirrors.163.com/centos/$releasever/contrib/$basearch/
#mirrorlist=http: // mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck= 1
enabled
= 0
gpgkey
=http: // mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

配置ambari的yum源,本配置源是部署在本地局域网中的一台apache服务器上的:

CentOS 6.5+Ambari+HDP集群安装

[root@hdp159 yum.repos.d]# cat ambari.repo
[Updates
-ambari- 2.0. 1 ]
name
=ambari- 2.0. 1 - Updates
baseurl
=http: // 172.28.4.159/ambari-test/centos6
gpgcheck= 1
gpgkey
=http: // 172.28.4.159/ambari-test/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled= 1
priority
= 1
[root@hdp159
yum.repos.d]#

CentOS 6.5+Ambari+HDP集群安装

将yum源配置好好了后,执行如下命令:

yum clean all
yum repolist

10. 在nn机器上,安装ambari-servier,执行如下命令,之所以加—nogpgcheck参数,是因为此处安装的是公司修改后的ambari,如果是安装原生的ambari,不用加该选项:

yum install --nogpgcheck ambari-server

11.配置和启动ambari-server, setup –j 配置ambari-server要使用的java环境:

ambari-server setup -j /usr/java/default
ambari-server start

12. 在浏览器中,输入nn:8080进入ambari的登陆页面,用户名和密码都是admin:

CentOS 6.5+Ambari+HDP集群安装

猜你喜欢

转载自www.linuxidc.com/Linux/2017-03/141297.htm