在低配置虚拟机环境下测试安装hadoop集群环境。
1、集群实现准备
1.1 集群实现思路
1.2 虚拟机配置
建议配置:1G内存,2个CPU
由于测试机器配置有限,实际设置4台虚拟机,每台分配512M内存,1个CPU
1.3 集群节点分配
为避免单点故障,NameNode 、ResourceManager均配置热备节点
Park01
Zookeeper
NameNode (active)
ResourceManager (active)
Park02
Zookeeper
NameNode (standby)
Park03
Zookeeper
ResourceManager (standby)
Park04
DataNode
NodeManager
JournalNode
Park05
DataNode
NodeManager
JournalNode
2、具体安装步骤
2.1 克隆5台虚拟机,做好下列步骤
1、安装好jdk,版本:jdk1.8.0_65
2、lrzsz:方便从本机上传软件到虚拟机
3、配置固定ip:避免自动获取ip,在虚拟机重启后分配不同的ip地址
192.168.226.151
192.168.226.152
192.168.226.153
192.168.226.154
192.168.226.155
4、远程客户端配置对应的连接,可用scrt、xshell等
2.2 永久关闭每台机器的防火墙
service iptables stop
chkconfig iptables off(重启后有效)
2.3 设置每台机器的主机名和host文件
NETWORKING=yes
HOSTNAME=hadoop01
NETWORKING=yes
HOSTNAME=hadoop02
NETWORKING=yes
HOSTNAME=hadoop03
NETWORKING=yes
HOSTNAME=hadoop04
NETWORKING=yes
HOSTNAME=hadoop04
[root@hadoop05 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop04
127.0.0.1 localhost
::1 localhost
192.168.226.151 hadoop01
192.168.226.152 hadoop02
192.168.226.153 hadoop03
192.168.226.154 hadoop04
192.168.226.155 hadoop05
2.4 每台机器配置ssh免秘钥登录
例如:hadoop01上执行(其他机器相同操作)
ssh-keygen
ssh-copy-id -i root@hadoop01 (分别发送到4台节点上)
2.5 在hadoop01、hadoop02、hadoop03上安装zookeeper及配置
1、上传并解压zookeeper, zookeeper-3.4.7.tar.gz2、在conf目录下拷贝配置文件
[root@hadoop01 conf]# cp zoo_sample.cfg zoo.cfg
3、修改配置文件zoo.cfg,设置以下内容:
dataDir=/usr/soft/zookeeper-3.4.7/tmp
server.1=192.168.226.151:2888:3888
server.2=192.168.226.152:2888:3888
server.3=192.168.226.153:2888:3888
4、创建tmp目录,并在其下设置myid文件
创建tmp目录
/usr/soft/zookeeper-3.4.7/tmp
设置myid文件内容如下:
1
5、将zookeeper程序文件打包,并scp到另外两台机器(hadoop02、hadoop03)的/usr/soft目录下
[root@hadoop01 soft]# tar -zcvf zookeeper-3.4.7.tar.gz zookeeper-3.4.7
[root@hadoop01 soft]# scp zookeeper-3.4.7.tar.gz root@hadoop02:/usr/soft
6、在hadoop02、hadoop03下的/usr/soft目录下解压,并修改myid文件内容,分别为2、3
2.6 在hadoop01上安装及配置hadoop程序
1、上传hadoop文件及解压,hadoop-2.7.1.tar.gz。配置文件路径,hadoop目录下的etc/hadoop目录
2、配置hadoop-env.sh,设置jdk及hadoop配置文件目录
export JAVA_HOME=/usr/soft/jdk1.8.0_65
export HADOOP_CONF_DIR=/usr/soft/hadoop-2.7.1/etc/hadoop
3、配置core-site.xml
<configuration>
<!--用来指定hdfs的老大,ns为固定属性名,表示两个namenode-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/soft/hadoop-2.7.1/tmp</value>
</property>
<!--执行zookeeper地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property>
</configuration>
4、配置hadoop01节点的