Hadoop主要配置文件的作用

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Hadoop主要配置文件的作用脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

一、Hadoop主要配置文件的作用

ps:有兴趣可以了解一下 HDFS 的配置文件及目录结构(这也是一开始接触一个新东西的一个重要重要的环节)

 

1,core-sITe.XMl (Hadoop 核心配置,例如HDFS、Mapreduce和YARN常用的I/O设置等

属性 含义
fs.defaultFS     描述集群中NameNode节点的URI(包括协议、主机名称/ip地址、端口号)
● 文件系统的名字,通常是NameNode的hostname与port。
主机是NameNode的主机名称或IP地址,端口是NameNode监听RPC的端口,如果没有指定,默认是8020。
 集群里面的每一台机器都需要知道NameNode的地址,DataNode会先在NameNode上注册,这样它们的数据才可以被使用。
独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。

例子:hdfs://master:9000

core-site.xML

主要配置

  1. 文件系统采用hdfs实现
  2. 临时数据存放的位置
  3. 缓冲区大小,实际工作中根据服务器性能动态调整
  4. 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟

 

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet tyPE="text/xsl" href="configuration.xsl"?>
<configuration>   <!-- 默认的文件系统,一般将其改为hdfs,描述集群中NameNode节点的URI(包括协议、主机名称/ip地址、端口号),也指定了namenode要放在哪台机器上 -->
    <PRoperty>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.238.100:8020</value>
    </property>
    <!-- 临时数据存放的位置 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/export/servers/hadoop-3.1.3/hadoopDatas/tempDatas</value>
    </property>
    <!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>

    <!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟  10080 相当与7天  60*24*7-->
    <property>
        <name>fs.trash.interval</name>
        <value>10080</value>
    </property>
</configuration>

 

2,hdfs-site.xml (Hadoop守护(守护是后台的意思进程的配置项,包括namenode、辅助namenode(即SecondNameNode)和datanode等)

hadoop 守护进程一般同时运行RPC 和HTTP两个服务器,RPC服务器支持守护进程间的通信HTTP服务器则提供与用户交互的Web页面

需要分别为各个服务器配置网络地址和端口号。

hdfs-site.xml

主要配置

  1. NameNodesecondaryNameNode的访问地址
  2. NameNodeDataNode数据的存放路径
  3. FSImage,Edits,Checkpoint的存放位置
  4. 设置文件的副本数,一份文件保存多少份
  5. 设置文件存储的block块大小 128M

 

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
     <!-- secondaryNameNode的访问地址 -->
     <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>node01:50090</value>
    </property>
    <!-- NameNode的访问地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>node01:50070</value>
    </property>
    <!-- df -lh  查看LINUX下磁盘的挂载路径  -->
    <!--  定义nameNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后有多个目录用,进行分割 如 file:///one,file:///two 
    fsimage的存放位置
     -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value>
     <@H_360_230@description> namenode 存放name table(fsimage)本地目录 </description>  </property>
    <!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value>
     <description> datanode 存放文件块的本地目录 </description>     </property>
    <!-- 定义我们的元数据的操作日志的存放位置
         edits的存放位置
    -->
    <property>
        <name>dfs.namenode.edits.dir</name>
        <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/nn/edits</value>     <description> namenode 存放 transaction file(edits)本地目录</description>
    </property>
    <!-- 元数据检查点保存的位置 -->
    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/snn/name</value>
    </property>
    <!--
    edits文件的检查点保存位置 
    -->
    <property>
        <name>dfs.namenode.checkpoint.edits.dir</name>
        <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits</value>
    </property>
    <!-- 文件的副本数,一份文件保存多少份 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!-- hdfs的权限控制 -->
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
    <!--  文件存储的block块大小   -->
    <property>
        <name>dfs.blocksize</name>
        <value>134217728</value>
    </property>
</configuration>

 

3,mapred-site.xml ( ;mapReduce守护进程的配置项,包括作业历史服务器 )

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定我们mapreduce运行在yarn集群上面 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- 开启mapreduce的小任务模式,用于调优 -->
    <property>
        <name>mapreduce.job.ubertask.enable</name>
        <value>true</value>
    </property>
    <!-- 配置mapreduce 的jobhistory   可以查看我们所有运行完成的任务的一些情况 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node01:10020</value>
    </property>
    <!-- 配置mapreduce 的jobhistory的访问地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node01:19888</value>
    </property>
</configuration>

 

4,yarn-site.xml ( YARN守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器 )

<?xml version="1.0"?>
<configuration>
<!--指定我们的resourceManager运行在哪台机器上面 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node01</value>
    </property>
    <!-- NodeManager的通信方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 日志的聚合功能,方便我们查看任务执行完成之后的日志记录 -->
    <property>
        <name>yarn.LOG-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 聚合日志的保存时长 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>

 

参考文章:《Hadoop配置文件详解》https://blog.csdn.net/andyguan01_2/article/details/88615438

     《详解Hadoop六个配置文件的作用》https://blog.csdn.net/QQ_31151125/article/details/101785843 

     《hdfs-site.xml 详解》https://blog.csdn.net/muyingmiao/article/details/99890149

 

 

 

脚本宝典总结

以上是脚本宝典为你收集整理的Hadoop主要配置文件的作用全部内容,希望文章能够帮你解决Hadoop主要配置文件的作用所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。