为了用Hadoop集群,我们选用了Ubuntu作为开发的平台,相应的就有一堆在Windows上不会出现的问题需要解决。印象最深刻的就是由于X11的问题,在Windows上用R画图是没问题的,但是换到了Ubuntu上就显示不出来,这个问题直到比赛当天都一直存在,Team Member一直为了这个问题在改,最终还是成功的解决了,在此也对他们表示感谢。
这篇文章就列一下当时配环境时候的一些步骤,方便后人在Ubuntu上搭环境。
JDK安装
- 下载jdk
- Tar –zxvf jdk路径
- 配置环境变量,java_home,path,classpath
Sudo chmod u+x /usr/lib/jvm/java/jdk1.6.0_12.bin
sudo /usr/lib/jvm/java/jdk1.6.0_12.bin
Hadoop安装
- 环境:ubuntu12.10、hadoop1.1.1、jdk1.7
- namenode:master(ip:10.1.151.55)
- datanode:slave1(ip:10.1.151.81)、slave2(ip:10.1.151.82)、slave3(ip:10.1.151.83)
- 配置步骤:
(1)配置NameNode和DataNode:
修改每台机器的/etc/hosts(包括namenode和datanode)
10.1.151.55 master
10.1.151.81 slave1
10.1.151.82 slave2
10.1.151.83 slave3
(2)在所有的机器上建立相同的用户
useradd bit
passwd bit
成功建立bit用户后,输入用户密码就是该用户密码
(3)SSH设置
使用bit用户登录
在所有机器/home/ bit下
mkdir.ssh
在namenode上生成密钥对
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
注意点:
- 不进行以下步骤SSH免密码登录设置会不成功
- .ssh目录要设成700 有执行权限
- authorized_keys要设成600 否则会出错
- 还有ssh 登陆要加入用户名的 比如ssh root@localhost
这时从master向其他机器发起SSH连接,只有第一次登录时需要输入密码,以后则不需要。
(5)在所有机器上安装配置Hadoop
首先在namenode上配置,配置后在分发到datanode上
在这里,下载hadoop-1.1.1.tar.gz,然后解压到/home/bit/下即可
tar -zxvf hadoop-1.1.1.tar.gz
接下来需要修改hadoop的conf文件夹下的配置信息:
修改hadoop-env.sh,加入如下语句,使得hadoop能够找到java的路径:
export JAVA_HOME=/home/bit/jvm/jdk1.7.0
修改core-site.xml,如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs:// master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<