1. 程式人生 > >Hadoop各個配置檔案的作用

Hadoop各個配置檔案的作用

core-site.xml

 其中 fs.defaultFS 配置的地址就是java程式碼訪問的時候的路徑,需要配置在java程式碼中程式碼中要用IP:9000不能用localhost

 <configuration>
       <property>
         <!-- 這個屬性用來指定namenode的hdfs協議的檔案系統通訊地址,可以指定一個主機+埠,也可以指定為一個namenode服務(這個服務內部可以有多臺namenode實現ha的namenode服務) -->

          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
       </property>
       <property>
          <!-- 這個屬性用來執行檔案IO緩衝區的大小-->

          <name>io.file.buffer.size</name>
          <value>131072</value>
        </property>
       <property>
         <!-- 指定hadoop臨時目錄,前面用file:表示是本地目錄。也可以直接使用/usr/local/hadoop/tm,我估計不加file:應該也可以。hadoop在執行過程中肯定會有臨時檔案或緩衝之類的,必然需要一個臨時目錄來存放,這裡就是指定這個的。當然這個目錄前面我們已經建立好了。 -->

         <name>hadoop.tmp.dir</name>
         <value>file:/usr/local/hadoop-2.4.1/tmp</value>
         <description>Abase for other temporary   directories.</description>
       </property>
        <property>
            <!-- 配置ipc傳輸大小 -->
           <name>ipc.maximum.data.length</name>
           <value>134217728</value>
        </property>

</configuration>

hdfs-site.xml

 dfs.namenode.secondary.http-address 這個地址就是檔案系統瀏覽器訪問地址

主namenode有個hdfs協議的訪問地址:http://192.168.187.128:50070

secondNamenode有個http協議的訪問地址:http://192.168.187.128:50071

 <configuration>

       <property>

            <!-- secondary namenode的http通訊地址,有何用呢?為何不用hdfs協議了?我還不太清楚-->
                <name>dfs.namenode.secondary.http-address</name>
               <value>localhost:50070</value>
       </property>
     <property>
            <!-- namenode資料的存放地點。也就是namenode元資料存放的地方,記錄了hdfs系統中檔案的元資料-->

             <name>dfs.namenode.name.dir</name>
             <value>file:/usr/local/hadoop-2.4.1/dfs/name</value>
       </property>
      <property>
            <!-- datanode資料的存放地點。也就是block塊存放的目錄了-->

              <name>dfs.datanode.data.dir</name>
              <value>file:/usr/local/hadoop-2.4.1/dfs/data</value>
       </property>
       <property>
            <!-- hdfs的副本數設定。也就是上傳一個檔案,其分割為block塊後,每個block的冗餘副本個數-->

               <name>dfs.replication</name>
               <value>3</value>
        </property>
        <property>
            <!-- 開啟hdfs的web訪問介面。好像預設埠是50070-->

                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
         </property>
</configuration>

 

yarn-site.xml

<property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
        </property>
        <property>                                                                
               <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
               <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
            <!--yarn總管理器的IPC通訊地址-->
               <name>yarn.resourcemanager.address</name>
               <value>singlehost:8032</value>
       </property>
       <property>
            <!--yarn總管理器排程程式的IPC通訊地址-->
               <name>yarn.resourcemanager.scheduler.address</name>
               <value>singlehost:8030</value>
       </property>
       <property>
            <!--yarn總管理器的IPC通訊地址-->
            <name>yarn.resourcemanager.resource-tracker.address</name>
             <value>singlehost:8031</value>
      </property>
      <property>
            <!--yarn總管理器的IPC管理地址-->
              <name>yarn.resourcemanager.admin.address</name>
               <value>singlehost:8033</value>
       </property>
       <property>
            <!--yarn總管理器的web http通訊地址-->
               <name>yarn.resourcemanager.webapp.address</name>
               <value>singlehost:8088</value>
       </property>

mapred-site.xml

MapReduce內部的一個通訊地址:singlehost:10020

MapReduce外部web訪問的地址:singlehost:19888

 <configuration>
          <property> 
            <!---- 指定mr框架為yarn方式,Hadoop二代MP也基於資源管理系統Yarn來執行 -->

             <name>mapreduce.framework.name</name>
             <value>yarn</value>
           </property>
          <property>
        <!---- 指定mr框架jobhistory的內部通訊地址。目前還不知道是做什麼的 -->

                  <name>mapreduce.jobhistory.address</name>
                  <value>singlehost:10020</value>
          </property>
          <property>

        <!---- 指定mr框架web檢視的地址 -->
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>singleshost:19888</value>
       </property>
</configuration>