Ambari安装前准备
(一)机器准备
192.168.80.144 ambari01 (部署Ambari-server和Mirror server) (分配1G,我这里只是体验过程,当然你可以分配更多或更小)
192.168.80.145 ambari02 (部署Agent) (分配1G,我这里只是体验过程,当然你可以分配更多或更小)
192.168.80.146 ambari03 (部署Agent) (分配1G,我这里只是体验过程,当然你可以分配更多或更小)
192.168.80.147 ambari04 (部署Agent) (分配1G,我这里只是体验过程,当然你可以分配更多或更小)
![]()
说白了,就是在ambari01上安装了ambari。
就是在ambari02上安装了hdp单节点集群。
就是在ambari02、ambari03和ambari04上安装了hdp的3节点集群。
(二)机器的部署配置
这里我采用克隆的方式,当然大家也可以单独搭建linux虚拟机。
![]()
![]()
![]()
![]()
![]()
(1)修改主机名
现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。当然我也可以输入命令来查看一下主机名,我们输入hostname,我们发现主机名就是ambari01,那么接下来我们就来修改一下主机名。
常见的有三种方法,一种是临时性的修改,但是当机器重启之后就会恢复原来的值,比如我们试一下。
![]()
还有一种方法就是永久修改,我们直接修改配置文件,我们直接修改/etc/sysconfig/network
![]()
实际上还有一种方法,修改/etc/hosts,他对网络中的主机名起作用,但是对系统本身(也就是本机)不起作用。他和第一种的效果是一样的。实际上我们一般用这个来配置主机名和IP之间的对应关系。
我这里采用第二种方法。改完之后没有变化,我们使用reboot命令重启一下机器就可以了。
(2)Linux虚拟机的网络配置和系统配置
我这里,仅拿ambari01来说,其他的ambari02、ambari03和ambari04是一样的。
(1)ping回环地址:能ping通,说明虚拟机的网络协议是好的。
![]()
(2)ping网关
点击“编辑”——》“虚拟网络编辑器”
![]()
但是这里边要注意一个问题,因为我们是克隆的。所以我们还要改一下MAC地址(就是我们硬件的地址,用来定义网络设备的位置),因为我们新的MAC地址和我们网卡配置里的MAC地址不一致,所以会导致网络连接不上。
所以我们先来查看一下我们新的MAC地址
我们输入vi /etc/udev/rules.d/70-persistent-net.rules(如果你是完全克隆,这个文件里应该包含eth0和eth1,我们将eth0配置删除,只保留eth1,记录该配置对应的MAC地址,并将eth1改名为eth0
![]()
接下来修改网卡vi /etc/sysconfig/network-scripts/ifcfg-eth0
你要是新搭建的Linux虚拟机的时候只需要把ONBOOT 的no改为yes就行,(开启我们的网卡,我们才能够看到我们的IP地址,BOOTPROTO=dhcp,指定获取IP的方法,dhcp(动态主机配置协议)还有一种是static ,静态的)
改回dhcp之后要重启一下,否则还是查看不到IP地址。(或者用service network restart命令)
OK,前面的修改完之后,下面我们就输入ifconfig来查看一下IP,然后我们ping IP
![]()
接下来我们再来ping www.baidu.com
![]()
OK,都能ping通,这就说明我们已经和外部网络打通了。
(3)X-shell远程连接
![]()
(4)用户设置:hadoop用户
我这里,是新建的hadoop用户。
![]()
现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
(5)为hadoop用户设置sudo权限
在root用户下,输入visudo打开文件
在文件末尾(按快捷键,Shift + g)添加hadoop ALL=(ALL) NOPASSWD:ALL
![]()
![]()
![]()
![]()
现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
(6)配置静态IP
现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
![]()
![]()
(7)查看并关闭防火墙
先查看一下防火墙状态
如果防火墙在运行,就关闭,也有两种方法。
一种是临时关闭
一种是永久关闭
这里我采用永久性关闭。
![]()
同理,现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
(8)关闭SELINUX
sudo vi /etc/selinux/config
把SELINUX改为disabled
然后重启reboot。
![]()
现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
(9)相关服务的安装
如果没有安装的话可以使用下面的命令安装一下。
[root@ambari01 hadoop]# yum -y install lrzsz
[root@ambari01 hadoop]# yum install -y openssh-clients
![]()
![]()
现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
(10)时钟同步
![]()
[root@ambari01 hadoop]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite `/etc/localtime'? y
[root@ambari01 hadoop]# yum -y install ntp
![]()
[root@ambari01 hadoop]# cd /usr/share/zoneinfo/Asia/
[root@ambari01 Asia]# ntpdate pool.ntp.org
30 Mar 16:06:11 ntpdate[3091]: step time server 101.6.6.172 offset -25.827716 sec
[root@ambari01 Asia]# date
Thu Mar 30 16:06:19 CST 2017
[root@ambari01 Asia]#
现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
(11)修改hosts文件
vi /etc/hosts
在里面添加主机名和IP之间的对应关系
![]()
192.168.80.144 ambari01
192.168.80.145 ambari02
192.168.80.146 ambari03
192.168.80.147 ambari04
(注意,图里有错误,按这里是对的)
注意:上面的所有步骤要在准备的四台机器上都进行操作
(12)配置ssh免密码登录
关于这一步,请移步,先看看再说,细加小心。
这里我以ambari01为例来配置ssh。拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
![]()
![]()
[root@ambari01~]# su hadoop //切换到hadoop用户下
[hadoop@ambari01 root]$ cd //切换到hadoop用户目录
[hadoop@ambari01 ~]$ mkdir .ssh
[hadoop@ambari01 ~]$ ssh-keygen -t rsa //执行命令一路回车,生成秘钥
[hadoop@ambari01 ~]$cd .ssh
[hadoop@ambari01 .ssh]$ ls
id_rsa id_rsa.pub
[hadoop@ambari01.ssh]$ cat id_rsa.pub >> authorized_keys //将公钥保存到authorized_keys认证文件中
[hadoop@ambari01.ssh]$ ls
authorized_keys id_rsa id_rsa.pub
[hadoop@ambari01 .ssh]$ cd ..
[hadoop@ambari01 ~]$ chmod 700 .ssh
[hadoop@ambari01 ~]$ chmod 600 .ssh/*
[hadoop@ambari01 ~]$ ssh ambari01//第一次执行需要输入yes
[hadoop@ambari01 ~]$ ssh ambari01//第二次以后就可以直接访问
[hadoop@ambari01 ~]$ ssh ambari01//第二次以后就可以直接访问
![]()
![]()
![]()
![]()
将所有节点(ambari02、ambari03和ambari04)中的共钥id_ras.pub拷贝到ambari01中的authorized_keys文件中。
![]()
[hadoop@ambari02 ~]$ cat ~/.ssh/id_rsa.pub | ssh hadoop@ambari01 'cat >> ~/.ssh/authorized_keys'
The authenticity of host 'ambari01 (192.168.80.144)' can't be established.
RSA key fingerprint is a8:ec:04:30:d5:9c:d2:df:cd:b7:de:58:26:70:d7:26.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ambari01,192.168.80.144' (RSA) to the list of known hosts.
hadoop@ambari01's password:
[hadoop@ambari02 ~]$
![]()
[hadoop@ambari03 ~]$ cat ~/.ssh/id_rsa.pub | ssh hadoop@ambari01 'cat >> ~/.ssh/authorized_keys'
The authenticity of host 'ambari01 (192.168.80.144)' can't be established.
RSA key fingerprint is a8:ec:04:30:d5:9c:d2:df:cd:b7:de:58:26:70:d7:26.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ambari01,192.168.80.144' (RSA) to the list of known hosts.
hadoop@ambari01's password:
[hadoop@ambari03 ~]$
![]()
[hadoop@ambari04 ~]$ cat ~/.ssh/id_rsa.pub | ssh hadoop@ambari01 'cat >> ~/.ssh/authorized_keys'
The authenticity of host 'ambari01 (192.168.80.144)' can't be established.
RSA key fingerprint is a8:ec:04:30:d5:9c:d2:df:cd:b7:de:58:26:70:d7:26.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ambari01,192.168.80.144' (RSA) to the list of known hosts.
hadoop@ambari01's password:
[hadoop@ambari04 ~]$
得到,
![]()
然后将中ambari01的authorized_keys文件分发到所有节点上面。
![]()
[hadoop@ambari01 .ssh]$ scp -r authorized_keys hadoop@ambari02:~/.ssh/
The authenticity of host 'ambari02 (192.168.80.145)' can't be established.
RSA key fingerprint is e7:b4:58:e7:28:13:0c:2d:15:c5:fb:7c:2f:b3:b7:b7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ambari02,192.168.80.145' (RSA) to the list of known hosts.
hadoop@ambari02's password:
authorized_keys 100% 1588 1.6KB/s 00:00
[hadoop@ambari01 .ssh]$ scp -r authorized_keys hadoop@ambari03:~/.ssh/
The authenticity of host 'ambari03 (192.168.80.146)' can't be established.
RSA key fingerprint is f5:17:e3:ac:26:53:74:4f:7e:d4:d2:ed:2a:49:4b:d2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ambari03,192.168.80.146' (RSA) to the list of known hosts.
hadoop@ambari03's password:
authorized_keys 100% 1588 1.6KB/s 00:00
[hadoop@ambari01 .ssh]$ scp -r authorized_keys hadoop@ambari04:~/.ssh/
The authenticity of host 'ambari04 (192.168.80.147)' can't be established.
RSA key fingerprint is 7e:87:00:80:44:70:cd:83:e6:f3:dc:cb:21:76:23:07.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ambari04,192.168.80.147' (RSA) to the list of known hosts.
hadoop@ambari04's password:
authorized_keys 100% 1588 1.6KB/s 00:00
[hadoop@ambari01 .ssh]$
大家通过ssh 相互访问,如果都能无密码访问,代表ssh配置成功。这里很简单,我就不多赘述了。
(13)JDK的安装(建议1.8)
用文件上传工具FileZila把jdk1.8的tar包上传到我们指定的软件安装目录下(比如:/home/hadoop/app或者/usr/local/jdk),或者使用rz命令上传也行,但是要切换到root用户下,或者在hadoop用户下使用sudo rz
jdk-8u60-linux-x64.tar.gz
注意,先记得。
![]()
[root@ambari01 local]# mkdir jdk
[root@ambari01 local]# chown -R hadoop:hadoop jdk
![]()
[hadoop@ambari01 jdk]$ ll
total 176992
-rw-r--r--. 1 hadoop hadoop 181238643 Sep 3 2016 jdk-8u60-linux-x64.tar.gz
[hadoop@ambari01 jdk]$ tar -zxvf jdk-8u60-linux-x64.tar.gz
解压jdk
![]()
删除jdk压缩包,并赋予用户和用户组。
![]()
[hadoop@ambari01 jdk]$ rm jdk-8u60-linux-x64.tar.gz
[hadoop@ambari01 jdk]$ ll
total 4
drwxr-xr-x. 8 hadoop hadoop 4096 Aug 5 2015 jdk1.8.0_60
[hadoop@ambari01 jdk]$
配置jdk环境变量并使用source命令环境变量生效
![]()
![]()
#java
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_60
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
使用java -version命令查看JDK是否安装成功
![]()
[hadoop@ambari01 jdk]$ su root
Password:
[root@ambari01 jdk]# source /etc/profile
[root@ambari01 jdk]# su hadoop
[hadoop@ambari01 jdk]$ clear
[hadoop@ambari01 jdk]$ pwd
/usr/local/jdk
[hadoop@ambari01 jdk]$ ll
total 4
drwxr-xr-x. 8 hadoop hadoop 4096 Aug 5 2015 jdk1.8.0_60
[hadoop@ambari01 jdk]$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
[hadoop@ambari01 jdk]$
注意上面操作要在所有节点都执行
OK,到此为止我们的准备工作基本就都做好了,接下来我们就先来部署本地库,就是部署一个镜像服务器。
本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6629235.html,如需转载请自行联系原作者