大数据学习——配置并启动集群/开启历史服务器和日志聚集

类型:学习笔记
参考:尚硅谷大数据系列课程


上篇文章通过克隆将集群搭建出来,这篇文章对Hadoop进行配置,修改配置文件,启动并测试集群。开去历史服务器以及日志聚集。

部署规划

hadoop102 hadoop103 hadoop104
HDFS NameNodeDataNode DataNode SencondNameNodeDataNode
YARN NodeManager ResourceManager、NodeManager NodeManager
  • NameNodeSecondNameNode不要安装在同一台服务器上
  • ResourceManager也很消耗内存,不要和NameNodeSecondNameNode配置在同一台机器上

配置文件

1、默认配置文件

默认配置文件可在对应的jar包中找到

core-default.xml hadoop-common-3.1.3.jar/core-default.xml
hdf-default.xml hadoop-hdfs-3.1.3.jar/hdfs-default.xml
yarn-default.xml hadoop-yarn-common-3.1.3.jar/yarn-default.xml
mapred-default.xml hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xml

2、自定义配置文件

$HADOOP_HOME/etc/hadoop

文章使用的时/opt/module/hadoop-3.1.3/etc/hadoop

配置集群

所有操作在swcode用户进行,非root

在hadoop102上配置

1、核心配置文件:core-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml

内容如下

<configuration>
    <!-- 指定 NameNode 的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:8020</value>
    </property>
    <!-- 指定 hadoop 数据存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>
    <!-- 配置HDFS网页登录使用的静态用户为swcode -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>swcode</value>
    </property>
</configuration>

2、HDFS配置文件:hdfs-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

内容如下

<configuration>
    <!-- NN Web端访问地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop102:9870</value>
    </property>
    <!-- 2NN Web端访问地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop104:9868</value>
    </property>
</configuration>

3、YARN配置文件:yarn-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

内容如下

<configuration>
    <!-- 指定 MR 走 shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 指定 ResourceManager 的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
    </property>
    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_HOME,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

4、MapReduce配置文件:mapred-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml

内容如下

<configuration>
    <!-- 指定 MapReduce 程序运行在 Yarn 上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

分发配置文件

xsync是自定义的sync脚本

xsync /opt/module/hadoop-3.1.3/etc/hadoop/

启动集群

1、配置workers

vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

新增一下内容,内容结尾不允许空格,文件中不允许出现空行

hadoop102
hadoop103
hadoop104

像下面这样

大数据学习——配置并启动集群/开启历史服务器和日志聚集

2、分发workers

xsync /opt/module/hadoop-3.1.3/etc/hadoop/workers

3、第一次启动初始化(hadoop102

hdfs namenode -format

/opt/module/hadoop-3.1.3会多出两个文件夹:/data/logs

4、启动HDFS(hadoop102

start-dfs.sh

启动成功后,每台主机分别运行下面代码,检查一下

jps

根据规划的部署,应该和下面一样

  • hadoop102JpsDataNodeNameNode
  • hadoop103DataNodeJps
  • hadoop104SecondaryNameNodeJps

查看Web页面:http://192.168.10.102:9870/

5、启动YARN

来到配置了ResourceManager的节点(hadoop103

start-yarn.sh

对照部署规划,一样就说明成功了~

查看YARN资源调度页面:http:192.168.10.103:8088

测试集群

1、上传文件到HDFS(hadoop102上)

# 创建目录
hadoop fs -mkdir /wcinput
# 上传文件
hadoop fs -put /opt/module/hadoop-3.1.3/wcinput/words.txt /wcinput

words.txt是之前使用wordcount做的小案例

查看效果:Browsing HDFS

大数据学习——配置并启动集群/开启历史服务器和日志聚集

2、再次运行wordcount案例

# 来到 hadoop 安装目录
cd /opt/module/hadoop-1.3.1/
# 执行
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wcoutput

来到YARN资源调度页面:http:192.168.10.103:8088

可以看到一条资源调度记录

大数据学习——配置并启动集群/开启历史服务器和日志聚集

查看效果:Browsing HDFS

大数据学习——配置并启动集群/开启历史服务器和日志聚集

配置历史服务器

1、配置mapred-site.xml(在hadoop102上配置)

vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml

增加配置文件

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop102:19888</value>
</property>

2、分发配置

xsync /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml

3、在hadoop102中启动历史服务器

mapred --daemon start historyserver

需要重启yarn,在hadoop103中重启yarn(本文的yarn配置在hadoop103中)

stop-yarn.sh
start-yarn.sh

4、查看历史服务器是否启动

[swcode@hadoop102 ~]$ jps
123607 DataNode
123403 NameNode
127613 JobHistoryServer
127773 Jps
125615 NodeManager

配置日志聚集

1、修改yarn-site.xml

vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

增加如下内容

<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

2、分发配置

xsync /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

3、在hadoop102中停止历史服务器

mapred --daemon stop historyserver

4、在hadoop103中重启yarn

stop-yarn.sh
start-yarn.sh

5、在hadoop102中停启动历史服务器

mapred --daemon start historyserver

4、在hadoop103中重启yarn


下篇文章:

上一篇:C#.NET中对称和非对称加密、解密方法汇总--亲测可用


下一篇:大数据理论与实践 源码分析 YARN资源调度策略