溫馨提示×

CentOS HDFS與YARN集成實踐

小樊
47
2025-10-11 11:05:28
欄目: 智能運維

CentOS環境下HDFS與YARN集成實踐指南
HDFS(Hadoop分布式文件系統)負責分布式存儲,YARN(Yet Another Resource Negotiator)負責資源管理與任務調度,二者集成是構建Hadoop大數據生態的核心步驟。以下是在CentOS系統上的詳細集成實踐流程:

一、前置準備

集成前需完成以下基礎配置,確保集群環境一致性:

  1. 系統環境配置
    • 使用CentOS 7及以上版本操作系統;
    • 關閉防火墻(systemctl stop firewalld && systemctl disable firewalld)以簡化端口測試;
    • 禁用SELinux(setenforce 0并修改/etc/selinux/configSELINUX=disabled);
    • 配置NTP時間同步(如yum install chrony -y && systemctl enable --now chronyd),避免節點間時間偏差。
  2. 主機名與IP映射
    編輯所有節點的/etc/hosts文件,添加<IP地址> <主機名>映射(如192.168.1.100 namenode、192.168.1.101 datanode1),確保主機名解析正確。
  3. SSH無密鑰登錄
    在NameNode節點生成SSH密鑰(ssh-keygen -t rsa),并將公鑰(id_rsa.pub)復制到所有DataNode節點(ssh-copy-id datanode1),實現免密登錄。
  4. 安裝JDK 8
    所有節點安裝OpenJDK 8(yum install java-1.8.0-openjdk-devel -y),并通過java -version驗證安裝(需顯示1.8.0版本)。

二、Hadoop安裝與基礎配置

  1. 下載與解壓Hadoop
    從Apache官網下載Hadoop穩定版(如3.3.1),解壓至/usr/local/目錄:
    wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
    tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
    
  2. 配置環境變量
    編輯/etc/profile.d/hadoop.sh文件,添加以下內容:
    export HADOOP_HOME=/usr/local/hadoop-3.3.1
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    執行source /etc/profile.d/hadoop.sh使配置生效。
  3. 核心配置文件修改
    • core-site.xml(HDFS核心配置):
      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://namenode:9000</value> <!-- NameNode地址 -->
          </property>
      </configuration>
      
    • hdfs-site.xml(HDFS副本與數據目錄):
      <configuration>
          <property>
              <name>dfs.replication</name>
              <value>1</value> <!-- 副本數(生產環境建議≥3) -->
          </property>
          <property>
              <name>dfs.namenode.name.dir</name>
              <value>/usr/local/hadoop-3.3.1/data/namenode</value> <!-- NameNode數據目錄 -->
          </property>
          <property>
              <name>dfs.datanode.data.dir</name>
              <value>/usr/local/hadoop-3.3.1/data/datanode</value> <!-- DataNode數據目錄 -->
          </property>
      </configuration>
      
    • yarn-site.xml(YARN資源管理配置):
      <configuration>
          <property>
              <name>yarn.resourcemanager.hostname</name>
              <value>namenode</value> <!-- ResourceManager所在節點 -->
          </property>
          <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value> <!-- MapReduce Shuffle服務 -->
          </property>
      </configuration>
      
    • mapred-site.xml(MapReduce框架綁定):
      mapred-site.xml不存在,可復制模板生成(cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml),然后添加:
      <configuration>
          <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value> <!-- 綁定YARN作為資源調度框架 -->
          </property>
      </configuration>
      

三、HDFS集群初始化與啟動

  1. 格式化NameNode
    在NameNode節點執行格式化命令(僅首次啟動需執行,會清除已有數據):
    hdfs namenode -format
    
  2. 啟動HDFS集群
    執行start-dfs.sh腳本啟動HDFS服務,啟動后可通過jps命令查看進程:
    start-dfs.sh
    jps  # 應顯示NameNode、DataNode進程(若配置了SecondaryNameNode,也會顯示)
    
  3. 驗證HDFS狀態
    • 訪問HDFS Web界面(http://namenode:50070),查看集群狀態;
    • 創建輸入目錄并上傳測試文件:
      hdfs dfs -mkdir -p /input
      hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input  # 上傳示例文件
      

四、YARN集群啟動與集成

  1. 啟動YARN服務
    在ResourceManager節點執行start-yarn.sh腳本啟動YARN服務,然后在所有DataNode節點啟動NodeManager(若已同步配置文件,可直接在ResourceManager節點執行yarn-daemon.sh start nodemanager):
    start-yarn.sh
    
  2. 驗證YARN狀態
    • 訪問YARN Web界面(http://namenode:8088),查看ResourceManager與NodeManager狀態;
    • 查看集群資源使用情況(yarn node -list)。

五、集成驗證(運行MapReduce作業)

通過運行經典的WordCount程序,驗證HDFS與YARN的集成是否成功:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
  • 步驟說明
    1. /input為HDFS中的輸入目錄(需提前創建并上傳文件);
    2. /output為輸出目錄(需確保不存在,YARN會自動創建);
    3. 執行完成后,通過hdfs dfs -cat /output/part-r-00000查看結果。
  • 預期結果
    若作業成功執行,Web界面會顯示作業狀態為“SUCCEEDED”,且/output目錄下生成統計結果文件。

注意事項

  • 配置一致性:所有節點的core-site.xml、hdfs-site.xml、yarn-site.xml需保持一致;
  • 端口開放:確保防火墻開放HDFS(9000、50070)、YARN(8088)等關鍵端口;
  • 生產環境建議:使用Hadoop 3.x及以上版本,配置HDFS副本數≥3、YARN ResourceManager HA(高可用),并定期備份NameNode元數據。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女