# Hadoop集群怎么構建
## 一、Hadoop集群概述
Hadoop是一個由Apache基金會開發的分布式系統基礎架構,其核心設計包括:
- HDFS(分布式文件系統)
- MapReduce(分布式計算框架)
- YARN(資源調度系統)
典型的生產環境集群包含三類節點:
1. **主節點(Master)**:運行NameNode、ResourceManager等關鍵服務
2. **從節點(Slave)**:運行DataNode、NodeManager等工作者服務
3. **客戶端節點**:提交作業和訪問集群
## 二、前期準備
### 1. 硬件要求
| 節點類型 | 建議配置 |
|---------|---------|
| Master | 16核CPU/32GB內存/1TB存儲 |
| Slave | 8核CPU/16GB內存/10TB存儲 |
| Client | 4核CPU/8GB內存即可 |
### 2. 軟件環境
- 操作系統:CentOS 7/8或Ubuntu 18.04+
- Java版本:JDK 8(必須Oracle或OpenJDK)
- SSH無密碼登錄配置
- 網絡要求:
- 節點間千兆網絡連接
- 關閉所有防火墻或開放必要端口(50070, 8088等)
## 三、詳細構建步驟
### 1. 系統基礎配置
```bash
# 所有節點執行
sudo hostnamectl set-hostname master # 分別設置hostname
echo "192.168.1.10 master" >> /etc/hosts
echo "192.168.1.11 slave1" >> /etc/hosts
echo "192.168.1.12 slave2" >> /etc/hosts
# 配置SSH免密登錄
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
tar -zxvf jdk-8u301-linux-x64.tar.gz -C /opt/
echo 'export JAVA_HOME=/opt/jdk1.8.0_301' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/tmp</value>
</property>
</configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/namenode</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
# 首次啟動需要格式化HDFS
hdfs namenode -format
# 啟動HDFS
start-dfs.sh
# 啟動YARN
start-yarn.sh
# 驗證服務
jps # 主節點應顯示NameNode/ResourceManager
# 測試HDFS寫入性能
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 1GB
# 運行WordCount示例
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /input /output
# 查看HDFS空間使用
hdfs dfsadmin -report
# 安全模式操作
hdfs dfsadmin -safemode enter/leave
# 節點退役
hdfs dfsadmin -refreshNodes
DataNode無法啟動
YARN資源分配不足
<!-- yarn-site.xml增加 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
NameNode啟動失敗
高可用方案:
性能優化:
提示:生產環境建議至少部署3個JournalNode和2個NameNode,ZooKeeper集群應為奇數節點(3/5/7臺)
通過以上步驟,一個完整的Hadoop集群即可投入生產使用。建議首次部署后在測試環境充分驗證,再遷移到生產環境。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。