优秀博客
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虚拟机。
VMware workstation 11 的下载
VMWare Workstation 11的安装
CentOS 6.5的安装详解
CentOS 6.5安装之后的网络配置
CentOS 6.5静态IP的设置(NAT和桥接联网方式都适用)
CentOS常用命令、快照、克隆大揭秘
(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远程连接
Xmanager Enterprise *安装步骤
(4)用户设置:hadoop用户
新建用户组、用户、用户密码、删除用户组、用户(适合CentOS、Ubuntu)
我这里,是新建的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)查看并关闭防火墙
CentOS下的防火墙关闭
先查看一下防火墙状态
Service iptables status
如果防火墙在运行,就关闭,也有两种方法。
一种是临时关闭
service iptables stop
一种是永久关闭
chkconfig iptables off
这里我采用永久性关闭。
同理,现在的主机名是ambari01,拿这个来说,其他的ambari02、ambari03和ambari04是一样的。
(8)关闭SELINUX
hadoop 50070 无法访问问题解决汇总
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免密码登录
关于这一步,请移步,先看看再说,细加小心。
hadoop-2.6.0.tar.gz的集群搭建(5节点)
这里我以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
注意,先记得。
Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置
[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/ 和 http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/
详情请见:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获
对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071)