Ubuntu 11.04配置Hadoop0.20.2(2)

1、配置环境变量

1、用gedit打开etc下的profile文件

sudo gedit /etc/profile

2、在文件最后加入如下几行

export    CLASSPATH=.:/usr/Java/jdk1.6.0_26/lib:/usr/Java/jdk1.6.0_26/jre/lib:$CLASSPATH

export PATH=.:/usr/Java/jdk1.6.0_26/bin:/usr/Java/jdk1.6.0_26/jre/bin:/usr/local/Hadoop/bin:$PATH

(注1:以上所有jre项都不是必需的,可以不要

注2:在win中环境变量的值是以“;”号隔开的,而这里是“:”

注3:等号后面有个“.”别丢了,它表示当前目录)

3、保存后关闭gedit,并重启机器

sudo reboot

(注:网上也有说用source命令使环境变量立即生效的,但是本人在

实际操作时出了几次问题,所以建议重启机器最保险)

4、重启后用hadoop用户登录,验证配置是否成功

java -version  (此语句执行后如显示了jdk版本的话说明配置成功,如果没有则需检查profile中路径是否正确)

(注:最好是用hadoop用户登录,因为以下步骤都是以此为前提的)

注:上述使用gedit命令可能会出现GTK-Warning,这个不用管,重启终端就行了,不用再取安装GTK的程序,当然,如果系统没有GTK的环境时,可以使用:sudo apt-get install gnome-core-devel ,安装完成后,系统就有了GTK的工作环境了。

2、创建ssh-key

1、确保网络通畅,然后装载ssh服务

sudo apt-get install openssh-server

当然,这先要看自己系统是否已经有ssh服务,查看系统是否已经打开ssh服务,使用以下命令:sudo service ssh status,如果已经打开会出现一下内容,具体要看系统:ssh start/running,process 1836

(注:如果此语句执行失败且结果为“....包被占用”的话,那么应该是Ubuntu的“更新管理器”正在后台更新,你可以选择等待或者关闭更新,更新管理器在“系统”菜单中,具体位置忘了.....)

2、创建ssh-key,为rsa (网上文档中也有dsa的)

ssh-keygen -t rsa --P

(注1:此语句网上文档为 ssh-keygen -t rsa -P "" ,效果一样

注2:此语句执行后会要你填写key的保存位置,直接照着系统给出的那个默认位置填,也就是括号里的那个路径,如果全都照此文档操作的话那么括号中路径应该为"/home/hadoop/.ssh/id_rsa")

3、将此ssh-key添加到信任列表中,并启用此ssh-key

cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys

sudo /etc/init.d/ssh reload

注:第2、3步是可以成功配置ssh的,当然也可以用下面的方法:

由于Hadoop用ssh 作机器间的通信,因此先进行免密码登录机器的设定,
$ apt-get install ssh
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost
完成后请登入确认不用输入密码,(第一次登入需按enter键,第二次就可以直接登入到系统),以免日后输入密码key到手软。
~$ ssh localhost
~$ exit
~$ ssh localhost
~$ exit

3、配置hadoop

1、进入到hadoop目录下,配置conf目录下的hadoop-env.sh中的JAVA_HOME

cd /usr/local/hadoop

sudo gedit conf/hadoop-env.sh

(打开后在文档的上部某行有“#export JAVA_HOME=...”字样的地方,去掉“#”,然后在等号后面填写你的jdk路径,完全按此文档来的话应改为 "export JAVA_HOME=/usr/Java/jdk1.6.0_26" )


4. 伪分布式单机配置

conf/core-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="https://www.linuxidc.com/configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

conf/hdfs-site.xml:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="https://www.linuxidc.com/configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

conf/mapred-site.xml:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="https://www.linuxidc.com/configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

运行测试阶段:

1、格式化namenode (首次运行必需滴)

1、保证此时在hadoop目录下,如不在请先进入hadoop目录

cd /usr/local/hadoop

2、格式化namenode

hadoop namenode -format

2、启动hadoop

1、修改hadoop文件夹的权限,保证hadoop用户能正常访问其中的文件

sudo chown -hR hadoop /usr/local/hadoop

2、启动hadoop

bin/start-all.sh

3、验证hadoop是否正常启动

jps

(此语句执行后会列出已启动的东西NameNode,JobTracker,SecondaryNameNode...如果NameNode没有成功启动的话就要先执行"bin/stop-all.sh"停掉所有东西,然后重新格式化namenode,再启动)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/20c7b2c6452ba3e59fd4b9a9b9d48cd4.html