# Linux如何安裝Hadoop
## 前言
Hadoop作為Apache基金會下的開源分布式計算框架,已成為大數據處理領域的基石技術。本文將詳細介紹在Linux系統上安裝Hadoop的完整流程,涵蓋從環境準備到集群驗證的全過程。本教程基于Hadoop 3.x版本,適用于大多數主流Linux發行版(如Ubuntu/CentOS)。
---
## 一、環境準備
### 1.1 硬件要求
- 至少4GB內存(生產環境建議16GB+)
- 雙核CPU(生產環境建議8核+)
- 50GB可用磁盤空間(數據節點需要更大)
- 千兆網絡連接(集群環境必需)
### 1.2 軟件要求
- **操作系統**:Ubuntu 20.04 LTS/CentOS 7+
- **Java環境**:JDK 8或11(推薦OpenJDK)
- **SSH服務**:用于節點間通信
- **防火墻配置**:開放必要端口(默認50070/8088等)
### 1.3 用戶與權限
建議創建專用用戶避免權限問題:
```bash
sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
sudo usermod -aG sudo hadoop # 授予sudo權限
su - hadoop # 切換用戶
Hadoop依賴Java環境,推薦安裝OpenJDK:
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk -y
# CentOS/RHEL
sudo yum install java-11-openjdk-devel -y
驗證安裝:
java -version
# 應輸出類似:openjdk version "11.0.12" 2021-07-20
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 # 應無需密碼直接登錄
# Ubuntu
sudo ufw disable
# CentOS
sudo systemctl stop firewalld
sudo systemctl disable firewalld
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
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=$(dirname $(dirname $(readlink -f $(which java))))
使配置生效:
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> <!-- 單機模式設為1 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///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
成功時會看到”Storage directory /usr/local/hadoop/data/namenode has been successfully formatted”提示。
start-dfs.sh
驗證進程:
jps
# 應看到NameNode/DataNode/SecondaryNameNode進程
start-yarn.sh
驗證資源管理器:
jps # 應新增ResourceManager/NodeManager進程
hdfs dfs -mkdir /input
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /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/*
# 應輸出包含"dfs"關鍵詞的統計結果
$HADOOP_HOME/etc/hadoop/workers
中添加從節點IPhdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes
需配置: - ZooKeeper集群 - JournalNode服務 - 雙NameNode(Active/Standby)
/etc/hosts
是否包含所有節點IP映射netstat -tulnp | grep java
hdfs-site.xml
中的dfs.datanode.data.dir
路徑hdfs dfs -expunge
通過上述步驟,您已成功在Linux系統上搭建了Hadoop單機/偽分布式環境。實際生產部署時,請根據業務需求調整配置參數,并考慮安全加固措施(如Kerberos認證)。Hadoop生態豐富,后續可進一步學習Hive、Spark等組件的集成使用。
注意事項
- 定期備份NameNode元數據 - 監控磁盤和內存使用情況 - 生產環境建議使用CDH/HDP等商業發行版 “`
該文檔共約4100字,采用Markdown格式編寫,包含: 1. 分步驟的詳細安裝指南 2. 關鍵配置文件的完整示例 3. 驗證方法和故障排查 4. 擴展集群的注意事項 5. 代碼塊與命令行的清晰區分
可根據實際環境調整路徑、版本號等參數。建議配合官方文檔食用更佳。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。