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>
     <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

 

 

 
posted @ 2021-10-02 11:16  一乐乐  阅读(738)  评论(0编辑  收藏  举报