大数据之Hadoop(四)-Hadoop运行模式之伪分布式运行模式(启动HDFS和YARN并运行MapReduce程序、配置历史服务器和日志聚集)

    科技2022-08-08  99

    启动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、查看日志

    Processed: 0.010, SQL: 8