Hadoop3.x搭建详细教程 | 历史服务器的配置与日志聚合

Posted 大数据小禅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop3.x搭建详细教程 | 历史服务器的配置与日志聚合相关的知识,希望对你有一定的参考价值。

🚀 作者 :“大数据小禅”
🚀 简介:随着版本的迭代,Hadoop也在不断的进行更新与增加新特性,根据生产与业务的需求,掌握最基础的环境搭建是比较重要的,之前的文章已经进行了Hadoop2的安装,Hadoop3的安装也是基于2的前置环境之上,免密与集群前置准备小伙本们可以看一下之前的文章。
🚀 Hadoop2详细搭建教程Hadoop2安装教程对应的安装包可以通过最下方公众号联系我分享。

1.Hadoop3.1.x版本集群规划

Hadoop由Apache基金会开源,是一个分布式的储存与计算平台。目前Hadoop已经更新到了3.x以上的版本,相比于Hadoop2.x,Hadoop3增加了更多便于开发的新特性。

如何选择Hadoop的版本?

框架版本的选择一般需要考虑到其他大数据组件的版本之间的项目依赖,建议选择是最新版本的前半年所发布的版本。因为最新版本的Hadoop很可能会遇到一些坑,所以使用一些经过考验的版本较合适。这里采用的版本是Hadoop3.1.3。根据你的集群情况,在进行集群的搭建之间建议先规划好集群,方便后续的扩展与调试。

可以参考下面的集群规划表:

node1node2node3
HDFSNameNode,DataNodeDataNodeDataNode,SecondaryNameNode
YARNNodeManagerResourcemanager,NodeManagerNodeManager

2.集群前置环境

搭建集群之前需要准备好三台机器,这里我们选用本地的虚拟机环境,当然选择相应的云主机也是一样的,这里主要看个人情况进行选择。前置环境主要是机器之间的免密,静态IP的固定与主机名字的修改。具体的配置可以参照之前发布的一篇搭建Hadoop2的文章。

3.配置核心文件

跟之前配置Hadoop2的时候不同,这次的搭建还配置了历史服务器与日志的聚集。应用运行完成以后,将程序运行日志信息上传到HDFS系统上。日志聚集可以方便的查看到程序运行详情,方便开发调试。配置历史服务器可以方便查看程序的历史运行情况,需要配置一下历史服务器。

配置文件的路径为hadoop-3.1.3/etc/hadoop,主要对以下的文件进行修改,添加相关的配置。

core-site.xml

<!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node1:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/hadoop-3.1.3/data</value>
</property>

<!-- 配置HDFS网页登录使用的静态用户为root,这里注意,可以修改成你的hadoop用户 -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>hadoop</value>
</property>

hdfs-site.xml

<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>node1:9870</value>
    </property>
    
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node3:9868</value>
    </property>
    <!-- 副本数量,根据测试需求来定,默认是3个 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

yarn-site.xml

<!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node2</value>
    </property>
    
    <!-- 环境变量的继承 3.1需要配置,是BUG来的 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
             <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    
    <!-- yarn容器允许分配的最大最小内存 -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
    </property>
    
    <!-- yarn容器允许管理的物理内存大小 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
    </property>
    
    <!-- 关闭yarn对虚拟内存的限制检查 -->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 设置日志聚集服务器地址 -->
<property>  
    <name>yarn.log.server.url</name>  
    <value>http://node1:19888/jobhistory/logs</value>
</property>

mapred-site.xml

<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>node1:10020</value>
</property>

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

workers

node1
node2
node3
<!-- 最后不要有空格 -->

4.集群的启动

修改完成配置文件之后,需要将hadoop的安装包分配到其他集群,这里参考Hadoop2的集群搭建文章。在启动之前需要在主节点,这里是node1进行格式化命令hdfs namenode -format。

之后在node1运行 sbin/start-dfs.sh,这里有一点要注意的是sbin/start-yarn.sh需要在配置了ResourceManager的节点进行启动,也就是node2里面启动。启动完成后可以看到对应的进程。


5.总结

总的来说,Hadoop3的访问端口号与配置会与Hadoop2有些许不同,感兴趣的小伙伴也可以试着搭建一下各个版本。后续将会把大数据中的常用组件进行集群的搭建总结,避免一些同学在环境的安装在耗费太多的时间。

欢迎小伙伴们 点赞👍、收藏⭐、留言💬

以上是关于Hadoop3.x搭建详细教程 | 历史服务器的配置与日志聚合的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop3.x搭建详细教程 | 历史服务器的配置与日志聚合

大数据基石-Hadoop3.x学习教程-Hadoop产品了解与快速上手

大数据基石-Hadoop3.x学习教程-Hadoop产品了解与快速上手

2021年大数据Hadoop(三十):Hadoop3.x的介绍

[hadoop3.x系列]HDFS REST HTTP API的使用HttpFS

[hadoop3.x系列]HDFS REST HTTP API的使用HttpFS