4 Hadoop运行模式
Hadoop运行模式包括:本地模式、伪模式以及完全分布式模式。
Hadoop官方网站:http://hadoop.apache.org/
4.1 本地运行模式
4.1.1 官方Grep 案例
1.创建在hadoop-2.7.2文件下面创建一个input文件夹
Mkdir input
2.将Hadoop的xml配置文件复制到input
Cp etc/hadoop/.xml input
3.执行share目录下的MapReduce程序
4.查看输出结构
Cat output/
4.1.2 官方WordCount案例
1.在hadoop-2.7.2文件下面创建一个wcinput文件夹
2.在wcinput文件下创建一个wc.input文件
3.编辑wc.input文件
输入以下内容
Hadoop yarn
Hadoop mapreduce
Jinghang
Jinghang
4.回到hadoop目录
5.执行程序
Hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
6.查看结果
Cat wcoutput/part-r-00000
4.2 伪分布式运行模式
4.2.1 启动HDFS并运行MapReduce程序
1.配置集群
配置:hadoop-env.sh
需要进入hadoop目录下
A.需要先获取jdk的安装路径
Echo $JAVA_HOME
修改JAVA_HOME路径:
Export JAVA_HOME=/opt/module/jdk1.8.0_144
B.配置:core-site.xml
fs.defaultFS
hdfs://hadoop01:9000(这里的hadoop101是你自己的主机名,以下同理)
hadoop.tmp.dir
/opt/module/hadoop-2.7.2/data/tmp
C.配置:hdfs-site.xml
dfs.replication
1
2 启动集群
A.格式化NameNode(第一次启动时格式化,以后就尽量不要格式化了)
注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。
命令:bin/hdfs namenode -format
B.启动NameNode
命令:sbin/hadoop-daemo.sh start namenode
3 查看集群
命令:jps (注意:JPS是JDK中的命令,不是linux命令。不安装JDK不能使用JPS。)
A.在web端查看HDFS 文件系统
http://hadoop01:50070/dfshealth.html#tab-overview
B.查看产生的Log日志 (在平时遇到bug时,经常根据日志提示信息去分析问题,解决Bug。)
首先进入到hadoop的log目录下
命令:ls可以看到日志文件
4 操作集群
A.在HDFS文件系统上创建一个input文件夹
命令:bin/hdfs -dfs -mkdir input
B.将测试文件上传到文件系统上
命令:hdfs dfs -put (你自己需要测试的文件) /input
C.查看上传的文件是否正确
Bin/hdfs dfs -ls /input
Bin/hdfs dfs -cat /input/wc.input
D.运行MapReduce程序
命令:bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input output
E.查看输出结果
命令:bin/hdfs dfs -cat output/*
4.2.2 启动YARN并运行MapReduce程序
1.配置集群
A.配置yarn-env.sh
配置JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
B.配置yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
hadoop01
C.配置:mapred-env.sh
配置JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
D.配置:mapred-site.xml.template重命名 去掉后面的template
命
mapreduce.framework.name
yarn
令:mv mapred-site.xml.template mapred-site.xml
2.启动集群
A.启动前必须保证NameNode和DataNode启动
B.启动ResoureManager
命令:sbin/yarn-daemon.sh start resourcemanager
C.启动NodeManager
命令:sbin/yarn-daemon.sh start nodemanager
3.集群操作
在YARN的浏览器页面查看 http://hadoop01:8088/cluster
4.2.3 配置历史服务器
1 配置mapred-site.xml
mapreduce.jobhistory.address
hadoop01:10020
mapreduce.jobhistory.webapp.address
hadoop01:19888
2 启动历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver
3 查看历史服务器是否启动
JPS
4 查看JobHistory
http://hadoop01:19888/jobhistory
4.2.4 配置日志的聚集
注意:开始此功能,需要重新启动NodeManager、ResourceManager、HistoryManager
配置:yarn-site.xml
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
604800
保留时间可以更改
重启服务
执行WordCount程序
查看日志 http://hadoop01:19888/jobhistory