溫馨提示×

Hadoop在Linux上怎樣進行集群搭建

小樊
49
2025-09-27 13:23:58
欄目: 智能運維

一、環境準備

  1. 硬件與系統要求:選擇穩定的Linux發行版(如CentOS 7、Ubuntu 24.2),建議至少3臺服務器(1臺Master節點、2臺Slave節點);每臺節點需滿足雙核CPU、8GB以上內存、100GB以上存儲空間;確保所有節點在同一局域網內,能通過IP互相訪問。
  2. 網絡配置:為每臺節點配置靜態IP地址(如Master節點192.168.1.100、Slave1192.168.1.101、Slave2192.168.1.102);編輯/etc/hosts文件,將IP與主機名映射(如192.168.1.100 master、192.168.1.101 slave1),確保節點間可通過主機名通信。
  3. Java環境安裝:Hadoop依賴Java 8或11(推薦OpenJDK),在所有節點執行:sudo yum install -y java-1.8.0-openjdk-devel(CentOS)或sudo apt install -y openjdk-11-jdk(Ubuntu);驗證安裝:java -version,需顯示Java版本信息。

二、Hadoop安裝與配置

  1. 下載與解壓Hadoop:從Apache官網下載穩定版本(如Hadoop 3.3.5),在Master節點解壓到指定目錄(如/usr/local/hadoop):wget https://downloads.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz;tar -xzvf hadoop-3.3.5.tar.gz -C /usr/local/;修改權限:chown -R hadoop:hadoop /usr/local/hadoop(建議使用專用用戶hadoop運行)。
  2. 配置環境變量:編輯~/.bashrc(或/etc/profile),添加以下內容:
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根據實際Java路徑調整
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    使配置生效:source ~/.bashrc;驗證:hadoop version,需顯示Hadoop版本信息。
  3. 核心配置文件修改:進入$HADOOP_HOME/etc/hadoop目錄,修改以下文件:
    • core-site.xml:配置HDFS的默認文件系統和臨時目錄:
      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://master:9000</value>  <!-- Master節點的主機名 -->
          </property>
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/usr/local/hadoop/tmp</value>  <!-- 臨時目錄 -->
          </property>
      </configuration>
      
    • hdfs-site.xml:配置HDFS副本數(生產環境建議3)和數據存儲路徑:
      <configuration>
          <property>
              <name>dfs.replication</name>
              <value>3</value>  <!-- 副本數 -->
          </property>
          <property>
              <name>dfs.namenode.name.dir</name>
              <value>/usr/local/hadoop/hdfs/namenode</value>  <!-- NameNode數據目錄 -->
          </property>
          <property>
              <name>dfs.datanode.data.dir</name>
              <value>/usr/local/hadoop/hdfs/datanode</value>  <!-- DataNode數據目錄 -->
          </property>
      </configuration>
      
    • mapred-site.xml(需將mapred-site.xml.template重命名為mapred-site.xml):配置MapReduce運行框架為YARN:
      <configuration>
          <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
          </property>
      </configuration>
      
    • yarn-site.xml:配置YARN資源管理器和shuffle服務:
      <configuration>
          <property>
              <name>yarn.resourcemanager.hostname</name>
              <value>master</value>  <!-- ResourceManager節點的主機名 -->
          </property>
          <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
          </property>
      </configuration>
      
    將配置文件同步到所有Slave節點:scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave1:$HADOOP_HOME/etc/hadoop/;scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave2:$HADOOP_HOME/etc/hadoop/。
  4. SSH免密登錄配置:在Master節點生成SSH密鑰:ssh-keygen -t rsa(直接按回車鍵,默認路徑);將公鑰復制到所有Slave節點:ssh-copy-id hadoop@slave1;ssh-copy-id hadoop@slave2;測試免密登錄:ssh slave1、ssh slave2,無需輸入密碼即可登錄。

三、啟動集群

  1. 格式化HDFS:僅在Master節點執行一次(會清空HDFS數據):hdfs namenode -format;此命令會創建NameNode的元數據目錄。
  2. 啟動HDFS:在Master節點執行:start-dfs.sh;啟動后,NameNode(NameNode進程)、DataNode(DataNode進程)會在Master和Slave節點上自動啟動。
  3. 啟動YARN:在Master節點執行:start-yarn.sh;ResourceManager(ResourceManager進程)會在Master節點啟動,NodeManager(NodeManager進程)會在所有Slave節點啟動。

四、驗證集群

  1. 查看進程:在任意節點執行jps,Master節點應顯示NameNode、ResourceManager,Slave節點應顯示DataNode、NodeManager。
  2. 查看HDFS狀態:執行hdfs dfsadmin -report,查看DataNode列表和存儲容量。
  3. 查看YARN狀態:執行yarn node -list,查看NodeManager列表和資源使用情況。
  4. 訪問Web界面:在瀏覽器中輸入http://master:9870(HDFS Web界面),http://master:8088(YARN Web界面),查看集群運行狀態。

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