|
上一次在一台服务器成功完成了Linux Cent OS 5.0下 Hadoop伪分布式的安装。本次用3台服务器进行进一步测试,其中一台服务器做为master,namenode,jobtracker,其它两台做slave,datanode,tasktracker。
此次环境搭建的方法与伪分布式基本一致,有几处不同:1. master namenode的/usr/local/hadoop/hadoop-0.20.2/conf目录下编辑slaves文件,加入两个datanode节点的ip;2. master 与slave1、slave2之间建立ssh无密码登录:首先在这三台服务器上用root 账户登录,在家目录下执行如下命令[root@master ~]# ssh-keygen -t rsa 自动在.ssh目录下生成私钥> 其它的配置都无需做太多修改,在master namenode上搭建好环境后,可以将hadoop-0.20.2文件夹全部copy到slave1和slave2 的 /usr/local/hadoop/目录下。
全部完成后,格式化文件系统 [root@master bin]# hadoop namenode -format,并在master节点/usr/local/hadoop/hadoop-0.20.2/bin启动进程start-all.sh。这里出现了两个小问题:1. 就是进程启动后不久,50070端口会自动关闭,且namenode进程也会关闭;2.在slave1和slave2上jps查看进程,datanode节点无法正常启动。多次尝试无果,咨询了博友峥狼,在此要感谢博友峥狼的无私帮助。
下面说下这两个小问题的具体解决方法:1. 在master节点/usr/local/hadoop/hadoop-0.20.2/logs目录下查看了一下namenode的日志,发现报错17:14:43,330 ERROR
org.apache.hadoop.hdfs.server.namenode.NameNode: java.io.IOException:
Incomplete HDFS URI, no host: hdfs://master_namenode:54310。按照峥狼说的方法,将原服务器名称master_namenode去掉下划线,统一改为纯字母。再重新格式化文件系统,重启进程,namenode正常启动。 2 . 关于slave节点datanode进程无法启动的问题,和伪分布式采用的解决方法一样,将/usr/local/hadoop/hdfs/data目录下的文件全部清空。再在master节点格式化文件系统,重启进程。在Web界面登录,可正常访问Hadoop运行界面。
|
|
|