Hadoop集群配置全程跟踪报道

本节和大家学习一下Hadoop集群配置以及在配置过程中遇到的一些问题,相信通过本节的介绍大家对Hadoop的配置有新的认识,让我们一来学习Hadoop集群配置吧。

Hadoop集群配置

hadoop的单机配置在hadoop的文档中已经有了详细的介绍,当然,集群的配置也有详细描述(Hadoop的中文文档:http://www.hadoop.org.cn/document/cn/r0.18.2/)。但在集群配置中必然会遇到各种问题,下面我就描述下我配置Hadoop集群的过程和遇到的问题,其中解释不清楚或者不正确的地方,还请谅解。

一.Hadoop配置
p=vu<xXtD
首先,是准备工作,就是在各个节点安装相应的软件。
GU\}}j]

1.本次Hadoop集群配置中,使用VMware虚拟出三个虚拟机(Ubuntu8.04TL),三个节点的用户名都是hadoop,使用桥接,这样各节点跟主机使用相同的IP段,可以通过外界访问namenode。三个节点的主机名分别是一个namenode节点:NameNode(ip:125.216.227.**1),两个datanode节点:DataNode1(ip:125.216.227.**2)和DataNode2(125.216.227.**3)。然后在网络中配置好各节点的名称。
sHx>UvN6

2.本次Hadoop集群配置采用截至到现在最稳定的0.18版本的Hadoop,将Hadoop解压到Hadoop部署目录结构如下:/home/hadoop/HadoopInstall,所有的hadoop版本放在这个目录中。将hadoop0.18.0压缩包解压至HadoopInstall中,为了方便以后升级,建议建立一个链接指向要使用的hadoop版本,不妨设为hadoop:$ln-shadoop0.18.0hadoop
>Q+Bw"W<

3.在各节点安装好jdk和ssh,jdk需加入环境变量。因为在Hadoop启动以后,Namenode是通过SSH(SecureShell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。该认证对于hadoop的集群配置只需单向认证即可,方法如下:
(1)在namenode节点下通过如下命令:
$scpauthorized_keys(slaveip):/home/username/.ssh#把slave的授权文件拷贝到master3>Ts7wM
$catid_dsa.pub>>authorized_keys
$chmode644authorized_key

(2)在datanode节点下:&R:$h*Wt|
$chmode644authorized_key
V)CS,w

4.现在开始配置hadoop的conf目录下的配置文件:先配置环境配置文件:hadoop-env.sh,具体配置请查看Hadoop文档。在此贴出我的部分配置信息(其他默认)如下,以供参考:
2`qO'V3Q
#Thejavaimplementationtouse.Required.[hE09W
exportJAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.07e)kN%JqW
exportHADOOP_HOME=/home/hadoop/HadoopInstall/hadoop?z>7&
exportHADOOP_CONF_DIR=$HADOOP_HOME/conf5(0f"zY
exportHADOOP_PID_DIR=/home/hadoop/HadoopInstall/PID@~v|t{G
exportPATH=$PATH:$HADOOP_HOME/bind?G~k[C!a
#ExtraJavaCLASSPATHelements.Optional.m%Ah]x;
#exportHADOOP_CLASSPATH=

再配置hadoop-site.xml。具体配置同样查看文档,代码:
(1)NameNode的配置:
(2)DataNode的配置信息:
(3)配置slave和master文件,slave文件保存了datanode的ip信息,而master则保存了namenode的ip信息。
tHlKo0S$0
然后是查看Hadoop集群配置是否配置成功,并启动hadoop。

配置好后先在/home/hadoop/HadoopInstall下建立/tmp目录。然后在hadoop的bin目录下:
$jps
会返回该节点的配置信息,如下:
20198NameNode
20318SecondaryNameNode
20684Jps
20383JobTracker

同样,在datanode也会返回该datanode解嗲的信息:
14784TaskTracker
17044Jps
14683DataNode
CG!/Lbd

然后进入hadoop目录下:
$bin/hadoopnamenode-format#在NameNode格式化一个新的分布式文件系统thWQU"z4
$bin/start-dfs.sh#启动namenode上的hadoop

$bin/start-mapred.sh#启动JobTracker^MJTlRUb
$netstat-tnl#查看50070,54310,50090端口是否启动
@]$qJFXx


浏览NameNode和JobTracker的网络接口,它们的地址默认为:
NameNode-http://localhost:50070/
JobTracker-http://localhost:50030/

最后将配置好的Hadoop打包发送到各个slave:
xlQl1lOX
$cd/home/hadoop/HadopInstallHZ$q`e
$tar-cvfhadoop-0.18.0.tar.gzhadoop-0.18.0/0Y7b$~n'Y
$scp-rhadoop-0.18.0.tar.gzhadoop@slave1:/home/hadoop/HadopInstallL@>+iZSO
$scp-rhadoop-0.18.0.tar.gzhadoop@slave2:/home/hadoop/HadopInstall

二.Hadoop集群配置中遇到的问题

相关推荐