如何在 Ubuntu 22.04 LTS 上安裝 Apache Hadoop

在本教程中,我們將向您展示如何在計算機上安裝 Apache HadoopUbuntu22.04 長期支持。 對於那些不知道的人,Apache Hadoop 是一個基於 Java 的開源軟件平台,可用於管理和處理需要快速和可擴展數據處理的應用程序的大型數據集。 它基於 Java 並使用 HDFS(Hadoop 分佈式文件系統)來存儲其數據。 Hadoop 旨在部署在由數百個或超過 1,000 個專用服務器組成的網絡中。 所有這些一起來處理和處理大量和多種多樣的數據集。

本文假設您至少對 Linux 有基本的了解,您知道如何使用 shell,最重要的是,您在自己的 VPS 上託管您的網站。 安裝非常簡單,它假定您在 root 帳戶下運行,如果不是,您可能需要添加 ' sudo ' 獲取 root 權限的命令。 我將向您展示如何在 Ubuntu 22.04 (Jammy Jellyfish) 上逐步安裝 Apache Hadoop。 您可以按照 Ubuntu 22.04 和任何其他基於德比安比如 Linux Mint、Elementary OS、Pop!_OS 等等。

以前的要求

  • 運行以下操作系統之一的服務器:Ubuntu 22.04、20.04 和任何其他基於 Debian 的發行版,如 Linux Mint。
  • 建議您使用全新的操作系統安裝以避免潛在問題。
  • 通過 SSH 訪問服務器(如果您在桌面上,則只需打開終端)。
  • 一種 non-root sudo user 或訪問 root user . 我們建議充當 non-root sudo user 但是,如果您在以 root 身份運行時不小心,它可能會損壞您的系統。

在 Ubuntu 22.04 LTS Jammy Jellyfish 上安裝 Apache Hadoop

第 1 步:首先,通過運行以下命令確保系統上的所有軟件包都是最新的 apt 終端中的命令。

                      sudo apt update
sudo apt upgrade
sudo apt install wget apt-transport-https gnupg2 software-properties-common
                    

步驟 2. 安裝 Java OpenJDK。

Apache Hadoop 基於 Java,因此您需要在服務器上安裝 Java JDK。 讓我們運行以下命令來安裝默認的 JDK 版本 11:

                      sudo apt install default-jdk
                    

使用以下命令檢查 Java 版本:

                      java --version
                    

有關安裝和管理 Java OpenJDK 的其他資源,請閱讀以下帖子:

  • 如何在 Ubuntu Linux 上安裝 OpenJDK √

第 3 步。為 Hadoop 創建一個用戶。

運行以下命令以創建名為 Hadoop 的新用戶:

                      sudo adduser hadoop
                    

接下來,通過運行以下命令切換到新創建的帳戶:

                      su - hadoop
                    

現在為新創建的 Hadoop 用戶配置無密碼 SSH 訪問。 先生成SSH密鑰對:

                      ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 640 ~/.ssh/authorized_keys
                    

之後,使用以下命令檢查無密碼 SSH:

                      ssh localhost
                    

如果您在沒有密碼的情況下登錄,則可以繼續下一步。

步驟 4. 在 Ubuntu 22.04 上安裝 Apache Hadoop。

默認情況下,Apache Hadoop 在 Ubuntu 22.04 基礎存儲庫中可用。 現在運行下面的命令在你的 Ubuntu 系統上下載最新版本的 Hadoop:

                      wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
                    

接下來,解壓縮下載的文件:

                      tar xzf hadoop-3.3.4.tar.gz
mv hadoop-3.3.4 ~/hadoop
                    

現在在您的系統上設置 Hadoop 和 Java 環境變量。 打開 ~/.bashrc 在您最喜歡的文本編輯器中文件:

                      nano ~/.bashrc
                    

在文件底部添加以下內容:

                      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/home/hadoop/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
                    

保存並關閉文件,然後加載新配置:

                      source ~/.bashrc
                    

您還需要將 JAVA_HOME 設置為 hadoop-env.sh 程序。 在文本編輯器中編輯 Hadoop 環境變量文件:

                      nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
                    

添加以下行:

                      ###
# Generic settings for HADOOP
Many sites configure these options outside of Hadoop,
# such as in /etc/profile.d
# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
                    

步驟 5. 配置 Apache Hadoop。

我們已準備好配置 Hadoop 以開始接受連接。 首先,創建兩個文件夾( namenode datanode ) 之內 hdfs 目錄:

                      mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}
                    

然後編輯 core-site.xml 文件如下:

                      nano $HADOOP_HOME/etc/hadoop/core-site.xml
                    

將以下名稱更改為您的系統主機名:

                      See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->
<!-- Put site-specific property overrides in this file. --><configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>
                      
                        hdfs://localhost:9000
                      
                      </value>
    </property>
</configuration>
                    

然後編輯 hdfs-site.xml 程序:

                      nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
                    

改變NameNode和DataNode的目錄路徑如下圖:

                      See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->
<!-- Put site-specific property overrides in this file. --><configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
        <name>dfs.name.dir</name>
        <value>file:///
                      
                        home/hadoop/hadoopdata/hdfs/namenode
                      
                      </value>
        <name>dfs.data.dir</name>
        <value>file:///
                      
                        home/hadoop/hadoopdata/hdfs/datanode
                      
                      </value>
</configuration>
                    

然後編輯 mapred-site.xml 程序:

                      nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
                    

進行以下更改:

                      See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->
<!-- Put site-specific property overrides in this file. --><configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
                    

然後編輯 yarn-site.xml 程序:

                      nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
                    

為線程創建配置屬性:

                      See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
--><configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
                    

我們必須啟動Hadoop集群來運行Hadoop。 為此,我們將格式化我們的“ namenode “ 第一的:

                      hdfs namenode -format
                    

然後運行以下命令啟動Hadoop:

                      start-all.sh
                    

生產:

                      Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [Ubuntu2204]
Ubuntu2204: Warning: Permanently added 'ubuntu2204' (ED10019) to the list of known hosts.
Starting resourcemanager
Starting nodemanagers
                    

步驟 7. 配置防火牆。

現在我們使用 Apache 配置一個簡單的防火牆 (UFW),以允許在 8088 和 9870 的默認 Web 端口上進行公共訪問:

                      sudo firewall-cmd --permanent --add-port=8088/tcp
sudo firewall-cmd --permanent --add-port=9870/tcp
sudo firewall-cmd --reload
                    

步驟 8. 訪問 Apache Hadoop Web 界面。

成功安裝後,打開 Web 瀏覽器並使用 URL 訪問 Apache Hadoop 安裝嚮導 https://your-IP-address:9870 . 您將被重定向到以下頁面:

您還可以使用 URL 訪問單個 DataNode https://your-IP-address:8088 . 您應該看到以下屏幕:

Instalar Apache Hadoop en Ubuntu 22.04 LTS

要訪問 YARN 資源管理器,請使用 URL https://your-IP-address:8088 . 您應該看到以下屏幕:

Instalar Apache Hadoop en Ubuntu 22.04 LTS

恭喜! 您已成功安裝 Apache Hadoop。 感謝您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系統上安裝 Apache Hadoop。 如需更多幫助或有用信息,我們建議您諮詢Apache Hadoop 官方網站.

相關文章