Hadoop-0.20.2在Ubuntu 14.04上的搭建及程序测试

由于本科毕设要用到Hadoop,所以近两周以来开始学习Hadoop的有关知识,我参考的书籍有《Hadoop实战》(第二版)以及《Hadoop权威指南》,这两本书也比较经典,推荐给大家。

我使用的电脑是MacbookPro,首先我在OSX系统上搭建了伪分布,使用版本是1.0.1,搭建成功,目前我试着去搭建完全分布环境,使用PD(Parallels Desktop)虚拟机,Master为Ubuntu系统,Slave1、2为CentOS系统。这篇文章主要是介绍在Ubuntu系统搭建的主要步骤,参考了许多前人的博客,在这里对他们说声感谢。

安装好Ubuntu后,首先切换至root管理员,输入sudo passwd,键入新密码即可设置root密码,再输入su,输入root密码进入root模式。之后每次进入Terminal终端都进入root模式。


1.配置JAVA及SSH环境

Java环境,可以在网上下载jdk安装包,http://www.oracle.com/technetwork/java/javase/downloads,根据系统,可以选择不同版本格式。我选择在/usr建立一个名为Java的文件夹,将JDK解压到该文件夹。执行如下指令:mkdir(创建名为Java文件夹),cp(复制),tar(解压),解压后在/usr/Java文件夹即可看到jdk1.8.0-65文件夹



接下来在系统中配置Java的环境变量。利用cd /etc指令进入/etc目录,然后gedit profile,进入编辑模式,在profile文件的最后添加语句

export JAVA_HOME=/usr/Java/jdk1.8.0_65

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

并gedit /root/.bashrc在/root/.bashrc中添加语句source /etc/profile,这样避免了root下java -version无法显示的情况。

如下图:




重启,打开命令行,进入root模式,利用java -version指令即可看到java是否正确安装。


SSH环境,通过命令apt-get install ssh,一直Y(yes)即可安装成功,由于我的已经安装好,所以没有新安装的ssh。


SSH是能过RSA加密的,所以有公钥私钥的说法,所以,我们先产生一对固定的公私钥,运行ssh-keygen -t dsa -P ''" -f ~/.ssh/id_dsa命令。


进入.ssh/文件夹,id_dsa为私钥,id_dsa.pub为公钥,然后再把公钥复制成authorized_key,即将这个公钥固定为SSH登陆所用。



这步很重要,做完这一步就可以尝试登陆主机,通过ssh localhost命令,这时便直接进入,无需输入密码,到此,SSH及JDK环境即为配置成功。


2.下载hadoop程序

下载hadoop-0.20.2.tar.gz,在/usr下创建一个名为hadoop的文件夹,将hadoop解压到该文件夹中。



接下来需要配置的文件有

①hadoop-env.sh


加入三条语句 

export JAVA_HOME=/usr/Java/jdk1.8.0_65     

export HADOOP_HOME=/usr/hadoop/hadoop-0.20.2     

export PATH=$PATH:/usr/hadoop/hadoop-0.20.2/bin


②core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/Hadoop/hadoop-0.20.2/hadoop_tmp</value>
</property>
</configuration>

需要在hadoop目录下建立文件夹,用来存放tmp文件


③hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/Hadoop/hadoop-0.20.2/hadoop_tmp/dfs/name/</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/Hadoop/hadoop-0.20.2/hadoop_tmp/dfs/data/</value>
</property>
</configuration>


④mapred-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>


3.运行hadoop

首先进入hadoop-0.20.2下目录,通过指令bin/hadoop namenode -format,对namenode进行格式化


再通过指令bin/start-all.sh启动hadoop


验证启动成功方式,一是访问管理页面http://localhost:50030,http://localhost:50070



再有就是通过jps指令查看有多少个java进程正在运行,如果有TaskTracker,JobTracker,DataNode,NameNode这几个进程,且能访问页面,即证明成功。


4.程序验证

通过hadoop自带的wordcount程序,运行hadoop。首先建立文件夹input,然后创建两个txt文档。在wordcount中创建两个变量in及out,用来查看最后的结果。

mkdir input

cd input

echo "hello world hello hadoop">text1.txt

echo "hello you nice to meet you">text2.txt

cd ..

bin/hadoop dfs -put input in

bin/hadoop hadoop-0.20.2-examples.jar word count in out



查看运行结果,输出此结果证明程序运行成功。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值