如何在CentOS 8的單節點上安裝和配置Apache Hadoop?
Apache Hadoop是一個開源框架,允許對大型資料集進行分散式處理。它可以安裝和配置在單個節點上,這對於開發和測試目的很有用。在本文中,我們將討論如何在執行CentOS 8的單節點上安裝和配置Apache Hadoop。
步驟 1:安裝 Java
Apache Hadoop 要求系統上安裝 Java。要安裝 Java,請執行以下命令:
sudo dnf install java-11-openjdk-devel
步驟 2:安裝 Apache Hadoop
Apache Hadoop 可以從官方 Apache 網站下載。在撰寫本文時,最新穩定版本為 3.3.1 版。您可以使用以下命令下載它:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
下載完成後,使用以下命令解壓縮存檔:
tar -zxvf hadoop-3.3.1.tar.gz
步驟 3:配置 Hadoop
解壓縮存檔後,您需要配置 Hadoop。使用以下命令導航到 Hadoop 安裝目錄:
cd hadoop-3.3.1
接下來,使用文字編輯器開啟 etc/hadoop/hadoop-env.sh 檔案:
sudo nano etc/hadoop/hadoop-env.sh
找到以下行:
# export JAVA_HOME=
取消註釋它並設定 Java 安裝目錄的路徑:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
儲存並關閉檔案。
步驟 4:配置 Hadoop Core
接下來,使用文字編輯器開啟 etc/hadoop/core-site.xml 檔案:
sudo nano etc/hadoop/core-site.xml
新增以下行:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://:9000</value>
</property>
</configuration>
儲存並關閉檔案。
步驟 5:配置 Hadoop HDFS
使用文字編輯器開啟 etc/hadoop/hdfs-site.xml 檔案:
sudo nano etc/hadoop/hdfs-site.xml
新增以下行:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
儲存並關閉檔案。
步驟 6:格式化 HDFS
在啟動 Hadoop 之前,您需要格式化 HDFS。執行以下命令:
bin/hdfs namenode -format
步驟 7:啟動 Hadoop
要啟動 Hadoop,請執行以下命令:
sbin/start-all.sh
這將啟動 NameNode、DataNode 和 ResourceManager 守護程序。
步驟 8:驗證 Hadoop 安裝
要驗證安裝,您可以執行以下命令:
jps
這應該顯示以下程序:
1234 NameNode 5678 DataNode 9101 ResourceManager
恭喜!您已成功在執行 CentOS 的單節點上安裝和配置了 Apache Hadoop。
步驟 9:配置 Hadoop YARN
YARN(Yet Another Resource Negotiator)是 Hadoop 的資源管理層,它使多個數據處理引擎(如 Apache Spark、Apache Hive 和 Apache Pig)能夠在同一個 Hadoop 叢集上執行。
使用文字編輯器開啟 etc/hadoop/yarn-site.xml 檔案:
sudo nano etc/hadoop/yarn-site.xml
新增以下行:
<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>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/home/hadoop/hadoopdata/yarn/local</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>/home/hadoop/hadoopdata/yarn/logs</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
</configuration>
儲存並關閉檔案。
步驟 10:驗證 YARN 安裝
要驗證安裝,您可以執行以下命令:
jps
這應該除了之前的程序外,還顯示以下程序:
1234 NameNode 5678 DataNode 9101 ResourceManager 3456 NodeManager
步驟 11:測試 Hadoop
要測試 Hadoop,您可以使用 hadoop 命令列介面在 HDFS 中建立一個目錄並將檔案上傳到該目錄。
在 HDFS 中建立一個目錄:
bin/hadoop fs -mkdir /input
將檔案上傳到目錄:
bin/hadoop fs -put etc/hadoop/hadoop-env.sh /input
驗證檔案是否已上傳:
bin/hadoop fs -ls /input
這應該顯示以下輸出:
-rw-r--r-- 1 hadoop supergroup 3519 Apr 25 10:00 /input/hadoop-env.sh
恭喜!您已成功在執行 CentOS 的單節點上安裝和配置了 Apache Hadoop 並測試了其功能。您現在可以使用 Hadoop 處理和分析大型資料集。
步驟 12:停止 Hadoop
要停止 Hadoop,請執行以下命令:
sbin/stop-all.sh
這將停止所有 Hadoop 守護程序。
步驟 13:為 Hadoop 建立使用者
建議為 Hadoop 建立一個單獨的使用者。要建立使用者,請執行以下命令:
sudo useradd hadoop
為使用者設定密碼:
sudo passwd hadoop
步驟 14:授予許可權
要授予 Hadoop 使用者許可權,請建立一個 Hadoop 目錄:
sudo mkdir /home/hadoop/hadoopdata sudo chown hadoop:hadoop /home/hadoop/hadoopdata
授予 Hadoop 目錄的許可權:
sudo chmod 755 /home/hadoop/hadoopdata
步驟 15:設定環境變數
要設定環境變數,請使用文字編輯器開啟 .bashrc 檔案:
nano ~/.bashrc
新增以下行:
export HADOOP_HOME=/home/hadoop/hadoop-3.3.1 export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
儲存並關閉檔案。
步驟 16:重新載入環境變數
要重新載入環境變數,請執行以下命令:
source ~/.bashrc
步驟 17:驗證 Hadoop 使用者
要驗證 Hadoop 使用者是否已建立並具有正確的許可權,請執行以下命令:
id hadoop
這應該顯示以下輸出:
uid=1001(hadoop) gid=1001(hadoop) groups=1001(hadoop)
步驟 18:重新啟動 Hadoop
要使用新使用者和許可權重新啟動 Hadoop,請執行以下命令:
sbin/start-all.sh
恭喜!您已成功在執行 CentOS 的單節點上安裝和配置了 Apache Hadoop,為 Hadoop 建立了一個使用者,並授予了 Hadoop 目錄的許可權。您現在可以使用 Hadoop 使用者使用 Hadoop 處理和分析大型資料集。
步驟 19:配置防火牆
要允許外部訪問 Hadoop Web 介面,您需要配置防火牆以允許在埠 8088 和 9870 上的傳入連線。
要配置防火牆,請執行以下命令:
sudo firewall-cmd --zone=public --add-port=8088/tcp --permanent sudo firewall-cmd --zone=public --add-port=9870/tcp --permanent sudo firewall-cmd --reload
步驟 20:訪問 Hadoop Web 介面
要訪問 Hadoop Web 介面,請開啟 Web 瀏覽器並輸入以下 URL:
https://:9870
這將顯示 Hadoop NameNode Web 介面。您也可以在以下位置訪問 Hadoop ResourceManager Web 介面:
https://:8088
恭喜!您已成功配置防火牆以允許外部訪問 Hadoop Web 介面並訪問了 Hadoop Web 介面。您現在可以使用 Web 介面監視 Hadoop 叢集及其活動。
步驟 21:安裝 Hadoop 生態系統工具
要擴充套件 Hadoop 的功能,您可以安裝各種生態系統工具,例如 Apache Hive、Apache Pig 和 Apache Spark。這些工具允許您執行各種資料處理和分析任務。
要安裝這些工具,您可以使用 CentOS 提供的包管理器。例如,要安裝 Apache Hive,請執行以下命令:
sudo dnf install hive
類似地,您可以使用以下命令安裝 Apache Pig 和 Apache Spark:
sudo dnf install pig sudo dnf install spark
步驟 22:配置 Hadoop 生態系統工具
安裝生態系統工具後,您需要將其配置為與 Hadoop 一起使用。
要配置 Apache Hive,請使用文字編輯器開啟位於 /etc/hive/conf 目錄中的 hive-site.xml 檔案:
sudo nano /etc/hive/conf/hive-site.xml
新增以下行:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
<description>password to use against metastore database</description>
</property>
</configuration>
儲存並關閉檔案。
要配置 Apache Pig,請使用文字編輯器開啟位於 /etc/pig 目錄中的 pig.properties 檔案:
sudo nano /etc/pig/pig.properties
新增以下行:
fs.default.name=hdfs://:9000
儲存並關閉檔案。
要配置 Apache Spark,請使用文字編輯器開啟 Spark 安裝目錄的 conf 目錄中的 spark-env.sh 檔案:
sudo nano /path/to/spark/conf/spark-env.sh
新增以下行:
export HADOOP_CONF_DIR=/home/hadoop/hadoop-3.3.1/etc/hadoop export SPARK_MASTER_HOST=localhost
儲存並關閉檔案。
步驟 23:驗證 Hadoop 生態系統工具
要驗證生態系統工具的安裝和配置,您可以執行其各自的命令列介面。例如,要執行 Apache Hive 命令列介面,請執行以下命令:
hive
這應該顯示 Hive shell 提示符。類似地,您可以使用以下命令執行 Apache Pig 和 Apache Spark 命令列介面:
pig spark-shell
恭喜!您已成功安裝和配置了各種 Hadoop 生態系統工具並驗證了其功能。您現在可以使用這些工具執行各種資料處理和分析任務。
結論
在本教程中,您已成功在 CentOS 8 的單節點上安裝和配置了 Apache Hadoop。您現在可以開始嘗試使用 Hadoop 並執行本地機器上的 MapReduce 作業。隨著您對 Hadoop 的瞭解越來越深入,您可能希望擴充套件到多節點叢集以獲得更好的效能和容錯能力。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP