一、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配置文件详解》​​​

     《详解Hadoop六个配置文件的作用》

     《hdfs-site.xml 详解

 

 

 

本文来自博客园,作者:​​一乐乐​​​,转载请注明原文链接:​​javascript:void(0)p/15357669.html​