配置完成之后才想起来要写个总结,没有办法及时配图,下次配置的时候补上。
配置时参考了 http://blog.youkuaiyun.com/hguisu/article/details/7237395 很详细,怒赞加顶。
配置前需要确定本机的ip地址。本人是在ubuntu12.04下配置的,在12.10下配的时候,遇见了文件源数据不全,无法配置ssh的问题,希望有解决该问题的同学提供方法。
配置hadoop的Datanode大概分为3步,配置java,配置ssh,配置hadoop,三个情况。需要再次强调,本文只是针对在已有集群在添加datanode的情况,如果要从namenode开始配置需要参考上面提供的ip。
1.建立用户。
首先需要将namenode里的 /etc/hosts 添加datanode的名称和ip。然后拷贝到datanode下。
远程namenode ssh namenode@ip
scp /etc/hosts datanode@ip /etc/hosts
然后创建用户
sudo useradd -m username // username表示新创建的用户命 -m 表示创建用户并在/home下创建一个与用户命相同的文件夹
passwd username 然后就需要你写密码了
2.创建java环境
如果不知道linux软件包中带的java版本,可以先输入jps查看。
sudo apt-get install openjdk-6-java 这样安装的jdk会存在 /usr下
在之后配置hadoop时,java目录就是 /usr
当然,你也可以安装自己的jdk
3. 配置ssh
可以先尝试用一下命令 sudo apt-get install ssh
如果报找不到 ssh的错误,可以先 sudo apt-get install openssh-client ,然后再 sudo apt-get install openssh-server
之后再sudo apt-get install ssh.
配置完成后,需要将namenode的密匙拷贝到datanode上。
拷贝之前,先要在用户目录下执行 ssh-keygen -r rsa 然后一路回车
然后在namenode的/.ssh目录下将密匙拷贝 scp authorize-key datanode@ip /home/username/.ssh/
配置ssh完成
4.配置hadoop
尽量让自己的hadoop文件路径和namenode相同,这样需要配置改动的地方就会少了很多。
在namenode下,scp -r hadoop datanode@ip /home/username/
如果一切都相同,那么就都ok。本人的java环境和namenode的不同,然后就只修改了java路径。Hadoop的环境变量是在/conf/hadoop-env.sh下配置。
5.启动hadoop
bin/hadoop-daemon.sh start datanode
bin/hadoop-daemon.sh start tasktracer
若出现
15740 Jps
11383 DataNode
13632 TaskTracker
那么配置成功。
配置时的log文件存储在 hadoop/logs下,启动时的错误可以在这里看到。
本人在tasktracker时,出现的问题就是有存放mapper文件的文件夹已经存在,这个文件夹应该是需要在启动时自动生成,这个问题导致tasktracker无法启动。