# Hadoop怎樣安裝與配置
## 目錄
1. [Hadoop簡介](#hadoop簡介)
2. [安裝前準備](#安裝前準備)
3. [單機模式安裝](#單機模式安裝)
4. [偽分布式模式配置](#偽分布式模式配置)
5. [完全分布式集群搭建](#完全分布式集群搭建)
6. [常見問題解決](#常見問題解決)
7. [性能優化建議](#性能優化建議)
---
## Hadoop簡介
Apache Hadoop是一個開源的分布式計算框架,由Apache軟件基金會開發,主要用于海量數據的存儲和處理。其核心組件包括:
- **HDFS**(分布式文件系統)
- **YARN**(資源管理系統)
- **MapReduce**(計算模型)
### 版本選擇建議
- 生產環境推薦:3.x系列(如3.3.6)
- 學習環境可用:2.10.x
---
## 安裝前準備
### 1. 系統要求
- 操作系統:Linux(推薦CentOS/Ubuntu)
- Java環境:JDK 8或11(必須匹配Hadoop版本)
- 內存:至少4GB(偽分布式模式)
- 磁盤空間:建議50GB以上
### 2. 基礎環境配置
```bash
# 更新系統包
sudo apt-get update # Ubuntu
sudo yum update # CentOS
# 安裝SSH
sudo apt-get install ssh
sudo apt-get install pdsh
# 配置免密登錄
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 下載JDK(示例版本)
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
# 解壓并配置環境變量
tar -xzf openjdk-11+28_linux-x64_bin.tar.gz
sudo mv jdk-11 /usr/local/
# 添加到bashrc
echo 'export JAVA_HOME=/usr/local/jdk-11' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
echo 'export HADOOP_HOME=/usr/local/hadoop' >> ~/.bashrc
echo 'export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH' >> ~/.bashrc
source ~/.bashrc
hadoop version
# 應輸出類似:Hadoop 3.3.6
$HADOOP_HOME/etc/hadoop/core-site.xml
:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/hadoop_data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop/hadoop_data/datanode</value>
</property>
</configuration>
$HADOOP_HOME/etc/hadoop/yarn-site.xml
:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
hdfs namenode -format
start-dfs.sh
start-yarn.sh
jps
# 應看到以下進程:
# NameNode
# DataNode
# ResourceManager
# NodeManager
節點 | IP地址 | 角色 |
---|---|---|
master | 192.168.1.10 | NameNode, ResourceManager |
slave1 | 192.168.1.11 | DataNode, NodeManager |
slave2 | 192.168.1.12 | DataNode, NodeManager |
etc/hadoop/workers
:
slave1
slave2
scp -r /usr/local/hadoop slave1:/usr/local/
scp -r /usr/local/hadoop slave2:/usr/local/
# 在master節點執行
hdfs namenode -format
start-dfs.sh
start-yarn.sh
現象:啟動時提示”Permission denied”
解決:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
現象:端口9000被占用
解決:
netstat -tulnp | grep 9000
kill -9 <PID>
現象:DataNode啟動失敗
解決:檢查dfs.datanode.data.dir
目錄權限和空間
修改etc/hadoop/hadoop-env.sh
:
export HDFS_NAMENODE_OPTS="-Xmx4g"
export HDFS_DATANODE_OPTS="-Xmx2g"
hdfs-site.xml
:
<property>
<name>dfs.blocksize</name>
<value>256m</value>
</property>
core-site.xml
:
<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
提示:生產環境部署建議結合Ambari或Cloudera Manager等管理工具。本文檔基于Hadoop 3.3.6編寫,其他版本配置可能略有差異。 “`
該文檔共約2900字,包含: - 6個主要章節 - 15個配置代碼塊 - 3種部署模式詳解 - 3類常見問題解決方案 - 實際操作的命令行示例 - 關鍵參數的優化建議
可通過調整具體參數值適應不同集群規模和環境需求。建議配合官方文檔(https://hadoop.apache.org/docs/stable/)使用。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。