Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 部署 Hadoop 1.2.1 偽分散模式完整教學 (Fedora 19)

編輯:Linux 系統常見問題解答

環境規劃

步驟一:配置 SSH 免密登入

# 1. 確認工具
which ssh ssh-keygen sshd

# 2. 生成金鑰對 (一路 Enter)
ssh-keygen -t rsa

# 3. 修改 sshd 設定啟用公開金鑰認證
su -
vim /etc/ssh/sshd_config
# 確保以下三行存在且未註解:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

# 4. 重啟 sshd
systemctl restart sshd

# 5. 回 hadoop 用戶,授權金鑰
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

# 6. 測試免密登入
ssh localhost
# 首次需輸入 yes 確認 known_hosts

步驟二:安裝 Oracle JDK (替換 OpenJDK)

# 1. 下載 jdk-6u45-linux-i586.bin 至 ~/ 並賦權
chmod +x jdk-6u45-linux-i586.bin
./jdk-6u45-linux-i586.bin
rm jdk-6u45-linux-i586.bin

# 2. 設定環境變數 (~/.bashrc 或 /etc/profile)
export JAVA_HOME=/home/hadoop/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin

# 3. 驗證
java -version
# 應顯示 Java(TM) SE Runtime Environment 1.6.0_45

步驟三:安裝 Hadoop

# 1. 下載 hadoop-1.2.1.tar.gz 至 ~/ 並解壓
tar -xzf hadoop-1.2.1.tar.gz
rm hadoop-1.2.1.tar.gz

# 2. 設定 hadoop-env.sh
cd hadoop-1.2.1/conf
vim hadoop-env.sh
# 修改:
export JAVA_HOME=/home/hadoop/jdk1.6.0_45

步驟四:核心配置檔修改

1. core-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

2. mapred-site.xml

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
</configuration>

3. hdfs-site.xml (偽分散 replication=1)

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

4. masters / slaves

echo "localhost" > masters
echo "localhost" > slaves

步驟五:格式化 HDFS 與啟動

# 1. 格式化 NameNode (僅首次)
cd ~/hadoop-1.2.1
bin/hadoop namenode -format

# 2. 啟動所有服務
bin/start-all.sh
# 或分別啟動
bin/start-dfs.sh
bin/start-mapred.sh

步驟六:驗證與常用操作

# 1. 檢查進程
jps
# 應見到:NameNode, DataNode, SecondaryNameNode, JobTracker, TaskTracker

# 2. Web UI
# NameNode: https://localhost:50070
# JobTracker: https://localhost:50030

# 3. 執行範例 (Pi 估算)
bin/hadoop jar hadoop-examples-*.jar pi 10 100

# 4. HDFS 基本操作
bin/hadoop fs -mkdir /user/hadoop/input
bin/hadoop fs -put conf/*.xml /user/hadoop/input
bin/hadoop fs -ls /user/hadoop/input

常見問題排查

  • SSH 免密失敗:檢查 ~/.ssh 權限 (700)、authorized_keys (644)、sshd_config 公開金鑰認證開啟
  • Java 版本不符:Hadoop 1.x 需 JDK 6/7,JDK 8+ 可能相容性問題
  • NameNode 格式化失敗:確認 core-site.xml fs.default.name 指向正確、目錄權限
  • DataNode 無法啟動:檢查 hdfs-site.xml dfs.data.dir、磁碟空間、防火牆
  • 32/64 位不匹配:Fedora 19 i386 需 32-bit JDK/Hadoop native libs

升級建議

Hadoop 1.x 已停止維護 (EOL)。生產環境強烈建議遷移至 Hadoop 3.x (YARN 架構) 或使用發佈版 (CDH, HDP, Apache Bigtop)。偽分散模式僅適合開發測試。

Copyright © Windows教程網 All Rights Reserved
項目規格
OSFedora 19 (32-bit)
使用者hadoop (非 root)
Hadoop1.2.1
JavaOracle JDK 1.6.0_45 (替換 OpenJDK)
SSH本地免密登入 (localhost)