在学习Hadoop的过程中,你可能会遇到Hadoop分布式集群配置问题,本节和大家一起学习一下Hadoop分布式集群配置方法,希望通过本节的介绍大家能够掌握其方法。
Hadoop分布式集群配置总结
假设用2台机器配置hadoop分布式集群,192.168.11.13为主服务器namenode,192.168.11.17为数据节点datanode
1.配置SSH的无密码公钥
192.168.11.13
用root登录
创建用户linleran:adduserlinleran
设置密码:passwdlinleran
切换用户:sulinleran
到用户linleran的目录(/home/linleran)新建文件件.ssh:mkdir.ssh
修改目录.ssh权限为:[linleran@centos~]$chmod755.ssh
配置SSH的无密码公钥,一路回车。
[linleran@centos~]$ssh-keygen-trsa
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/home/linleran/.ssh/id_rsa):
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/home/linleran/.ssh/id_rsa.
Yourpublickeyhasbeensavedin/home/linleran/.ssh/id_rsa.pub.
Thekeyfingerprintis:
df:99:37:84:a1:04:34:06:60:45:b9:ce:43:af:54:77linleran@centos.test
进入.ssh目录,将id_rsa.pub的内容复制到authorized_keys后面。
修改authorized_keys的权限为[linleran@centos.ssh]$chmod644authorized_keys。
192.168.11.17同样执行以内容,且将id_rsa.pub内容添加到192.168.11.13的authorized_keys后面,同时将192.168.11.13的id_rsa.pub内容添加过来,以确保2台机器相互可以ssh连接。Hadoop分布式集群配置时还要在主服务器安装hadoop。
2.在主服务器安装hadoop
解压tarzxvfhadoop-0.18.2.tar.gz
创建目录
/home/linleran/hadoop-0.18.2/hadoopfs/name
/home/linleran/hadoop-0.18.2/hadoopfs/data
/home/linleran/hadoop-0.18.2/tmp/
配置hadoop-env.sh设置jdk路径exportJAVA_HOME=/home/linleran/jdk1.5.0_15
配置conf/hadoop-site.xml
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://192.168.11.13:9000/</value>
- </property>
- <property>
- <name>mapred.job.tracker</name>
- <value>192.168.11.13:9001</value>
- </property>
- <property>
- <name>dfs.name.dir</name>
- <value>/home/linleran/hadoop-0.18.2/hadoopfs/name</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/home/linleran/hadoop-0.18.2/hadoopfs/data</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/home/linleran/hadoop-0.18.2/tmp/</value>
- </property>
- </configuration>
配置conf/masters
将主机ip添加192.168.11.13
配置conf/slaves
将datanodeIP添加192.168.11.17
将配置好的hadoop通过scp部署到节点。scp–r/home/linleran/hadoop-0.18.2192.168.11.17:/home/linleran/hadoop-0.18.2
3.Hadoop分布式集群配置时在主服务器启动
格式化一个新的分布式文件系统
bin/hadoopnamenode–format
启动服务
bin/start-all.sh
4.测试
测试分布式文件系统
mkdirtest-in
echo“helloword”>file1.txt
echo“hellohadoop”>file2.txt
bin/hadoopdfs–puttest-ininput
bin/hadoopjarhadoop-0.18.2-examples.jarwordcountinputoutput
bin/hadoopdfs–getoutputresult
catresult/*
5.Hadoop分布式集群配置过程中遇到的问题
SSH无密码访问不成功。.ssh目录需要755权限,authorized_keys需要644权限,否则一直提示输入密码。
Linux防火墙开着,hadoop需要开的端口需要添加,或者关掉防火墙。否则会出现节点服务器一直无法连上主服务器。节点服务器的日志不断的retry:
INFOorg.apache.hadoop.ipc.Client:Retryingconnecttoserver…
数据节点连不上主服务器还有可能是使用了机器名的缘故,还是使用IP地址比较稳妥。
分布式文件系统报错,java.lang.IllegalArgumentException:WrongFS:,hadoop-site.xml要配置正确,fs.default.name的value是hdfs://IP:端口/,mapred.job.tracker的value是IP:端口
【编辑推荐】
- HadoopStudio中实现MapReduce应用
- Hbase和Hadoop操作文件性能测试
- Hadoop创建Hbase表方法指导
- Hadoop 从Yahoo向Google的技术转折
- Hadoop初探