Hadoop分布式环境搭建
作者:gqk:
使用多个服务器访问hadoop的各个进程;
Hadoop分布式环境搭建准备工作:
克隆三个虚拟机:
机器规划:
更改两个机器的MAC的地址
更改网卡并配置:
1)修改网卡:克隆的机子网卡默认为eth1 改为eth0,,MAC改为本机的
vim /etc/udev/rules.d/70-persistent-net.rules
(注意:出现修改后 不管用的 )修改的时候注意etc0中的MAC和主机的保持一致
eth0配文件中的mac地址改成了ifocnfig中出来的mac地址,然后再次删除/etc/udev/rules.d/70-persistent-net.rules文件,重启机器,让他再次重新选择网卡,启动之后,查看了ifocnfig,这时候变成了eth0,
ntp时间服务器:同步三个服务器的时间
注:机器1当成时间服务器,机器2+3同步1的时间
机器1上配置ntp时间服务器 修改[root@hadoop1 /]# vim /etc/sysconfig/ntpd
修改:
去掉时间服务器
去掉注释修改网段:
修改或添加:
重启ntpd:service ntpd restart
启动成功后 执行命令 date 可以看到时间,此时时间你不正确 和本地不一样需要配置
配置本地时间:
在虚拟机2,和3上通过命令同步:
[root@hadoop2 /]# /usr/sbin/ntpdate hadoop1
可以添加定时器: [root@hadoop2 /]# crontab -e
同时在两台机器上编辑:每1分钟同步一次
0-59/10 * * * * /usr/sbin/ntpdate hadoop1
分布式环境搭建:
配置core-site.xml
配置hdfs-site.xml(在hadoop1上配置)存放在第三个服务器上
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop3:50090</value> </property> </configuration>
yarn-site.xml配置:
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop2</value> </property> </configuration>
vim slaves配置:从节点配置(3个都要配)
scp -r * root@hadoop3:/opt/module/hadoop-2.7.5/etc/hadoop 复制到 其它两台服务器
SSH 免秘钥链接:
生成秘钥:ssh-keygen -t rsa
生成秘钥后会在跟目录下生成一个隐藏文件:.ssh 通过cd ~/.ssh命令可以打开
将公钥复制到其它服务器上(本地也需要)
ssh-copy-id hadoop1/2/3
成功后可以直接输入ssh hadoop2直接链接不需要输入密码
在第二个服务器中配置公钥 和 复制到其它服务器上,同上
配置完成后在第一台机子上启动hdfs第二台机器上启动yarn
http://hadoop1:50070/dfshealth.html#tab-overview
http://hadoop2:8088/cluster
以上链接就可以访问