Hadoop 單節點(或集群)基本配置信息


1. 默認配置文件: 存放於Hadoop對應的jar包中

  • core-default.xml
  • hdfs-default.xml
  • yarn-default.xml
  • mapred-default.xml

2. 自定義配置文件: $HADOOP_HOME/etc/hadoop

  • core-site.xml
  • hdfs-site.xml
  • yarn-site.xml
  • mapred-site.xml

2.1 core-site.xml

 <configuration>
      <property>
          <!-- 指定HDFS中NameNode的地址 -->
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
      </property>
          <!-- 指定Hadoop運行時產生文件的存儲目錄,hadoop啟動時,會自動創建 -->
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/(自定義路徑)/hadoop-2.8.5/data/tmp</value>
          </property>
  </configuration>

2.2 hadoop-env.sh

export JAVA_HOME=服務器java環境變量

2.3 hdfs-site.xml

 <configuration>
    <!-- nameNode 文件的副本數量 -->
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
     <!-- nameNode 的訪問地址-->
     <property>
         <name>dfs.namenode.rpc-bind-host</name>
         <value>0.0.0.0</value>
     </property>
 </configuration>

2.4 yarn-site.xml

<configuration>
     <!-- Reducer 獲取數據的方式-->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
     <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>0.0.0.0</value>
     </property>
     <!-- 指定YARN 的 ResourceManager 的地址-->
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>${yarn.resourcemanager.hostname}:8090</value>
     </property>
     <!-- 開啟日志聚集功能 -->
     <property>
         <name>yarn.log-aggregation-enable</name>
         <value>true</value>
     </property>
     <!-- 日志保留7天 -->
     <property>
         <name>yarn.log-aggregation.retain-seconds</name>
         <value>604800</value>
      </property>
  </configuration>

2.5 yarn-env.sh 配置

export JAVA_HOME=服務器java環境變量

2.6 mapred-site.xml

 <configuration>
     <!-- 指定MR運行在YARN上 -->
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
     <!-- 歷史記錄服務器端地址 -->
     <property>
         <name>mapreduce.jobhistory.address</name>
         <value>localhost:10020</value>
     </property>
     <!-- 歷史服務器web端地址 -->
     <property>
         <name>mapreduce.jobhistory.webapp.address</name>
         <value>0.0.0.0:8091</value>
     </property>
 </configuration>

2.7 mapred-env.sh 配置

export JAVA_HOME=服務器java環境變量

3. Hadoop 集群配置

3.1 節點內容預覽

節點1 節點2 節點3
HDFS NameNode
DataNode

DataNode
SecondaryNameNode
DataNode
YARN
NodeManager
ResourceManager
NodeManager

NodeManager

3.2 core-site.xml 配置

<configuration>
      <property>
          <!-- 指定HDFS中NameNode的地址 -->
          <name>fs.defaultFS</name>
          <value>hdfs://節點1:9000</value>
      </property>
          <!-- 指定Hadoop運行時產生文件的存儲目錄,hadoop啟動時,會自動創建 -->
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/(自定義路徑)/hadoop-2.8.5/data/tmp</value>
          </property>
  </configuration>

3.3 hadoop-env.sh 配置

export JAVA_HOME=服務器java環境變量

3.4 hdfs-site.xml 配置

<configuration>
    <!-- nameNode 文件的副本數量 -->
     <property>
         <name>dfs.replication</name>
         <value>3</value>
     </property>
     <!-- 指定 Hadoop 輔助名稱節點主機配置(SecondaryNameNode) -->
     <property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>節點3主機名稱:端口號</value>
     </property>
 </configuration>

3.5 yarn-env.sh 配置

export JAVA_HOME=服務器java環境變量

3.6 yarn-site.xml 配置

<configuration>
     <!-- Reducer 獲取數據的方式-->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
     <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>節點2</value>
     </property>
     <!-- 指定YARN 的 ResourceManager 的地址-->
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>${yarn.resourcemanager.hostname}:8090</value>
     </property>
     <!-- 開啟日志聚集功能 -->
     <property>
         <name>yarn.log-aggregation-enable</name>
         <value>true</value>
     </property>
     <!-- 日志保留7天 -->
     <property>
         <name>yarn.log-aggregation.retain-seconds</name>
         <value>604800</value>
      </property>
  </configuration>

3.7 mapred-env.sh 配置

export JAVA_HOME=服務器java環境變量

3.8 mapred-site.xml 配置

 <configuration>
     <!-- 指定MR運行在YARN上 -->
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
 </configuration>

3.9 slaves 配置

節點1
節點2
節點3

4. 常用命令

  1. bin/hdfs namenode -format: 格式化命令;執行命令前,需要將單節點(或集群)中的/data,/logs目錄刪除。
  2. bin/hdfs dfs -put 待上傳文件 上傳的目的地:將本地文件上傳至hdfs中。
  3. sbin/hadoop-daemon.sh start(stop) namenode: 啟動(或停止)單節點NameNode。
  4. sbin/hadoop-daemon.sh start(stop) datanode: 啟動(或停止)單節點DataNode。
  5. sbin/yarn-daemon.sh start(stop) resourcemanager: 啟動(或停止)單節點ResourceManager。
  6. sbin/yarn-daemon.sh start(stop) nodemanager: 啟動(或停止)單節點NodeManager。
  7. sbin/mr-jobhistory-daemon.sh start(stop) historyserver: 啟動(或停止)單節點History記錄。
  8. sbin/start-dfs.sh: 啟動HDFS集群(注意:所有節點均已配置"Hadoop目錄/etc/hadoop/slaves")。
  9. sbin/start-yarn.sh: 啟動YARN集群(注意:所有節點均已配置"Hadoop目錄/etc/hadoop/slaves"; 另外,需要在ResourceManager服務器啟動)。
  10. sbin/stop-dfs.sh: 停止HDFS集群。
  11. sbin/stop-yarn.sh: 停止YARN集群。

5. 集群時間同步

  • 時間同步的方式:找一個機器, 作為時間服務器,所有機器與這台集群時間進行定時的同步;
    • 檢查ntp是否安裝rpm -qa|grep ntp
    • 修改ntp配置文件/etc/ntp.conf
    • 修改/etc/sysconfig/ntpd文件;
      • 讓硬件時間與系統時間一起同步;
    • 重啟ntpd服務;
    • 設置ntpd服務開機啟動;


**參考資料:** - [設置集群時間同步](https://www.bilibili.com/video/av32081351/?p=44) - [rpm命令](http://man.linuxde.net/rpm)


免責聲明!

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



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