溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop偽分布式系統如何搭建

發布時間:2021-11-18 16:35:48 來源:億速云 閱讀:175 作者:小新 欄目:云計算
# Hadoop偽分布式系統如何搭建

## 一、前言

在大數據技術生態中,Hadoop作為核心框架,其偽分布式模式是學習和開發的重要環境。本文將詳細介紹在Linux系統(以Ubuntu為例)上搭建Hadoop 3.x偽分布式系統的完整流程,包含環境準備、配置修改及驗證步驟。

---

## 二、環境準備

### 1. 硬件要求
- 至少4GB內存
- 20GB可用磁盤空間
- 支持虛擬化的CPU

### 2. 軟件要求
| 組件           | 推薦版本   |
|----------------|-----------|
| 操作系統       | Ubuntu 20.04 LTS |
| Java           | JDK 8/11   |
| Hadoop         | 3.3.6      |
| SSH            | OpenSSH    |

### 3. 前置步驟
```bash
# 更新系統
sudo apt update && sudo apt upgrade -y

# 安裝必要工具
sudo apt install -y ssh pdsh vim net-tools

三、詳細搭建步驟

1. 創建專用用戶(推薦)

sudo adduser hadoopuser
sudo usermod -aG sudo hadoopuser
su - hadoopuser

2. 配置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

3. Java環境安裝

sudo apt install -y openjdk-11-jdk
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
source ~/.bashrc

4. Hadoop安裝配置

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 ~/hadoop

關鍵配置文件修改:

  1. hadoop-env.sh
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/hadoop/etc/hadoop/hadoop-env.sh
  1. core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoopuser/tmp</value>
  </property>
</configuration>
  1. hdfs-site.xml
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoopuser/hdfs/namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoopuser/hdfs/datanode</value>
  </property>
</configuration>
  1. mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
  1. yarn-site.xml
<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>

5. 環境變量配置

echo 'export HADOOP_HOME=/home/hadoopuser/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
source ~/.bashrc

四、啟動與驗證

1. 格式化HDFS

hdfs namenode -format

2. 啟動服務

start-dfs.sh
start-yarn.sh

3. 驗證服務

# 檢查Java進程
jps

# 預期輸出應包含:
# NameNode
# DataNode
# ResourceManager
# NodeManager
# SecondaryNameNode

# Web UI訪問:
# NameNode - http://localhost:9870
# YARN - http://localhost:8088

4. 測試MapReduce作業

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 2 4

五、常見問題解決

1. SSH連接問題

錯誤現象:Connection refused 解決方法:

sudo systemctl enable ssh
sudo systemctl start ssh

2. 端口沖突

錯誤現象:Address already in use 解決方法:

netstat -tulnp | grep <端口號>
kill -9 <進程ID>

3. 權限不足

錯誤現象:Permission denied 解決方法:

sudo chown -R hadoopuser:hadoopuser /home/hadoopuser

六、系統優化建議

  1. 內存配置調整

    • 修改yarn-site.xml中的yarn.nodemanager.resource.memory-mb
    • 調整mapred-site.xml中的mapreduce.map.memory.mb
  2. 日志管理

    # 修改日志級別
    vim $HADOOP_HOME/etc/hadoop/log4j.properties
    
  3. 定期維護

    # 清理臨時文件
    hdfs dfs -expunge
    

七、總結

偽分布式模式完整模擬了Hadoop集群環境,適合開發測試場景。通過本文的詳細步驟,您已成功搭建了一個可運行的Hadoop環境。建議后續: 1. 嘗試運行完整WordCount示例 2. 學習HDFS文件操作命令 3. 探索YARN資源調度機制

注意:生產環境請使用完全分布式集群,并配置高可用方案。

附錄: - Hadoop官方文檔 - Github問題追蹤 “`

這篇技術文檔包含: 1. 分步驟的詳細操作指南 2. 關鍵配置文件的完整示例 3. 常見問題解決方案 4. 驗證方法和優化建議 5. 標準的Markdown格式(代碼塊、表格、列表等)

可根據實際環境調整版本號和路徑參數,建議配合截圖或日志示例使用效果更佳。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女