启动HDFS并运行MapReduce程序
1、配置集群
1.1配置:hadoop-env.sh
先从Linux系统中获取11JDK的安装路径 修改hadoop-env.sh配置文件中JAVA_HOME路径: 保存后退出
1.2配置:core-site.xml
[zhukun
@hadoop101 hadoop
]$ vim core
-site
.xml
1.3配置:hdfs-site.xml
[zhukun
@hadoop101 hadoop
]$ vim core
-site
.xml
2、启动集群
2.1格式化NameNode
(第一次启动时格式化,以后就不要总是格式化)
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hdfs namenode
-format
为什么不能一直格式化NameNode,格式化NameNode,要注意什么? 观察上面两张图片,我们发现NameNode和DataNode的集群id clusterID=CID-d8ea2487-26b2-4326-8ebc-9cdc022679c5 是一样的 而格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,除了第一次格式化NameNode,以后如果要格式化NameNode,一定要先删除data数据和log日志,然后再格式化NameNode.
2.2启动NameNode
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/hadoop
-daemon
.sh start namenode
2.3启动DataNode
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/hadoop
-daemon
.sh start datanode
2.4web端查看HDFS文件系统
http://hadoop101:50070/dfshealth.html#tab-overview
2.5查看产生的Log日志
企业中遇到Bug时,经常根据日志提示信息去分析问题、解决Bug 查看具体某条日志信息: 比如:
3、操作集群
3.1在HDFS文件系统上创建一个input文件夹
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hdfs dfs
-mkdir
-p
/user
/zhukun
/input
3.2将测试文件内容上传到HDFS文件系统上
[zhukun
@hadoop101 hadoop
-2.7.2]$bin
/hdfs dfs
-put wcinput
/wc
.input
/user
/zhukun
/input
/
在web端HDFS系统查看一下
3.3运行MapReduce程序
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hadoop jar share
/hadoop
/mapreduce
/hadoop
-mapreduce
-examples
-2.7.2.jar wordcount
/user
/zhukun
/input
/user
/zhukun
/output
将测试文件内容下载到本地:
[zhukun
@hadoop101 hadoop
-2.7.2]$ hdfs dfs
-get
/user
/zhukun
/output
/part
-r
-00000 ./wcoutput
/
web端直接Download 删除输出结果:
[zhukun
@hadoop101 hadoop
-2.7.2]$ hdfs dfs
-rm
-r
/user
/zhukun
/output
启动YARN并运行MapReduce程序
1、配置集群
1.1配置:yarn-env.sh
[zhukun
@hadoop101 hadoop
]$ vim yarn
-env
.sh
1.2配置:yarn-site.xml
[zhukun
@hadoop101 hadoop
]$ vim yarn
-site
.xml
1.3配置:mapred-env.sh
[zhukun
@hadoop101 hadoop
]$ vim mapred
-env
.sh
1.4配置:mapred-site.xml
将mapred-site.xml.template重新命名为 mapred-site.xml
[zhukun
@hadoop101 hadoop
]$ mv mapred
-site
.xml
.template mapred
-site
.xml
[zhukun
@hadoop101 hadoop
]$ vi mapred
-site
.xml
2、启动集群
2.1启动前必须保证NameNode和DataNode已经启动
2.2启动ResourceManager
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/yarn
-daemon
.sh start resourcemanager
2.3启动NodeManager
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/yarn
-daemon
.sh start nodemanager
2.4web端查看YARN
http://hadoop101:8088/cluster
3、执行MapReduce程序
3.1删除文件系统上的output文件
(之前测试HDFS文件系统执行MapReduce程序时已经输出过output文件夹,所以要先删除)
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hdfs dfs
-rm
-R
/user
/zhukun
/output
3.2执行MapReduce程序
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hadoop jar share
/hadoop
/mapreduce
/hadoop
-mapreduce
-examples
-2.7.2.jar wordcount
/user
/zhukun
/input
/user
/zhukun
/output
3.3查看运行结果
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hdfs dfs
-cat
/user
/zhukun
/output
web端查看
配置历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器
1、配置:mapred-site.xml
[zhukun
@hadoop101 hadoop
]$ vim mapred
-site
.xml
2、启动历史服务器
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/mr
-jobhistory
-daemon
.sh start historyserver
3、查看历史服务器是否启动
web端查看JobHistory http://hadoop101:19888/jobhistory 也可以在YARN web端页面All Applications中直接在对应的Application中点击History
配置日志的聚集
日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。 日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。 注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。
1、配置:yarn-site.xml
2、关闭NodeManager 、ResourceManager和HistoryManager
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/yarn
-daemon
.sh stop resourcemanager
stopping resourcemanager
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/yarn
-daemon
.sh stop nodemanager
stopping nodemanager
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/mr
-jobhistory
-daemon
.sh stop historyserver
stopping historyserver
3、重新启动NodeManager 、ResourceManager和HistoryManager
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/yarn
-daemon
.sh start resourcemanager
starting resourcemanager
, logging to
/opt
/module
/hadoop
-2.7.2/logs
/yarn
-zhukun
-resourcemanager
-hadoop101
.out
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/yarn
-daemon
.sh start nodemanager
starting nodemanager
, logging to
/opt
/module
/hadoop
-2.7.2/logs
/yarn
-zhukun
-nodemanager
-hadoop101
.out
[zhukun
@hadoop101 hadoop
-2.7.2]$ sbin
/mr
-jobhistory
-daemon
.sh start historyserver
starting historyserver
, logging to
/opt
/module
/hadoop
-2.7.2/logs
/mapred
-zhukun
-historyserver
-hadoop101
.out
4、删除HDFS上已经存在的输出文件、执行WordCount程序
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hdfs dfs
-rm
-R
/user
/zhukun
/output
[zhukun
@hadoop101 hadoop
-2.7.2]$ bin
/hadoop jar share
/hadoop
/mapreduce
/hadoop
-mapreduce
-examples
-2.7.2.jar wordcount
/user
/zhukun
/input
/user
/zhukun
/output
5、查看日志