原文:http://www.cnblogs.com/leesf456/p/4795507.html?utm_source=tuicool&utm_medium=referral@H_403_3@
一、引言@H_403_3@
在完成了Storm的环境配置之后,想着鼓捣一下Hadoop的安装,网上面的教程好多,但是没有一个特别切合的,所以在安装的过程中还是遇到了很多的麻烦,并且最后不断的查阅资料,终于解决了问题,感觉还是很好的,下面废话不多说,开始进入正题。@H_403_3@
本机器的配置环境如下:@H_403_3@
Hadoop(2.7.1)@H_403_3@
Ubuntu Linux(64位系统)@H_403_3@
下面分为几个步骤来详解配置过程。@H_403_3@
二、安装ssh服务@H_403_3@
进入shell命令,输入如下命令,查看是否已经安装好ssh服务,若没有,则使用如下命令进行安装:@H_403_3@
sudo apt-get install ssh openssh-server@H_403_3@
安装过程还是比较轻松加愉快的。@H_403_3@
1.创建ssh-key,这里我们采用rsa方式,使用如下命令:@H_403_3@
ssh-keygen -t rsa -P ""@H_403_3@
2.出现一个图形,出现的图形就是密码,不用管它@H_403_3@
cat ~/.ssh/id_rsa.pub >> authorized_keys(好像是可以省略的)@H_403_3@
ssh localhost@H_403_3@
成功截图如下:@H_403_3@
@H_403_3@
四、下载Hadoop安装包@H_403_3@
下载Hadoop安装也有两种方式@H_403_3@
1.直接上官网进行下载,http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz@H_403_3@
2.使用shell进行下载,命令如下:@H_403_3@
wgethttp://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz@H_403_3@
貌似第二种的方法要快点,经过漫长的等待,终于下载完成。@H_403_3@
五、解压缩Hadoop安装包@H_403_3@
使用如下命令解压缩Hadoop安装包@H_403_3@
tar -zxvf hadoop-2.7.1.tar.gz@H_403_3@
解压缩完成后出现hadoop2.7.1的文件夹@H_403_3@
需要配置的文件如下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,所有的文件均位于hadoop2.7.1/etc/hadoop下面,具体需要的配置如下:@H_403_3@
1.core-site.xml 配置如下: @H_403_3@
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/leesf/program/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>@H_403_3@
其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。@H_403_3@
2.mapred-site.xml.template配置如下: @H_403_3@
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>@H_403_3@
3.hdfs-site.xml配置如下:@H_403_3@
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/data</value>
</property>
</configuration>@H_403_3@
其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。@H_403_3@
补充,如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop.env.sh里面,具体如下:@H_403_3@
export JAVA_HOME="/home/leesf/program/java/jdk1.8.0_60"@H_403_3@
七、运行Hadoop@H_403_3@
在配置完成后,运行hadoop。@H_403_3@
1.初始化HDFS系统@H_403_3@
在hadop2.7.1目录下使用如下命令:@H_403_3@
bin/hdfs namenode -format@H_403_3@
截图如下:@H_403_3@
@H_403_3@
过程需要进行ssh验证,之前已经登录了,所以初始化过程之间键入y即可。@H_403_3@
成功的截图如下:@H_403_3@
表示已经初始化完成。@H_403_3@
2.开启NameNode
和Datanode
守护进程@H_403_3@
使用如下命令开启:@H_403_3@
sbin/start-dfs.sh,成功的截图如下:
@H_403_3@
3.查看进程信息@H_403_3@
使用如下命令查看进程信息@H_403_3@
jps,截图如下:@H_403_3@
表示数据Datanode和NameNode都已经开启@H_403_3@
4.查看Web UI
@H_403_3@
在浏览器中输入http://localhost:50070,即可查看相关信息,截图如下:@H_403_3@
至此,hadoop的环境就已经搭建好了。下面开始使用hadoop来运行一个WordCount例子。@H_403_3@
八、运行WordCount Demo@H_403_3@
1.在本地新建一个文件,笔者在home/leesf目录下新建了一个words文档,里面的内容可以随便填写。@H_403_3@
2.在HDFS中新建一个文件夹,用于上传本地的words文档,在hadoop2.7.1目录下输入如下命令:@H_403_3@
bin/hdfs dfs -mkdir /test,表示在hdfs的根目录下建立了一个test目录@H_403_3@
使用如下命令可以查看HDFS根目录下的目录结构@H_403_3@
bin/hdfs dfs -ls /@H_403_3@
具体截图如下:@H_403_3@
表示在HDFS的根目录下已经建立了一个test目录@H_403_3@
3.将本地words文档上传到test目录中@H_403_3@
bin/hdfs dfs -put /home/leesf/words /test/@H_403_3@
使用如下命令进行查看@H_403_3@
bin/hdfs dfs -ls /test/@H_403_3@
结果截图如下:@H_403_3@
表示已经将本地的words文档上传到了test目录下了。@H_403_3@
4.运行wordcount@H_403_3@
使用如下命令运行wordcount:@H_403_3@
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/words /test/out@H_403_3@
运行完成后,在/test目录下生成名为out的文件,使用如下命令查看/test目录下的文件@H_403_3@
bin/hdfs dfs -ls /test@H_403_3@
表示在test目录下已经有了一个名为Out的文件目录@H_403_3@
bin/hdfs dfs -ls /test/out,结果截图如下:@H_403_3@
表示已经成功运行了,结果保存在part-r-00000中。@H_403_3@
5.查看运行结果@H_403_3@
使用如下命令查看运行结果:@H_403_3@
bin/hadoop fs -cat /test/out/part-r-00000@H_403_3@
至此,运行过程就已经完成了。@H_403_3@