集群规划
目标:创建2个NameNode,做高可用,一个NameNode挂掉,另一个能够启动;一个运行Yarn,3台DataNode,3台Zookeeper集群,做高可用。
在hadoop2中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。
这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态
安装我都把hadoop和Zookeeper放到了/soft/下面;
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz
下面关于Hadoop的文章您也可能喜欢,不妨看看:
0、系统环境安装
操作系统CentOS6.5,64位操作系统,采用最小化安装,为了能够实现目标,采用VMware 虚拟机来搭建6台服务器,所以建议服务器至少有8G内存;vmware使用的是VMware® Workstation
11.0.0 build-2305329;
网络配置如下:
虚拟机配置如下:
1、同步机器时间
yum install -y ntp #安装时间服务
ntpdate us.pool.ntp.org #同步时间
2、设置主机IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.8.101
NETMASK=255.255.255.0
GATEWAY=192.168.8.2
HWADDR=00:0C:29:56:63:A1
TYPE=Ethernet
UUID=ecb7f947-8a93-488c-a118-ffb011421cac
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
然后重启网络服务
service network restart
查看ip配置
ifconfig eth0
eth0 Link encap:EthernetHWaddr00:0C:29:6C:20:2B
inet addr:192.168.8.101Bcast:192.168.8.255Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe6c:202b/64Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1
RX packets:777 errors:0 dropped:0 overruns:0 frame:0
TX packets:316 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:70611(68.9KiB) TX bytes:49955(48.7KiB)
这就说明我们配置的IP地址是成功的
注意:
使用vmware克隆了5台虚拟机,配置网卡的时候出现报错:”Bring up interface eth0:Device eth0 does not seem to be present,delaying initialization”
解决步骤:
第一步
删除文件70-persistent-net.rules
rm -f /etc/udev/rules.d/70-persistent-net.rule
第二步
修改ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth0
删除或者注释MAC地址的配置
第三步:重启服务器
reboot
这样就可以设置新的ip地址了
3、设置主机名
把一台主机的名称改为:hadoop01
vi /etc/sysconfig/network
修改hostname就可以了:
NETWORKING=yes
HOSTNAME=hadoop01
NETWORKING_IPV6=no
要修改hosts
vi /etc/hosts
127.0.0.1 localhost
192.168.8.101 hadoop01 192.168.8.102 hadoop02 192.168.8.103 hadoop03 192.168.8.104 hadoop04 192.168.8.105 hadoop05 192.168.8.106 hadoop06
关闭ipv6
1、查看系统是否开启ipv6
a)通过网卡属性查看
命令:ifconfig
注释:有 “inet6 addr:。。。。。。。“ 的表示开启了ipv6功能
b)通过内核模块加载信息查看
命令:lsmod | grep ipv6
2、ipv6关闭方法
在/etc/modprobe.d/dist.conf结尾添加
alias net-pf-10 off
alias ipv6 off
可用vi等编辑器,也可以通过命令:
cat <<EOF>>/etc/modprobe.d/dist.conf
alias net-pf-10 off
alias ipv6 off
EOF
关闭防火墙
chkconfig iptables stop
chkconfig iptables off
改好后重启服务器:
reboot
hadoop02-hadoop06都需要设置
4、安装JDK
将压缩包解压到指定目录,然后编辑环境变量
vi /etc/proflie
在文件后面追加环境变量
export JAVA_HOME=/soft/jdk1.7.0_80/
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
刷新
source /etc/profile
可以用java -version测试安装是否正确