请先搭建[伪分布式]
1、克隆虚拟机
关闭要克隆的虚拟机(否则无法进行克隆操作)
克隆两台机器
选中要克隆的虚拟机->管理->克隆->下一步->下一步->创建完成克隆->下一步->起虚拟机名字->完成
2、修改主机名
$ sudo vi /etc/sysconfig/network
修改hostname
hostname=slave1 -------修改主机名为slave1(另一个虚拟机slave2)
3、修改ip地址
$ sudo vi /etc/udev/rules.d/70-persistent-net.rules
将eth0那行删去,下面的eth1改为eth0
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR修改为70-persistent-net.rules中的原来eth1的MAC地址
IPADDR=192.168.198.105--------换一个ip(与master不同,即可。slave1:105;slave2:106)
配置结束后重启网络
$ sudo service network restart
如果重启网络无效则重启机器
$ reboot
4、修改ip和主机映射
$ sudo vi /etc/hosts
在文件末添加(中间用空格隔开,三个虚拟机都得改)
192.168.198.104 master
192.168.198.105 slave1
192.168.198.106 slave2
5、验证ssh
首先可以尝试在各虚拟机中ssh登录其他的虚拟机
若无法无密登录,请做以下几步操作(以master无密登录slave1为例):
- 将slave1的公钥文件发送给master
$ scp ~/.ssh/id_rsa.pub michael@master:~/.ssh/ id_rsa_slave1.pub
- 将slave1的公钥文件内容追加到master的authorized_keys文件
$ cat id_rsa_slave1.pub >> authorized_keys
- 结果验证
$ ssh master
6、配置hadoop配置文件
配置core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<!--其他临时目录的基础,hadoop系统临时目录(格式化后的namenode和datanode)-->
<name>hadoop.tmp.dir</name>
<value>/home/michael/soft/tmp</value>
</property>
配置hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
配置yarn-site.xml
<property>
<!--nodemanager运行的附加服务列表-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!--指定resourcemanager所在主机-->
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
配置mapred-site.xml
<property>
<!--指定mr任务在哪个上面运行(local、经典和yarn)-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
配置slaves
master
slave1
slave2
表示在上述三个节点启动datanode
接下来我们有两个选择1.在另外两个虚拟机上进行同样的配置。2.scp命令发送给另外两个虚拟机
我选择第二种,直接将整个配置文件所在的文件夹发送给另外两个虚拟机
$ scp -r ~/soft/hadoop/etc/hadoop michael@slave1:~/soft/hadoop/etc/
$ scp -r ~/soft/hadoop/etc/hadoop michael@slave2:~/soft/hadoop/etc/
7、初始化hdfs
-
删除各个节点的原hadoop.tmp.dir文件夹下的所有文件
$ rm ~/soft/tmp/* -
格式化namenode
最好在master上进行,成功一次就好。若重复操作,请进行操作1后再格式化一次
$ hdfs namenode -format -
启动集群:
$ start-all.sh
或 $ start-dfs.sh 和$ start-yarn.sh -
查看进程
使用命令Jps 查看三台虚拟主机的hadoop相关进程
[michael@Master hadoop]$ jps --------------------master五个进程
10020 Jps
9608 SecondaryNameNode
9364 ResourceManager
9071 NodeManager
9497 NameNode
9696 DataNode
[michael@slave1 hadoop]$ jps --------------------slave1三个进程
8721 NodeManager
8709 Jps
7661 DataNode
[michael@slave2 hadoop]$ jps --------------------slave2三个进程
5066 NodeManager
5125 DataNode
5334 Jps
- Web访问网页
192.168.198.104:50070
192.168.198.104:8088
若都是三个活跃节点,恭喜你,配置成功
若想使用Windows系统的浏览器访问,请关闭虚拟机的防火墙
$ sudo service iptables stop
$ sudo service ip6tables stop
这个命令可以临时关闭防火墙
$ sudo chkconfig iptables off
$ sudo chkconfig ip6tables off
这个命令可以永久关闭防火墙
- 关闭集群:
$ stop-all.sh
或 $ stop-dfs.sh 和$ stop-yarn.sh