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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM