溫馨提示×

Hadoop集群Ubuntu上如何搭建

小樊
35
2025-10-19 00:15:20
欄目: 智能運維

Hadoop集群在Ubuntu上的搭建步驟

1. 環境準備

  • 硬件要求:每臺節點需滿足雙核CPU、8GB以上內存、100GB以上硬盤空間(可根據數據量調整);
  • 網絡配置:所有節點需在同一局域網內,能通過主機名或IP互相通信(建議關閉防火墻或開放必要端口,如9000、50070、8088等);
  • 節點規劃:至少1臺Master節點(運行NameNode、ResourceManager),1臺及以上Slave節點(運行DataNode、NodeManager)。

2. 安裝Java環境

Hadoop依賴Java運行環境,推薦使用OpenJDK 8或11(兼容性更好):

# 更新軟件包索引
sudo apt update
# 安裝OpenJDK 11(Ubuntu 22.04+默認倉庫版本)
sudo apt install -y openjdk-11-jdk
# 驗證安裝(需顯示Java版本信息)
java -version

注意:若使用Hadoop 3.3.x及以上版本,建議選擇OpenJDK 11以避免兼容性問題。

3. 配置SSH免密碼登錄

Hadoop集群節點間需通過SSH無密碼通信,避免每次操作輸入密碼:

# 在Master節點上生成SSH密鑰對(默認保存到~/.ssh/id_rsa)
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
# 將公鑰復制到所有Slave節點(替換user為節點用戶名,slave-ip為Slave節點IP)
ssh-copy-id user@slave-ip
# 測試免密登錄(無需密碼即可登錄Slave節點)
ssh user@slave-ip

4. 下載并解壓Hadoop

從Apache官網下載穩定版本的Hadoop(如3.3.6),解壓到指定目錄:

# 創建Hadoop安裝目錄
sudo mkdir -p /usr/local/hadoop
# 下載Hadoop(以3.3.6為例,可通過wget或瀏覽器下載)
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
# 解壓到安裝目錄
sudo tar -zxvf hadoop-3.3.6.tar.gz -C /usr/local/hadoop
# 修改目錄所有者(替換hadoop為當前用戶)
sudo chown -R hadoop:hadoop /usr/local/hadoop

5. 配置Hadoop環境變量

編輯~/.bashrc文件,添加Hadoop和Java環境變量:

# 打開.bashrc文件
nano ~/.bashrc
# 在文件末尾添加以下內容(替換路徑為用戶實際路徑)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # Java安裝路徑
export HADOOP_HOME=/usr/local/hadoop                # Hadoop安裝路徑
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 添加Hadoop命令到PATH
# 保存并退出(Ctrl+O→回車→Ctrl+X)
# 使環境變量生效
source ~/.bashrc

6. 配置Hadoop核心文件

進入Hadoop配置目錄($HADOOP_HOME/etc/hadoop),修改以下關鍵文件:

6.1 core-site.xml(HDFS核心配置)

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value> <!-- Master節點主機名,端口默認9000 -->
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value> <!-- Hadoop臨時目錄 -->
    </property>
</configuration>

6.2 hdfs-site.xml(HDFS存儲配置)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value> <!-- 數據副本數(根據節點數量調整,建議2-3) -->
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop/data/namenode</value> <!-- NameNode元數據存儲路徑 -->
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/data/datanode</value> <!-- DataNode數據存儲路徑 -->
    </property>
</configuration>

6.3 mapred-site.xml(MapReduce配置)

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value> <!-- 使用YARN作為資源管理框架 -->
    </property>
</configuration>

6.4 yarn-site.xml(YARN配置)

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value> <!-- ResourceManager所在節點主機名 -->
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value> <!-- MapReduce Shuffle服務 -->
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

7. 格式化HDFS

首次啟動Hadoop前,需格式化NameNode(會清除原有數據,僅第一次需要):

# 切換到Hadoop用戶(替換hadoop為當前用戶)
su - hadoop
# 格式化NameNode
hdfs namenode -format

8. 啟動Hadoop集群

8.1 啟動HDFS

# 在Master節點上啟動HDFS服務
$HADOOP_HOME/sbin/start-dfs.sh

8.2 啟動YARN

# 在Master節點上啟動YARN服務
$HADOOP_HOME/sbin/start-yarn.sh

8.3 查看進程狀態

# 在Master節點上查看Hadoop進程(需顯示NameNode、DataNode、ResourceManager、NodeManager)
jps

9. 驗證集群狀態

9.1 訪問Web界面

  • HDFS NameNode:瀏覽器輸入http://master:9870(Hadoop 3.x版本端口為9870,2.x為50070);
  • YARN ResourceManager:瀏覽器輸入http://master:8088。

9.2 檢查節點狀態

# 查看HDFS節點列表
hdfs dfsadmin -report
# 查看YARN節點列表
yarn node -list

常見問題解決

  • 權限問題:若啟動時報權限錯誤,需確保Hadoop目錄所有者為當前用戶(sudo chown -R hadoop:hadoop /usr/local/hadoop);
  • 端口沖突:若端口被占用,可修改core-site.xml、yarn-site.xml中的端口(如9000改為9001);
  • SSH連接失敗:檢查~/.ssh/authorized_keys文件權限(需設置為600),或重新生成密鑰。

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