一、启动HDFS并运行MapReduce程序
1.配置集群
a.配置:hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
b.配置:core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
c.配置:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
2.启动集群
a.格式化namenode(第一次需要格式化)
[hx@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format
b.启动namenode,datanode
[hx@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode
输入jps命令看到namenode和datanode代表启动成功。
注意不能一直格式化namenode!!!
格式化namenode一定要先删除data数据和logs日志,因为格式化namenode会产生新的集群id,会导致NameNode和DataNode的集群id不一致,集群找不到已往数据。
3.查看集群
a.查看是否启动成功
[hx@hadoop101 hadoop-2.7.2]$ jps
13586 NameNode
13668 DataNode
13786 Jps
b.web端查看HDFS系统
http://hadoop101:50070 把hadoop101换成你机器的hostname(前提你的windows配置了相应的ip映射)或者直接输入linux的ip
增加windows的ip映射
4.操作集群
a.在hdfs系统上创建文件夹
[hx@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/hx/input
b.上传测试文件
[hx@hadoop101 hadoop-2.7.2]$bin/hdfs dfs -put wcinput/wc.input
/user/hx/input/
c.查看测试文件
[hx@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -ls /user/hx/input/
[hx@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/hx/ input/wc.input
d.运行mapreduce程序
[hx@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/hx/input/ /user/hx/output
注意输出文件output夹不能提前存在
e.查看结果
[hx@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/hx/output/*
总结:命令一般都是 dfs -[linux的命令]
二、启动YARN并运行MapReduce程序
1.配置集群
a.配置yarn-en.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
b.配置yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
c.配置mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
d.配置mapred-site.xml 需要用mv指令重命名
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.启动集群(启动前需要先启动namenode和datanode)
a.启动resourcemanager
[hx@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
[hx@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager
jps可以查看是否启动
3.集群操作
同上
查看端口是http://hadoop101:8088/cluster
三、配置历史服务器
1.配置mapred-site.xml
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop101:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop101:19888</value>
</property>
2.启动历史服务器
[hx@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
3.查看
http://hadoop101:19888/jobhistory
四、配置日志的聚集
1.配置yarn-site.xml
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager 关闭命令就是把start改成stop
2.查看
重新运行wordcount程序,记得删除output文件
http://hadoop101:19888/jobhistory 其实就是端口的变化