安裝 Hadoop:設定單節點 Hadoop 叢集

banq發表於2021-12-29

安裝Hadoop有兩種方式,即單節點和多節點。

單節點叢集意味著只有一個DataNode在一臺機器上執行和設定所有的NameNode、DataNode、ResourceManager和NodeManager。這用於學習和測試目的。例如,讓我們考慮醫療保健行業內的樣本資料集。因此,為了測試 Oozie 作業是否已按適當順序安排了所有過程,例如收集、聚合、儲存和處理資料,我們使用單節點叢集。與包含分佈在數百臺機器上的 TB 資料的大型環境相比,它可以在較小的環境中輕鬆有效地測試順序工作流。 

而在多節點叢集中,有多個DataNode在執行,每個DataNode執行在不同的機器上。多節點叢集在組織中實際用於分析大資料。考慮上面的例子,我們實時處理PB級資料時,需要分佈在數百臺機器上進行處理。因此,這裡我們使用多節點叢集。 

 

先決條件

  • VIRTUAL BOX:用於在其上安裝作業系統。
  • 作業系統:您可以在基於 Linux 的作業系統上安裝 Hadoop。Ubuntu 和 CentOS 非常常用。在本教程中,我們使用 CentOS。    
  • JAVA:您需要在您的系統上安裝 Java 8 軟體包。
  • HADOOP:您需要 Hadoop 2.7.3 包。

 

安裝 Hadoop

步驟 1:下載 Java 8 包。將此檔案儲存在您的主目錄中。

步驟 2:提取 Java Tar 檔案。

命令: tar -xvf jdk-8u101-linux-i586.tar.gz

第 3 步:下載 Hadoop 2.7.3 包。

命令: wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz

第 4 步:提取 Hadoop tar 檔案。

命令:tar -xvf hadoop-2.7.3.tar.gz

步驟 5:在 bash 檔案 (.bashrc) 中新增 Hadoop 和 Java 路徑。

開啟 .bashrc檔案。

命令:  vi .bashrc

現在,新增 Hadoop 和 Java 路徑:

# User specific aliases and functions
export HADOORI HOME=SHOME/hadoop-2.7,3
export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop
export HADOOP MAPRED HOME=SHOME/hadoop-2.7.3
export HADOOP COMMON HOME=SHOME/hadoop -2.7.3
export HADOOP HDFS_HOME=$HOME/hadoop-2.7.3
export YARN_HOME=$HOME/hadoop 2.7.3
export PATH=$PATH: SHOME/hadoop 2.7.3/bin
# Set JAVA HOME
export JAVA_HOME=/home/edureka/jdk1.3.0_101
export PATH=/home/edureka/jdk1.8.0_101/bin: $PATH

然後,儲存 bash 檔案並關閉它。

要將所有這些更改應用於當前終端,請執行 source 命令。

source .bashrc
 

 

驗證

要確保 Java 和 Hadoop 已正確安裝在您的系統上並可通過終端訪問,請執行 java -version 和 hadoop version 命令。

 

步驟 6 :編輯Hadoop 配置檔案。

命令:  cd hadoop-2.7.3/etc/hadoop/

所有 Hadoop 配置檔案都位於hadoop-2.7.3/etc/hadoop目錄中

 

第 7 步:開啟core-site.xml並在配置標籤中編輯下面提到的屬性:

core-site.xml通知 Hadoop 守護程式 NameNode 在叢集中的執行位置。它包含 Hadoop 核心的配置設定,例如 HDFS 和 MapReduce 通用的 I/O 設定。

命令: vi core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

 

第 8 步:編輯hdfs-site.xml 並在配置標籤中編輯下面提到的屬性:

hdfs-site.xml包含 HDFS 守護程式(即 NameNode、DataNode、Secondary NameNode)的配置設定。它還包括 HDFS 的複製因子和塊大小。

vi hdfs-site.xml:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permission</name>
<value>false</value>
</property>
</configuration>

第 9 步:編輯mapred-site.xml檔案並在配置標籤中編輯下面提到的屬性:

mapred-site.xml包含 MapReduce 應用程式的配置設定,例如可以並行執行的 JVM 數量、對映器和減速器程式的大小、程式可用的 CPU 核心等。

在某些情況下,mapred-site.xml 檔案不可用。因此,我們必須使用 mapred-site.xml 模板建立 mapred-site.xml 檔案 。

cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

第 10 步:編輯yarn-site.xml 並在配置標籤中編輯下面提到的屬性:

yarn-site.xml包含 ResourceManager 和 NodeManager 的配置設定,如應用程式記憶體管理大小、程式和演算法所需的操作等。

<?xml version="1.0">
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

 

第 11 步:編輯hadoop-env.sh並新增如下所述的 Java 路徑:

hadoop-env.sh包含指令碼中用於執行 Hadoop 的環境變數,如 Java 主路徑等。

# The java implementation to use.
export JAVA HOME=/home/edureka/jdk1.8.0_101

 

第 12 步: 轉到 Hadoop 主目錄並格式化 NameNode。

命令:  cd

命令:  cd hadoop-2.7.3

命令:  bin/hadoop namenode -format

這通過 NameNode 格式化 HDFS。該命令僅在第一次執行。格式化檔案系統意味著初始化由 dfs.name.dir 變數指定的目錄。

永遠不要格式化、啟動和執行 Hadoop 檔案系統。您將丟失儲存在 HDFS 中的所有資料。  

 

步驟 13: NameNode 格式化後,進入 hadoop-2.7.3/sbin 目錄並啟動所有守護程式。

命令:  cd hadoop-2.7.3/sbin

您可以使用單個命令啟動所有守護程式,也可以單獨執行。

  ./ start-all.sh

上面的命令是 start-dfs.sh, start-yarn.sh &  mr-jobhistory-daemon.sh的組合

或者您可以單獨執行所有服務,如下所示:

  • 啟動名稱節點:

NameNode 是 HDFS 檔案系統的核心。它保留儲存在 HDFS 中的所有檔案的目錄樹,並跟蹤儲存在叢集中的所有檔案。

命令: ./hadoop-daemon.sh start namenode

  • 啟動資料節點:

在啟動時,DataNode 連線到 Namenode 並響應來自 Namenode 的不同操作的請求。

命令: ./hadoop-daemon.sh start datanode

  • 啟動資源管理器:

ResourceManager 是仲裁所有可用叢集資源的主節點,因此有助於管理在 YARN 系統上執行的分散式應用程式。它的工作是管理每個NodeManagers和每個應用程式的ApplicationMaster。

命令: ./yarn -daemon.sh start resourcemanager

  • 啟動節點管理器:

每個機器框架中的 NodeManager 是代理,負責管理容器,監控其資源使用情況並將其報告給 ResourceManager。

命令: ./yarn -daemon.sh start nodemanager

  • 啟動 JobHistoryServer:

JobHistoryServer 負責為來自客戶端的所有與作業歷史相關的請求提供服務。

命令:./mr-jobhistory-daemon.sh start historyserver

 

第 14 步:要檢查所有 Hadoop 服務是否已啟動並正在執行,請執行以下命令。

命令: jps

 

第 15 步:現在開啟 Mozilla 瀏覽器並轉到localhost:50070/dfshealth.html檢查 NameNode 介面。

 

恭喜,您已經成功安裝了一個單節點的Hadoop叢集。

 

相關文章