VMWare下快速搭建Hadoop完全分布式环境
前言: 利用VMWare快速搭建Hadoop的完全分布式环境,在一台虚拟机上安装配置好相应的软件和环境变量后,利用vmware的克隆,复制出另外两个虚拟机,这样,一个完全分布式环境就搭建起来了。 这里要说明一点,为了方便后面的配置,利用vmware装ubuntu时,用户名要设置成 hadoop,不然后面的配置改起来麻烦。 简单起见,vmware如何安装ubunt
192.168.1.130 slave2
首先去Oracle官网下载Linux下的JDK压缩包,地址如下:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
我下载的是jdk-7u4-linux-i586.tar.gz文件,下载后,复制到 /home/hadoop/setup目录下
Step1:
# 将jdk文件解压到当前目录:
tarzxvf jdk-7u4-linux-i586.tar.gz
将解压后的文件夹重命名为jdk7(名字太长不方便):
mv jdk* jdk7
Step2:
# 配置环境变量
sudo gedit ~/.profile
在末尾加上:
exportJAVA_HOME=/home/hadoop/setup/jdk1.7
Step3:
然后保存关闭,使用source更新下
source ~/.profile
Step4:
使用env命令察看JAVA_HOME的值
env | grep JAVA_HOME
如果输出:JAVA_HOME=/home/hadoop/setup/jdkjdk1.7 ,说明配置成功。
Step5:
# 将系统默认的jdk修改过来
sudo update-alternatives --install /usr/bin/javajava /home/hadoop/setup/jdk1.7/bin/java300
sudo update-alternatives --install /usr/bin/javacjavac /home/hadoop/setup/jdk1.7/bin/javac300
sudo update-alternatives --configjava
sudoupdate-alternatives --config javac
Step6:
然后再输入:
java -version
看到如下信息,就说明改成sun的jdk了:
java version"1.7.0_04"
Java(TM) SE Runtime Environment(build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build23.0-b21, mixed mode)
(三)安装ssh:
(1)sudo apt-getinstall ssh
这个安装完后,可以直接使用ssh命令 了。执行 netstat -nat ,查看22端口是否开启了
测试:ssh localhost ,输入当前用户的密码,回车就ok了。说明安装成功,同时ssh登录需要密码。
(2)为hadoop上的用户hadoop生成其密钥对:
ssh-keygen -t rsa ,然后一路按回车键就可以了
(四)安装配置Hadoop:
为了快速起见,直接将本文附件中的hadoop.tar.gz文件复制过来,解压就可以了,具体步骤如下:
将 hadoop.tar.gz 文件复制到/home/hadoop/setup目录下,然后解压:
tar zxvf hadoop.tar.gz
hadoop的安装配置结束。
(五)克隆虚拟机:
在VMWare界面的VM->manage->clone里面,克隆当前Linux虚拟机,如下图:
注意,在Clone Type的时候,要选择 creat afull clone,如下图:
其他的,一路"下一步"即可。
克隆完虚拟机后,在master虚拟机,用"ssh slave1"和"sshslave2"测试下master是否能和slave进行ssh通信,(第一次需要密码,后面就不需要了),如果成功,这说明ssh配置成功。
(六)启动Hadoop:
将三台虚拟机全部开启,并在master机器上,输入如下命令:
(1)进入hadoop目录:cd ~/setup/hadoop
(2)格式化Hadoop文件系统: bin/hadoop namenode-format
如果看到类似如下两行的 successfully ,说明格式化文件系统成功!
has beensuccessfully formatted.
has been successfully formatted.
(3)启动所有节点:bin/start-all.sh
(4)验证hadoop是否正常启动:jps
正常启动后,会在master节点上显示:NameNode,JobTracker,SecondaryNameNode
而slave1和slave2上会显示:DataNode,TaskTracker
启动hadoop后,可以再浏览器里面查看NameNode和JobTracker,它们的地址默认为:
NameNode http://master:50070
JobTracker http://master:50030
(七)测试Hadoop版"Helloworld!":
搭建完成后,可以测试下wordcount小程序:
(1)准备需要进行wordcount的文件:
sudo gedit/tmp/test.txt
(打开后随便输入一些内容,如"mu ha ha ni daye da ye da",然后保存退出)
(2)将准备的测试文件上传到dfs文件系统中的firstTest目录下:
bin/hadoop dfs-copyFromLocal /tmp/test.txt firstTest
(注:如dfs中不包含firstTest目录的话就会自动创建一个,关于查看dfs文件系统中已有目录的指令为"bin/hadoopdfs -ls")
(3)执行wordcount:
bin/hadoop jarhadoop*example*.jar wordcount firstTest result
(注:此语句意为“对firstTest下的所有文件执行wordcount,将统计结果输出到result文件夹中”,若result文件夹不存在则会自动创建一个)
(4)查看结果
bin/hadoop dfs-cat result/part-r-00000
(注:结果文件默认是输出到一个名为“part-r-*****”的文件中的,可用指令“hadoop dfs -lsresult”查看result目录下包含哪些文件)
更多推荐
所有评论(0)