一、前言
本文使用2.7.3版本的Hadoop
二、官方例子wordcount
1、解压hadoop-2.7.3.tar.gz至/opt/app/下
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/app/
2、查看官方自带例子wordcount的使用
/opt/app/hadoop-2.7.3/bin/hadoop jar /opt/app/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount
wordcount使用说明:Usage: wordcount <in> [<in>...] <out>
该例子是统计文件中单词出现的次数,统计文件可以有多个,不需要手动创建输出文件夹。
3、准备统计文件
a、在/opt/app/hadoop-2.7.3/下,新建input,并将准备好的文件拷贝进去。
b、执行命令
/opt/app/hadoop-2.7.3/bin/hadoop jar /opt/app/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output
c、查看输出
在output目录下,有两个文件_SUCCESS和part-r-00000,使用cat命令查看part-r-00000
三、Hadoop伪分布式配置
1、环境准备
a、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld.service
#最好也把selinux关闭
vi /etc/selinux/config
...
SELINUX=disabled
...
b、配置/etc/hosts文件
c、配置JDK和Hadoop的环境,/etc/profile
2、配置/opt/app/hadoop-2.7.3/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<!--hadoop文件系统依赖的基本配置,默认是tmp/{$user},有可能会被清理-->
<name>hadoop.tmp.dir</name>
<value>/opt/app/hadoop-2.7.3/data/tmp</value>
</property>
3、配置/opt/app/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4、格式化HDFS
hdfs namenode -format
目的是生成集群唯一标识符、块池的唯一标识符、namenode进程管理内容(fsimage)的存储路径。有以下信息,表示格式化成功。
5、启动NameNode和DataNode
/opt/app/hadoop-2.7.3/sbin/hadoop-daemon.sh start namenode
/opt/app/hadoop-2.7.3/sbin/hadoop-daemon.sh start datanode
6、检查是否启动成功
访问localhost:50070
四、YARN配置
1、配置/opt/app/hadoop-2.7.3/etc/hadoop/mapred-site.xml
将mapred-site.xml.template改为mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2、配置/opt/app/hadoop-2.7.3/etc/hadoop/yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
3、启动resourcemanager和nodemanager
/opt/app/hadoop-2.7.3/sbin/yarn-daemon.sh start resourcemanager
/opt/app/hadoop-2.7.3/sbin/yarn-daemon.sh start nodemanager
4、检查是否启动成功
a、浏览器访问localhost:8088
b、查看启动服务
c、如果jps命令报错:"bash: jps: 未找到命令..."
vi /root/.bash_profile
五、使用yarn运行mapReduce对HDFS上文件分析
1、将需要分析的文件上传至hdfs
在HDFS上新建input文件夹
/opt/app/hadoop-2.7.3/bin/hdfs dfs -mkdir /input
将文件上传到HDFS上
/opt/app/hadoop-2.7.3/bin/hdfs dfs -put wordcount /input
查看文件是否上传成功
/opt/app/hadoop-2.7.3/bin/hdfs dfs -ls /input
2、执行命令
/opt/app/hadoop-2.7.3/bin/hadoop jar /opt/app/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output
3、查看结果
/opt/app/hadoop-2.7.3/bin/hdfs dfs -cat /output/part-r-00000