溫馨提示×

溫馨提示×

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

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

Hadoop怎么實現偽分布模式

發布時間:2021-12-09 14:18:01 來源:億速云 閱讀:160 作者:iii 欄目:大數據

Hadoop怎么實現偽分布模式

1. 引言

Hadoop是一個開源的分布式計算框架,廣泛應用于大數據處理。它由Apache基金會開發,旨在通過分布式存儲和計算來處理海量數據。Hadoop的核心組件包括HDFS(Hadoop Distributed File System)和MapReduce。HDFS負責數據的存儲,而MapReduce負責數據的處理。

在實際應用中,Hadoop通常運行在分布式集群上,但在開發和測試階段,偽分布模式(Pseudo-Distributed Mode)是一個非常有用的配置。偽分布模式允許用戶在單臺機器上模擬一個完整的Hadoop集群,從而簡化開發和調試過程。

本文將詳細介紹如何在單臺機器上配置和運行Hadoop的偽分布模式。我們將從環境準備、Hadoop安裝、配置文件修改、啟動Hadoop集群、驗證集群狀態等方面進行詳細講解。

2. 環境準備

在開始配置Hadoop偽分布模式之前,我們需要確保系統環境滿足以下要求:

2.1 操作系統

Hadoop可以在多種操作系統上運行,包括Linux、Windows和macOS。本文以Linux(Ubuntu 20.04)為例進行講解。

2.2 Java環境

Hadoop是用Java編寫的,因此需要安裝Java Development Kit (JDK)。建議使用JDK 8或更高版本。

sudo apt update
sudo apt install openjdk-8-jdk

安裝完成后,可以通過以下命令驗證Java版本:

java -version

2.3 SSH無密碼登錄

Hadoop的偽分布模式需要SSH無密碼登錄到本地主機。首先,確保SSH服務已安裝并啟動:

sudo apt install openssh-server
sudo systemctl start ssh

然后,生成SSH密鑰對并配置無密碼登錄:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

最后,驗證SSH無密碼登錄是否成功:

ssh localhost

如果不需要輸入密碼即可登錄,說明配置成功。

3. Hadoop安裝

3.1 下載Hadoop

從Apache Hadoop官網下載最新版本的Hadoop。本文以Hadoop 3.3.1為例:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

3.2 解壓Hadoop

將下載的Hadoop壓縮包解壓到指定目錄:

tar -xzvf hadoop-3.3.1.tar.gz -C /opt/

3.3 配置環境變量

為了方便使用Hadoop命令,我們需要將Hadoop的bin目錄添加到系統的PATH環境變量中。編輯~/.bashrc文件,添加以下內容:

export HADOOP_HOME=/opt/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后,使配置生效:

source ~/.bashrc

4. 配置文件修改

Hadoop的偽分布模式需要修改以下幾個配置文件:

4.1 hadoop-env.sh

編輯$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件,設置JAVA_HOME環境變量:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

4.2 core-site.xml

編輯$HADOOP_HOME/etc/hadoop/core-site.xml文件,配置HDFS的默認文件系統:

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

4.3 hdfs-site.xml

編輯$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件,配置HDFS的副本因子和NameNode、DataNode的存儲目錄:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop-3.3.1/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop-3.3.1/data/datanode</value>
    </property>
</configuration>

4.4 mapred-site.xml

編輯$HADOOP_HOME/etc/hadoop/mapred-site.xml文件,配置MapReduce框架:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

4.5 yarn-site.xml

編輯$HADOOP_HOME/etc/hadoop/yarn-site.xml文件,配置YARN資源管理器:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

5. 啟動Hadoop集群

5.1 格式化HDFS

在啟動Hadoop集群之前,需要格式化HDFS的NameNode:

hdfs namenode -format

5.2 啟動HDFS

使用以下命令啟動HDFS:

start-dfs.sh

5.3 啟動YARN

使用以下命令啟動YARN:

start-yarn.sh

5.4 啟動MapReduce JobHistory Server

如果需要查看歷史作業信息,可以啟動MapReduce JobHistory Server:

mr-jobhistory-daemon.sh start historyserver

6. 驗證集群狀態

6.1 檢查HDFS狀態

使用以下命令檢查HDFS的狀態:

hdfs dfsadmin -report

6.2 檢查YARN狀態

使用以下命令檢查YARN的狀態:

yarn node -list

6.3 訪問Web界面

Hadoop提供了Web界面,可以通過瀏覽器訪問以下URL來查看集群狀態:

  • NameNode: http://localhost:9870
  • ResourceManager: http://localhost:8088
  • JobHistory Server: http://localhost:19888

7. 運行示例程序

為了驗證Hadoop偽分布模式的配置是否正確,我們可以運行一個簡單的MapReduce示例程序。

7.1 創建輸入目錄

首先,在HDFS上創建一個輸入目錄:

hdfs dfs -mkdir /input

7.2 上傳輸入文件

將本地文件上傳到HDFS的輸入目錄中:

hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input

7.3 運行MapReduce作業

運行Hadoop自帶的wordcount示例程序:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output

7.4 查看輸出結果

作業完成后,查看輸出結果:

hdfs dfs -cat /output/*

8. 停止Hadoop集群

在完成測試后,可以使用以下命令停止Hadoop集群:

stop-yarn.sh
stop-dfs.sh
mr-jobhistory-daemon.sh stop historyserver

9. 總結

通過本文的詳細步驟,我們成功地在單臺機器上配置并運行了Hadoop的偽分布模式。偽分布模式為開發和測試提供了一個便捷的環境,使得開發者可以在本地機器上模擬一個完整的Hadoop集群,從而加快開發和調試過程。

在實際生產環境中,Hadoop通常運行在分布式集群上,但偽分布模式為我們提供了一個良好的起點,幫助我們更好地理解Hadoop的工作原理和配置方法。希望本文能夠幫助讀者順利配置和使用Hadoop的偽分布模式。

向AI問一下細節

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

AI

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