九、完全分布模式
1、配置各个机子的IP地址值:
在这里,一共设置了三个机子,unbuntunamenode、unbuntu1、unbuntu2
unbuntunamenode:192.168.122.136
unbuntu1配置:192.168.122.140
Unbuntu2配置:192.168.122.141
它们的子网掩码都为:255.255.255.0,网关为192.168.122.255。(注意,一旦修改了etho的IP,就无法连上外网)
2、配置NameNode和DataNode的hosts:(最好保持一致)
把unbuntunamenode作为NameNode,配置其/etc/hosts,需要在文件中添加集群中所有机器的IP地址机器对应的主机名
使用scp命令,将/etc/hosts拷贝到其他节点:
scp /etc/hosts ub1-deskop:/etc
scp /etc/hosts ub2-desktop:/etc
3、SSH配置,为了实现在机器之间执行指令时不需要输入密码:
1)在所有的机器上建立.ssh目录,执行:mkdir .ssh
2)在unbuntunamenode上生成密钥对,执行:ssh-keygen –t ras
一路enter,就会按照默认的选项将生成的密钥对保存在.ssh/id_rsa文件中
3)在unbuntunamenode上执行:
cd ~/.ssh
cp id_rsa.pub authorized_keys
scp authorized_keys ub1-desktop:/home/grid/.ssh
scp authorized_keys ub2-desktop:/home/grid/.ssh
4)进入所有机器的.ssh目录,改变authorized_keys文件的许可权限:
4、配置Hadoop:
在namenode机子上,确保hadoop已经安装
1)编辑core-site.xml、hdfs-site.xml和mapred -site.xml
2)、编辑conf/masters,修改为master的主机名,加入:192.168.122.136(或者ubn)
3)编辑conf/slaves,加入所有slaves的主机名,即ub1、ub2
192.168.122.140
192.168.122.141
4)把namenode的配置文件复制到其他机器上
scp –r hadoop2-0.20.2 ub1-desktop:/usr/
scp –r hadoop2-0.20.2 ub2-desktop:/usr/
5、Hadoop运行
格式化分布式文件系统:bin/hadoop namenode -format
启动Hadoop守护进程:bin/start-all.sh
并用jps命令检测启动情况:/usr/java/jdk1.6.0_26/bin/jps
6、测试wordcount案例
1)将本地的input文件夹复制到HDFS根目录下,重命名为in:
bin/hadoop dfs –put input in
2)运行案例:
bin/hadoop jar hadoop2-0.20.2-examples.jar wordcount in out
3)查看处理结果:
bin/hadoop dfs –cat out/*
4)停止Hadoop守护进程
bin/stop-all.sh
7、HDFS里的一些常用命令:
1)删除HDFS根目录下的文件:bin/hadoop dfs –rmr in
2)bin/hadoop dfsadmin –help 能列出当前所支持的所有命令
3)bin/hadoop dfsadmin –report查看namenode日志
4)关闭安全模式:
bin/hadoop dfsadmin –safemode leave
5)进入安全模式:
bin/hadoop dfsadmin –safemode enter
6)负载均衡:
bin/start-balancer.sh
7)基准测试:
bin/hadoop jar hadoop2-0.20.2-test.jar TestDFSIO –write –nrFile 20 –filezize 200