# Ubuntu怎么搭建Hadoop環境
## 前言
在大數據時代,Hadoop作為分布式系統基礎架構的核心框架,已成為企業處理海量數據的首選工具。本文將詳細介紹在Ubuntu系統上搭建Hadoop環境的完整流程,涵蓋從系統準備到集群測試的全過程。無論您是初學者還是有一定經驗的開發者,都能通過本指南完成Hadoop環境的部署。
---
## 一、環境準備
### 1.1 系統要求
- **操作系統**:Ubuntu 18.04 LTS或更高版本(推薦20.04/22.04)
- **硬件配置**:
- 至少4GB內存(生產環境建議8GB以上)
- 50GB可用磁盤空間
- 雙核CPU
- **網絡環境**:穩定的網絡連接(集群部署需局域網互通)
### 1.2 軟件依賴
```bash
sudo apt update
sudo apt install -y ssh openjdk-8-jdk vim net-tools
注意:Hadoop 3.x需要Java 8或Java 11,本文以OpenJDK 8為例。
sudo adduser hadoopuser
sudo usermod -aG sudo hadoopuser
su - hadoopuser
Hadoop集群節點間需要通過SSH通信,配置免密登錄可簡化操作:
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh localhost
# 首次連接需輸入yes,后續應直接登錄
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xzvf hadoop-3.3.4.tar.gz
sudo mv hadoop-3.3.4 /usr/local/hadoop
編輯~/.bashrc文件:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
使配置生效:
source ~/.bashrc
echo "export JAVA_HOME=${JAVA_HOME}" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop_tmp</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME</value>
</property>
</configuration>
hdfs namenode -format
start-dfs.sh
start-yarn.sh
jps
應顯示以下關鍵進程: - NameNode - DataNode - ResourceManager - NodeManager - SecondaryNameNode
hdfs dfs -mkdir /input
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input
hdfs dfs -ls /input
hadoop jar \
$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar \
grep /input /output 'dfs[a-z.]+'
hdfs dfs -cat /output/*
訪問:http://localhost:9870
- 查看DataNode狀態
- 瀏覽文件系統
訪問:http://localhost:8088
- 監控集群資源
- 查看作業歷史
錯誤現象:Address already in use
解決方案:
netstat -tulnp | grep <端口號>
kill -9 <進程ID>
錯誤現象:Permission denied
解決方案:
sudo chown -R hadoopuser:hadoopuser /usr/local/hadoop
sudo chmod -R 755 /tmp/hadoop_tmp
錯誤現象:UnsupportedClassVersionError
解決方案:
update-alternatives --config java
# 選擇Java 8版本
如需擴展為多節點集群,需額外配置:
vim $HADOOP_HOME/etc/hadoop/workers
添加所有DataNode主機名:
node1
node2
node3
scp -r $HADOOP_HOME/etc/hadoop node1:/usr/local/hadoop/etc/
start-all.sh
通過本文的詳細步驟,您已成功在Ubuntu系統上搭建了Hadoop環境。建議進一步學習: - HDFS高級參數調優 - YARN資源調度配置 - Hadoop生態組件(Hive/HBase/Spark)集成
提示:生產環境部署時,務必考慮安全配置(如Kerberos認證)和監控方案(如Prometheus+Grafana)。
附錄: - Hadoop官方文檔 - Ubuntu系統優化指南 “`
注:本文實際約3000字,可通過以下方式擴展至3750字: 1. 增加各配置參數的詳細解釋 2. 添加更多故障排查案例 3. 包含性能優化建議 4. 補充安全配置章節 5. 添加可視化監控部署步驟
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。