# Hadoop環境如何實現離線安裝
## 前言
在大數據技術體系中,Hadoop作為核心基礎框架,其安裝部署是每個開發者必須掌握的技能。雖然云環境和在線安裝更為便捷,但在某些特定場景下(如內網環境、安全要求高的生產環境或網絡條件受限的情況),離線安裝成為必要選擇。本文將詳細介紹Hadoop離線安裝的全流程,涵蓋從準備工作到集群驗證的完整步驟。
## 一、離線安裝概述
### 1.1 離線安裝的應用場景
- 內網隔離的生產環境
- 網絡帶寬受限的區域
- 需要嚴格版本控制的金融/政務系統
- 需要定制化部署的特殊場景
### 1.2 離線安裝的核心挑戰
- 依賴包的手動收集
- 環境變量的精確配置
- 服務間的手動協調
- 缺少自動依賴解析
## 二、準備工作
### 2.1 硬件準備
| 組件 | 最低配置要求 | 推薦配置 |
|---------------|--------------------|-------------------|
| Master節點 | 4核CPU/8GB內存 | 8核CPU/16GB內存 |
| Worker節點 | 2核CPU/4GB內存 | 4核CPU/8GB內存 |
| 存儲空間 | 50GB可用空間 | 500GB+可用空間 |
### 2.2 軟件包準備
需要下載的離線安裝包(以Hadoop 3.3.4為例):
1. Hadoop核心包:`hadoop-3.3.4.tar.gz`
2. Java JDK:`jdk-8u371-linux-x64.tar.gz`
3. SSH工具包(可選):`openssh-server`
> **注意**:所有軟件包需通過有網絡的機器提前下載,建議使用官方鏡像站:
> - Apache鏡像站:https://archive.apache.org/dist/hadoop/core/
> - Oracle官網:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
### 2.3 環境檢查清單
```bash
# 檢查系統版本
cat /etc/*release
# 檢查防火墻狀態
sudo systemctl status firewalld
# 檢查SELinux狀態
getenforce
# 檢查主機名解析
hostname -f
# 所有節點執行
sudo hostnamectl set-hostname master # 主節點
sudo hostnamectl set-hostname worker1 # 工作節點1
# 編輯/etc/hosts文件
192.168.1.100 master
192.168.1.101 worker1
192.168.1.102 worker2
# 生成密鑰對(所有節點)
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# 主節點分發公鑰
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys worker1:~/.ssh/
# 解壓JDK到/opt目錄
sudo tar -zxvf jdk-8u371-linux-x64.tar.gz -C /opt/
# 配置環境變量(/etc/profile末尾添加)
export JAVA_HOME=/opt/jdk1.8.0_371
export PATH=$PATH:$JAVA_HOME/bin
# 使配置生效
source /etc/profile
# 驗證安裝
java -version
sudo tar -zxvf hadoop-3.3.4.tar.gz -C /opt/
sudo mv /opt/hadoop-3.3.4 /opt/hadoop
sudo chown -R hadoop:hadoop /opt/hadoop
export JAVA_HOME=/opt/jdk1.8.0_371
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/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.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
worker1
worker2
# 在/etc/profile中添加
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 使配置生效
source /etc/profile
hdfs namenode -format
# 啟動HDFS
start-dfs.sh
# 啟動YARN
start-yarn.sh
# 驗證進程
jps
主節點應有進程: - NameNode - ResourceManager - SecondaryNameNode
工作節點應有進程: - DataNode - NodeManager
服務 | 訪問地址 | 默認端口 |
---|---|---|
HDFS | http://master:9870 | 9870 |
YARN | http://master:8088 | 8088 |
DataNode | http://worker1:9864 | 9864 |
netstat -tunlp | grep 9000
# NameNode日志
tail -100f /opt/hadoop/logs/hadoop-hadoop-namenode-master.log
# DataNode日志
tail -100f /opt/hadoop/logs/hadoop-hadoop-datanode-worker1.log
# 創建目錄
hdfs dfs -mkdir /test
# 上傳文件
hdfs dfs -put /local/file /test/
# 查看文件
hdfs dfs -ls /test
# 運行示例pi計算
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar pi 10 100
通過本文詳細的離線安裝指南,您應該已經成功搭建起一個可用的Hadoop集群。離線安裝雖然過程較為繁瑣,但能幫助您深入理解Hadoop的架構原理和組件關系。建議在生產環境中: 1. 編寫自動化部署腳本 2. 建立完善的監控體系 3. 定期進行備份維護
附錄: - Hadoop官方文檔 - Hadoop配置參數詳解 “`
該文檔包含完整的離線安裝流程,通過以下優化確保專業性: 1. 采用模塊化結構,層次清晰 2. 包含具體配置示例和命令 3. 提供問題排查指南 4. 補充了驗證測試環節 5. 添加了格式化的表格和代碼塊 6. 包含版本特定的注意事項 7. 提供了相關參考資源鏈接
可根據實際環境調整版本號和配置參數,建議在正式部署前在測試環境驗證。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。