搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个

Hadoop0.21.0源码流程分析

使用VMware安装Hadoop全过程 

先介绍下准备工作:

1:   Hadoop 0.20.2 (官网下载)

2:  VMware7 (官网下载)

3: jdk-6u20-linux (官网下载)  //我就是没从官网下最后就悲剧了。

4: Ubuntu 10.04 (ISO)

用户 :jackydai(192.168.118.128)    jacky(192.168.118.129)

jackydai 对应 namenode/JobTracker  jacky datanode/Tasttrack

晚上7点正式开伙。首先装VMware7.01。这个so easy!

因为班上同学有在虚拟机下装过ubuntu,所以安装简单还算简单,同学一手操办了。

附上分区建议:

硬盘15G分区如下:
1、boot 200M
2、swap 2G
3、home 7G
4、root 剩下的全部
结果20分钟安完了,结果同学说要更新,ubuntu更新管理一打开需要下载80多个文件,2个多小时。我忍了,看着10K-15K的速度。两个多小时后,终于完成了。 结果才发现,竟然还要安装一个ubuntu!。我又忍了。这次190K-210K. 总算老天开眼。(谁知后头.....)大概10点才把系统完全安完。

1:开始安装JDK。由于从没用过ubuntu 连安装文件都不会。不过还好班上强人多,马上请帮手,忙乎了半个小时。连JDK都没安好。同学有事先走了。马上再请一个来,结果10分钟后还是没成功。结果大胆猜测JDK文件原本就有错误。同学从官网上下了一个安了,好了。我滴个神.... 都12点了。才把JDK安好。我心都凉了。这件事情告诉我们,软件包要从官网下。当然是建立在免费软件基础上。

命令:

(1):$  chmod 777 ./home/jackydai/jdk-6u20-linux-i586-rpm.bin  //添加权限

(2):$ ./home/jackydai/jdk-6u20-linux-i586-rpm.bin  //安装JDK

(3):/etc/profile 添加如下代码: //设置环境变量

export JAVA_HOME="/usr/java/jdk1.6.0_20"
export PATH="$PATH : $JAVA_HOME/bin:$JAVA_HOME/jre/bin:"
export CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"

(4):souce /etc/profile     //使环境变量生效

(5):which java     //测试JDK安装是否成功  成功显示 /usr/java/jdk1.6.0_12/bin/java

2: 安装SSH ,实现SSH的无密码连接。

命令:

(1):$ sudo apt-get install ssh  //安装ssh

(2): ssh -keygen -t dsa   //生成密钥     文件如:id_dsa  id_dsa.pub

(3) cp id_dsa.pub anthorized_keys          //加入受信列表

(4) ssh localhost 或者 ssh jackydai     //成功就能无密码访问 这个是进行的本地测试、

这个弄完凌晨3点,悲剧--睡觉。

3:安装Hadoop:

第二天10点半起来,马上开始进行两个系统的无密码访问。一直整起3点无任何进展。期间ubuntu论坛发帖一次,百度知道发贴一次。ubuntu群发问5次。无一直接回答,悲剧--睡觉。 5点过起来,弄了1个小时还是没完成,算了直接安装hadoop。晚上12点结束时,才把Hadoop安装好,进行了伪节点模式的测试。睡觉。 第二天早上10点半开始又整,终于完成SSH无密码连接,但文件的目录又出错。5点解决目录问题,datanode启动又出问题,晚上7点解决全部问题。HOHO~~

命令:

(1):修改 etc/hosts

  192.168.118.128 jackydai   

  192.168.118.129 jacky

(2):tar -xzvf hadoop-0.20.0.tar.gz   //安装hadoop

(3):添加 hadoop-0.20.0/conf 下的 hadoop-env.sh文件  export JAVA_HOME=/usr/java/jdk1.6.0_20

(4):配置master jackydai  配置slaves  

(5):  修 改 core-site.xml

<property>
<name> fs.default.name </name>
<value>hdfs://jackydai:9000</value>
</property>

修改 mapred-site.xml

<property>
<name>mapred.job.tracker</name>
<value>jackydai:9001</value>
</property>

修改 hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>  
<name>hadoop.tmp.dir</name>  
<value>/home/jackydai/hadoop_tmp_dir/</value>  
</property>  

(6):bin/hadoop namenode -format //必需初始化  只需要namdnode

(7): bin/start-all.sh  //启动 在namenode

PS (这些才让我泪奔的地方):1:slaves       是jacky的ssh连接账户,虽然是jacky账户, 但ssh的连接账户可能不一样。这个今天下午才发现。

2:ssh的两机连接,有两种办法。从客户端上既jacky 使用      $ scp    /home/jacky/.ssh/id_dsa.pub  拷贝。

也可以直接用U盘拷过去,或者使用共享文件夹拷贝。

3: Hadoop 环境只需要 namenode 无密码到 datanode。 所以只需从服务器拷贝客户端

4:三个文件的设置、Hadoop的安装、hosts文件设置在两台电脑上的配置应该一样。

5:两个系统安装Hadoop的文件名应该一样既: /home/jackydai/hadoop-0.20.0 不然启动的时候没相应的目录

6:附上初始化成功和启动成功的截图(这个是我从资料上截得图)

初始化界面

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个

启动画面

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个

搭建好了,可以通过 :50070 查看namenode 状态

:50030  查看 JobTracke状态 

剩下就可以运行Hadoop里自带的例子看看是否成功。

总结:

终于写完了,当个记录,不然过两天又搞忘了。这都是时间换来的经验啊。

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

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