hadoop集群环境安装过程及centos上网的解决办法

原文地址:http://www.cnblogs.com/HeroBeast/p/4962730.html
 

目标:做高可用,创建2个NameNode,做高可用,一个NameNode挂掉,另一个能够启动;一个运行Yarn,3台DataNode,3台Zookeeper集群,做高可用。

当kill掉hadoop01时候,dadoop02能够顶上来
 
在hadoop2中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。
这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态
 
 
资源下载:
hadoop2.7.1:
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz
zookeeper-3.4.6
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
jdk1.7.0_67,centos镜像,hadoop00.vmdk
 
1,安装虚拟机,我的版本是最新12
2,安装centos,有桌面版和小窗口版两种
3,让centos上网
4,克隆出六台centos系统,分别叫hadoop01--hadoop06
5,让6台机器都能上网:ping www.baidu.com
6,时间同步,ntp
7,6台机器的ip是静态的,主机名称是统一的,防火墙是关闭的,ipv6也是关闭的
8,安装jdk
9,ssh免密码设置登陆(hadoop01到hadoop01————hadoop6免密码登陆(测试ssh hadoop02)和hadoop02免密码登陆hadoop01)
10,安装zookeeper,4,5,6三台机器启动之后效果是一个状态是leader,另外两个是follower,并且关闭leader之后会有另外一个变成leader
11,hadoop安装(依赖jdk环境),which hadoop 显示hadoop的位置
12,hadoop的配置, 配置(6个)

hadoop-env.sh,core-site.xml,hdfs-site.xml,slaves,mapred-site.xml(里面有一个mapred-site.xml.example,重命名为mapred-site.xml),yarn-site.xml,

13,启动zookeeper服务
14,hadoop01启动journalnode
15,在hadoop01格式化hadoop01
16,格式化zk
17,启动hdfs
18,启动yarn
19,在windows下面配置hadoop主机名
 
当kill主name节点时候下一个会变成active状态
 
 
 
遇到的问题:
1,centos系统忘记root密码的解决办法:
2,centos联网问题(上不了网,不能同步时间)
设置静态ip的方法:
http://jingyan.baidu.com/article/90808022dc25a1fd91c80fa5.html
 
“虚拟机”-“设置”,网络适配器选为NAT
 
“编辑”-“虚拟网络编辑器”选中VMnet8,点选NAT(与虚拟机共享主机IP地址),把DHCP勾上(那两个框都勾上)。
点击“应用”。
 
开启宿主机(windows7)中的VMware DHCP Service 和VMware NAT Service服务。写个脚本省事儿。
 
net start "VMware DHCP Service"
net start "VMware NAT Service"
pause
 
再写个Linux脚本,:
service NetworkManager stop
service network restart
service NetworkManager start
 
 
弹出界面 eth0: 错误:激活连接失败:Device not managed by Network
 
解决方案:
1、#Remove Network Manager from startup Services.
 
chkconfig NetworkManager off
 
2、#Add Default Net Manager
 
chkconfig network on
 
3、#Stop NetworkManager first
 
service NetworkManager stop
 
4、#and then start Default Manager
 
service network start
 
5、#restart network
 
service network restart
 
 
device eth0 does not seem to be present, delaying initialization:解决方案
 
1、
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ifcfg-eth0的配置文件里保存了以前的MAC地址,就把这一行删除掉在重启网卡
 
2、
/etc/udev/rules.d/70-persistent-net.rules 删除后重启机器
因为这个文件绑定了网卡和mac地址,所以换了网卡以后MAC地址变了,所以不能正常启动,也可以直接编辑这个配置文件把里面的网卡和mac地址修改乘对应的,不过这样多麻烦,直接删除重启,它会自动生成个。
 
ifconfig-eth0配置:
DEVICE=etho
BOOTPROTO=dhcp
ONBOOT=yes
NM_CONTROLLED=yes
1
DEVICE=eth0
TYPE=Etherne
tUUID=58d64342-6bca-4156-8d4b-3bb092190644
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:15:5D:01:44:11
IPADDR=192.168.1.103
PREFIX=24
GATEWAY=192.168.1.251
DNS1=202.96.128.86
DNS2=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
 
改成:DEVICE=etho
BOOTPROTO=dhcp
ONBOOT=yes
NM_CONTROLLED=yes
 
2
/etc/udev/rules.d/70-persistent-net.rules 删除后重启机器
 
rm 70-persistent-net.rules
 
网卡mac地址:
00:0C:29:BA:5B:BE
 
除了uuid和ip,其他都一样
 
解释:
1、网卡对应的设备别名,如ifcfg-eth0的文件中它为eth02、网络类型:以太网
UUID含义是通用唯一识别码 (Universally Unique Identifier),在此可以忽略
3、ONBOOT=自动加载
NM_CONTROLLED及BOOTPROTO在此可以忽略
4、HWADDR=00:15:5D:01:44:11 网卡MAC地址(这个是我的,你别抄哦)
5、IPADDR=192.168.1.103 网络ip地址
6、PREFIX=24 子网掩码24位
7、GATEWAY=192.168.1.251  网关地址8、DNS1=10.203.104.41  主DNS地址
9、DNS1=10.203.104.41  备用DNS地址

 

克隆之后网络配置:

解决步骤:
第一步 删除文件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地址了,现在IP地址:192.168.8.102
我的eth0配置:
 
DEVICE=etho
IPADDR=192.168.8.101
HWADDR=00:0C:29:BA:5B:BE
NETMASK=255.255.255.0
GATEWAY=192.168.8.2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
 
centos上网的解决办法:
ifconfig eth0:查看是否存在ip地址,
如果存在,第一步 删除文件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地址了
 
如果存在,还是上不了网:
service NetworkManager stop
service network restart
service NetworkManager start
查看 /etc/udev/rules.d/70-persistent-net.rule文件中对应的是不是eth0,在最后一行,
 
 
从vmware workstation中克隆(clone)了一个redhat6.0的虚拟机,启动之后发现网卡没有启动。于是重启一下network服务,发现提示错误信息“Device eth0 does not seem to be present, delaying initialization.”
解决办法:删除 /etc/udev/rules.d/70-persistent-net.rules 后重启机器。70-persistent-net.rules这个文件确定了网卡与MAC地址的绑定,clone之后网卡的MAC地址发生了变化,所以导致系统认为网络设备不存在。
经过这样的处理后eth0还不能正常启动,需要将 /etc/udev/rules.d/70-persistent-net.rules 文件最后的修改"eth1"为"eth0",然后将/etc/sysconfig/network-scripts/ifcfg-eth0中的MAC地址修改为 /etc/udev/rules.d/70-persistent-net.rules文件中所记录的地址,再重启机器,eth0可以正常启动了。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2015-11-17 16:14  暗夜小精灵~~  阅读(282)  评论(0编辑  收藏  举报