主頁 >  其他 > 2021年 全網最細大資料學習筆記(二):Hadoop 偽分布式安裝

2021年 全網最細大資料學習筆記(二):Hadoop 偽分布式安裝

2021-04-06 10:25:42 其他

文章目錄

  • 一、Linux 作業系統的安裝
  • 二、在 Ubuntu 20.04.2.0 中 進行 Hadoop 偽分布式安裝
    • 1、Ubuntu 20.04.2.0 安裝 jdk
    • 2、配置 SSH 無密碼登錄
    • 3、Hadoop 的下載與安裝
    • 4、Hadoop 環境配置
    • 5、啟動與關閉 Hadoop
    • 6、查看 Hadoop 的基本資訊
      • 6.1、查看 HDFS Web 界面
      • 6.2、查看 YARN Web 界面
  • 三、在 Centos7 中 進行 Hadoop 偽分布式安裝

一、Linux 作業系統的安裝

  1. 2021年 全網最細 Windows 系統安裝虛擬機Vmware15 及 CentOS7系統和遠程登錄
  2. 2021年全網最細 VirtualBox 虛擬機安裝 Ubuntu 20.04.2.0 LTS及Ubuntu的相關配置

二、在 Ubuntu 20.04.2.0 中 進行 Hadoop 偽分布式安裝

在安裝 Hadoop 之前,需要先安裝兩個程式,分別為:

(1) JDK,Hadoop 使用的是 Java 寫的程式,Hadoop 的編譯及 MapReduce 的運行都需要使用 JDK,因此在安裝 Hadoop 之前,必須先安裝 JDK,
(2) SSH(安全外殼協議),推薦安裝 OpenSSH,Hadoop 需要通過 SSH 無密碼連接 Slave 串列中各臺主機的守護行程,因此 SSH 也是必須安裝的,

本節介紹 JDK 的檢查與安裝,

1、Ubuntu 20.04.2.0 安裝 jdk

在安裝 JDK 之前,可以首先檢查一下系統是否安裝了 JDK,檢查方法如下,打開終端,輸入以下內容,來檢查 JDK 是否可用:

javac

如果沒有安裝 JDK 的話,執行結果如下圖所示:
在這里插入圖片描述
如果上述命令回傳 Command 'java' not found 或者類似的錯誤,這時需要下載并安裝 JDK,本篇博文用的 jdk 版本為:jdk-8u202-linux-x64.tar.gz,如果讀者要安裝其他版本的 jdk,可以自行到官網進行下載,jdk 下載比較簡單,這里博主就不再贅述,不想下載也可以直接從下面的網盤中進行獲取,鏈接如下:

鏈接:https://pan.baidu.com/s/1M_uFasC58iLB5HtzmnZWdQ 
提取碼:i8yt 
復制這段內容后打開百度網盤手機App,操作更方便哦--來自百度網盤超級會員V6的分享

(1) 將下載好的 JDK 安裝包放到共享檔案夾中 (在 2021年全網最細 VirtualBox 虛擬機安裝 Ubuntu 20.04.2.0 LTS及Ubuntu的相關配置 一文中詳細介紹了如何設定了共享檔案夾,博主 Windows 10 系統的共享檔案夾路徑為 D:\VirtualBox-Share,Ubuntu 系統中的共享檔案夾名為 sf_VirtualBox-Share)

然后在 Ubuntu 系統的 home 目錄(也稱為主目錄)下,新建檔案夾名為 JDK,將 JDK 安裝包復制此 JDK 檔案夾中,復制好之后,在此檔案夾空白處單擊滑鼠右鍵,選擇 在終端打開,打開終端,如下圖所示:
在這里插入圖片描述
(2) 解壓 JDK 安裝包,將安裝包 jdk-8u202-linux-x64.tar.gz 解壓到當前檔案夾,命令如下:

tar -zxvf jdk-8u202-linux-x64.tar.gz

命令及執行結果如下圖所示:
在這里插入圖片描述
解壓完成后,在當前檔案夾中,得到名為 jdk1.8.0_191 的檔案夾,為了后期設定環境變數更加方便,將名字重命名為 jdk1.8,如下圖所示:
在這里插入圖片描述
說明:解壓即安裝,

(3) 設定環境變數,編輯組態檔,首先需要打開組態檔,然后將環境變數添加到檔案末尾,

在終端輸入如下命令,打開組態檔,

sudo gedit /etc/profile

然后按照提示,輸入 root 用戶的密碼,輸入密碼后,敲擊回車進入檔案編輯界面,如下圖所示:
在這里插入圖片描述
將下面的命令輸入到組態檔中:

export JAVA_HOME=/home/bigdata01/JDK/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

注意,JAVA_HOME 后面的為解壓后的 JDK 檔案夾,讀者需要根據實際情況進行修改,組態檔修改完成后,Ctrl + s 即可保存然后退出,重新加載組態檔,命令如下:

source /etc/profile

驗證是否安裝 JDK 成功,輸入如下命令查詢 JDK 版本:

java -version

執行結果如下圖所示:
在這里插入圖片描述
如上圖所示的執行結果中,顯示了 JDK 的版本資訊,則說明 JDK 安裝成功,

說明:也可以使用 sudo vi /etc/profile 命令打開組態檔,然后按照提示,輸入 root 用戶的密碼,輸入密碼后,敲擊回車進入檔案編輯界面,使用快捷鍵 <Shift+g> 將游標移到檔案末尾,按 i 鍵進入編輯狀態,將上面的命令輸入到組態檔中,組態檔修改完成后,按 Esc 退出編輯狀態,輸入 :wq 命令,敲擊回車之后即可保存并退出,最后重新加載組態檔即可,

2、配置 SSH 無密碼登錄

SSH 為 Secure Shell 的縮寫,即安全外殼協議,為建立在應用層基礎上的安全協議,Hadoop 使用 SSH 連接,這是目前較為可靠,專為遠程登錄其他服務器提供的安全性協議,通過 SSH 會對所有傳輸的資料進行加密,利用 SSH 協議可以防止遠程管理系統時資訊外泄的問題,

Hadoop 是由很多臺服務器組成的,當啟動 Hadoop 時,NameNode 必須與 DataNode 連接并管理這些節點(DataNode),此時系統會要求用戶輸入密碼,為了讓系統順利運行而不用手動輸入密碼,可以將 SSH 設定為無密碼登錄,

注意:無密碼登錄不是不需要密碼,而是使用 SSH Key 來進行身份驗證,

1、安裝SSH

打開終端,輸入命令:sudo apt-get install ssh
在這里插入圖片描述
在輸入 Yy 后,系統會自動安裝 SSH,安裝完成如下圖所示:
在這里插入圖片描述
2、SSH 無密碼登錄的原理

在配置 SSH 之前,首先介紹一下 SSH 免密登錄的原理,以 Server A 要免密登錄 Server B 為例,如下圖所示:
在這里插入圖片描述
3、配置 SSH 無密碼登錄

  1. 產生 SSH Key,接著在終端輸入命令:ssh-keygen -t rsa,注意:注意ssh-keygen后引數的大小寫,比如“-t”與“-T”表示不同意思,其中,ssh-keygen代表生成密鑰;-t表示生成指定型別的密鑰型別;rsa是rsa密鑰認證,

    此條命令運行后出現暫停時,按回車鍵即可,并且會產生兩個密鑰檔案,即在 .ssh 檔案夾(此檔案夾在用戶的根目錄下,即 /home/bigdata01) 下創建 id_rsa 和 id_rsa.pub 兩個檔案,這是 SSH 的一對私鑰和公鑰,類似于鑰匙和鎖,下面要做的就是把 id_rsa.pub(公鑰)放到許可證檔案中去,
    在這里插入圖片描述
    使用 ll ~/.ssh 查看產生的 SSH Key(密鑰):
    在這里插入圖片描述

  2. 將 id_rsa.pub(公鑰) 放到許可證檔案(authorized_keys)中,命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  3. 更改權限,命令如下:

    chmod 755 ~
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  4. 驗證 SSH 是否安裝成功,以及是否可以免密碼登錄本機,首先,驗證SSH是否安裝成功,輸入命令:ssh -Version,執行結果如圖所示:
    在這里插入圖片描述
    出現上圖所示的執行結果,則表示 SSH 安裝成功,注意:命令“ssh -Version”中的V是大寫的

  5. 接下來,驗證是否可以免密碼登錄本機,命令:ssh bigdata01-VirtualBox,執行結果如下圖所示:
    在這里插入圖片描述
    說明:bigdata01-VirtualBox 為筆者的主機名,讀者可以使用 hostname 命令查看自己的主機名,如上圖所示,沒有要求輸入登錄密碼,則表示 SSH 已經成功實作無密碼登錄了,

  6. 退出 SSH 連接,代碼如下:exit,執行結果如下圖所示:
    在這里插入圖片描述

說明:在 Hadoop 的安裝程序中,是否無密碼登錄不是特別重要的,但是如果不配置無密碼登錄,每次啟動 Hadoop 都需要輸入密碼來登錄到每臺機器的 DataNode 上,但是 Hadoop 集群動輒擁有數百或上千臺機器,因此一般來說都會配置 SSH 的無密碼登錄,

3、Hadoop 的下載與安裝

在介紹 Hadoop 的安裝之前,先介紹一下 Hadoop 對各個節點的角色定義,

Hadoop 可以分別從三個角度將主機劃分為兩種角色,第一,最基本的劃分為 Master 和 Slave,即主人與奴隸;第二,從 HDFS 的角度,將主機劃分為 NameNode 和 DataNode(在分布式檔案系統中,目錄的管理很重要,管理目錄相當于主人,而 NameNode 就是目錄管理者);第三,從 MapReduce 的角度,將主機劃分為 JobTracker 和 TaskTracker(一個 Job 可以劃分為多個Task),

1、Hadoop的安裝模式

Hadoop 有三種安裝模式,分別為:單機模式、偽分布式和完全分布式(集群),

其中,安裝單機模式的 Hadoop 無須配置,在這種方式下,Hadoop 被認為是一個單獨的 Java 行程,這種方式經常用來測驗,

本篇博文主要介紹偽分布式的 Hadoop 安裝,可以把偽分布式的 Hadoop 看作是只有一個節點的集群,在這個集群中,這個節點既是 Master,也是 Slave;既是 NameNode,也是 DataNode;既是 JobTracker,也是 TaskTracker,關于完全分布式的 Hadoop 下篇博文再進行介紹,

2、Hadoop 的下載

本篇博文中使用的 Hadoop 的安裝版本為 Hadoop 3.2.0,下載 Hadoop 的網址為:https://hadoop.apache.org/releases.html,如下圖所示:
在這里插入圖片描述
單擊后,進入一個新的頁面,向下拉動瀏覽器的滾動條,找到我們需要的 hadoop 版本,如下圖所示:
在這里插入圖片描述
找到我們需要的 hadoop 版本之后,滑鼠左鍵點擊,進入到新的界面,然后選擇 hadoop-3.2.0.tar.gz 進行下載,如下圖所示:
在這里插入圖片描述
注意:如果發現這個國外的地址下載比較慢,可以使用國內的鏡像地址下載,但是這些國內的鏡像地址中提供的安裝包版本可能不全,如果沒有找到我們需要的版本,那還是要老老實實到官網下載,

這些國內的鏡像地址里面不僅僅有 Hadoop 的安裝包,里面包含了大部分 Apache 組織中的軟體安裝包:

地址1:https://mirrors.tuna.tsinghua.edu.cn/apache/

將下載好的安裝包 hadoop-3.2.0.tar.gz 復制到共享檔案夾中,以便 Ubuntu 系統可以對此安裝包進行下一步的操作,

3、Hadoop 的安裝

Hadoop 的安裝步驟如下:

解壓縮 Hadoop 安裝包,將安裝包從共享檔案夾復制到主目錄下,打開終端,輸入如下命令,將 Hadoop 安裝包解壓縮到當前目錄下,命令:tar -zxvf hadoop-3.2.0.tar.gz
在這里插入圖片描述
命令執行后,系統開始解壓縮 hadoop-3.2.0.tar.gz 檔案,螢屏上不斷顯示解壓程序資訊,如上圖所示(由于篇幅問題,只顯示部分解壓資訊),當解壓完成后,系統將在主目錄下創建 hadoop-3.2.0 子目錄,此為 Hadoop 的安裝目錄,
在這里插入圖片描述
查看一下 Hadoop 安裝目錄中的安裝檔案,輸入命令:
在這里插入圖片描述
安裝檔案的目錄及目錄下常用檔案說明如下表所示:
在這里插入圖片描述
在這里插入圖片描述
至此,Hadoop 安裝完畢,但是要使用 Hadoop,還需要進行一系列的配置,

4、Hadoop 環境配置

1、配置 IP 和主機名

下面分別通過命令查看本機的 IP 地址和主機名,并將 IP 地址和主機名寫進 /etc/hosts 組態檔中,步驟如下:

(1) 查看本機的 IP 地址,命令如下:

sudo apt install net-tools
ifconfig
或者直接使用
ip addr

執行結果如下圖所示:
在這里插入圖片描述
從上圖中可知本機的 IP 地址為 10.0.2.15,說明:此 IP 地址為虛擬機自動分配的地址,可以自己另行設定,

(2) 查看本機的主機名,命令如下:

hostname

執行結果如下圖所示:
在這里插入圖片描述
從上圖中可知本機的主機名為 bigdata01-VirtualBox,

(3) 將 IP 地址和主機名寫進 /etc/hosts 組態檔中,打開 /etc/hosts 命令如下:

sudo gedit /etc/hosts

在這里插入圖片描述
修改完成后,單擊保存按鈕,關閉檔案,

2、設定 Hadoop 環境變數

運行 Hadoop 必須設定很多環境變數,可是如果每次登錄時都必須重新設定就會很煩瑣,因此,可以在 ~/.bashre 檔案中設定每次登錄時都會自動運行一次環境變數設定,設定步驟如下:

(1) 在終端輸入如下命令:

sudo gedit ~/.bashrc 

執行命令之后,就會打開 ~/.bashrc 檔案,在原有代碼的最下方的位置添加如下代碼:

# 設定JDK安裝路徑,
export JAVA_HOME=/home/bigdata01/JDK/jdk1.8
# 設定Hadoop的安裝目錄,
export HADOOP_HOME=/home/bigdata01/hadoop-3.2.0
# 設定PATH
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# 設定Hadoop其他環境變數 將這些環境變數設定為$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 HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

編輯好 ~/.bashrc 檔案后,單擊 保存 按鈕后,再關閉 gedit,如下圖所示:
在這里插入圖片描述
(2) 使設定生效,在終端輸入命令:source ~/.bashrc,或者重啟系統,也會使得設定生效,

(3) 使用 hadoop version 命令測驗是否配置成功,執行結果如下圖所示:
在這里插入圖片描述
出現上圖所示的結果,則說明 Hadoop 環境已經配置成功了,

3、修改 Hadoop 組態檔

接下來要進行 Hadoop 的配置設定,需要修改的組態檔有:Hadoop-env.sh、core-site.xml、yarn-site.xml、mapred-site.xml 和 hdfs-site.xml,最后還要修改一下 /etc/profile 檔案,

(1) 修改 Hadoop-env.sh 檔案,Hadoop-env.sh 是 Hadoop 的組態檔,在此檔案中需要設定 Java 的安裝路徑,首先通過終端打開 Hadoop-env.sh 檔案,代碼如下:

sudo gedit ./hadoop-3.2.0/etc/hadoop/hadoop-env.sh

Hadoop-env.sh 檔案打開后,找到 # export JAVA_HOME 處(可以使用快捷鍵 <CTRL+F> 查找),在等號后面添加 JDK 的安裝位置,并將 export 前面的 # 號刪掉,如下圖所示:
在這里插入圖片描述
修改完畢后,單擊 保存 按鈕,關閉 Hadoop-env.sh 檔案,

(2) 修改 core-site.xml 檔案,通過終端打開 core-site.xml 檔案,代碼如下:

sudo gedit ./hadoop-3.2.0/etc/hadoop/core-site.xml

core-site.xml 檔案打開后,需要設定 HDFS 的默認名稱、地址和埠號,將如下代碼添加到 <configuration></configuration> 之間

<!-- 配置HDFS的主節點,NameNode -->
<property>
      <name>fs.defaultFS</name>
      <value>hdfs://10.0.2.15:9000</value>
</property>

<!-- 配置HADOOP運行時產生檔案的存盤目錄 -->
<property>
      <name>hadoop.tmp.dir</name>
      <value>/home/bigdata01/hadoop-3.2.0/dataNode_1_dir</value>
</property>

如下圖所示:
在這里插入圖片描述
說明:代碼中的 10.0.2.15 為筆者的虛擬機的 IP 地址,讀者可以通過 ifconfig 命令查看本機的 IP 地址,XML檔案中,<!--、--> 中間的內容為注釋,修改完畢后,單擊 保存 按鈕,關閉 core-site.xml 檔案,

(3) 修改 yarn-site.xml 檔案,YARN 的站點組態檔是 yarn-site.xml,通過終端打開 yarn-site.xml 檔案的代碼如下:

sudo gedit ./hadoop-3.2.0/etc/hadoop/yarn-site.xml

YARN-site.xml 檔案打開后,將如下代碼添加到 <configuration></configuration> 之間,代碼如下:

<!--配置ReourceManager的地址-->
<property>
       <name>yarn.resourcemanager.hostname</name>
       <value>10.0.2.15</value>

</property>

<!--配置NodeManager執行任務的方式:shuffle:洗牌 -->
<property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
</property>

修改完畢后,單擊 保存 按鈕,關閉 YARN-site.xml 檔案,如果 YARN 集群有多個節點,還需要配置 yarn.resourcemanager.address 等引數,

(4) 修改 mapred-site.xml 檔案,mapred-site.xml 為計算框架檔案,用于設定監控 Map 與 Reduce 程式的 JobTracker 任務分配情況以及 TaskTracker 任務運行情況,打開 mapred-site.xml 檔案,命令如下:

sudo gedit ./hadoop-3.2.0/etc/hadoop/mapred-site.xml

mapred-site.xml 檔案打開后,將如下代碼添加到 <configuration></configuration> 之間,設定 mapreduce 的框架為 yarn,

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

修改完畢后,單擊 保存 按鈕,關閉 mapred-site.xml 檔案,

(5) 修改 hdfs-site.xml 檔案,hdfs-site.xml 用于設定 HDFS 分布式檔案系統,該檔案指定與 HDFS 相關的配置資訊,需要修改 HDFS 默認的塊的副本屬性,因為 HDFS 默認情況下每個資料塊保存 3 個副本,而在偽分布式模式下運行時,由于只有一個資料節點,所以需要將副本個數改為1;否則 Hadoop 程式會報錯,打開 hdfs-site.xml 檔案,命令如下:

sudo gedit ./hadoop-3.2.0/etc/hadoop/hdfs-site.xml

同樣,hdfs-site.xml 檔案打開后,將如下代碼添加到 <configuration></configuration> 之間,

<!-- 指定DataNode存儲block的副本數量 -->
<property>
      <name>dfs.replication</name>
      <value>1</value>
</property>

<!-- 指定namenode資料存盤目錄 -->
<property>
      <name>dfs.namenode.name.dir</name>
      <value>file:///home/bigdata01/hadoop-3.2.0/hadoop_data/hdfs/namenode</value>
</property>

<!-- 指定datanode資料存盤目錄 -->
<property>
      <name>dfs.datanode.data.dir</name>
      <value>file:///home/bigdata01/hadoop-3.2.0/hadoop_data/hdfs/datanode</value>
</property>

<!-- 指定ip地址 -->
<property>
      <name>dfs.http.address</name>
      <value>10.0.2.15:50070</value>
</property>

修改完畢后,單擊 保存 按鈕,關閉 hdfs-site.xml 檔案,注意:將dfs.replication配置成超過3的數是沒有意義的,因為HDFS的最大副本數就是3,

(6) 修改 /etc/profile 檔案,

sudo gedit /etc/profile
export HADOOP_HOME=./hadoop-3.2.0
:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

如下圖所示:
在這里插入圖片描述
4、創建并格式化檔案系統

在上面的小節,hdfs-site.xml 檔案中,指定了 NameNode 和 DataNode 的資料存盤目錄,但是這兩個目錄并沒有創建,在本小節中,創建 NameNode 和 DataNode 的資料存盤目錄,并進行格式化,創建 NameNode 和 DataNode 的資料存盤目錄,命令如下:

  1. 創建 NameNode 資料存盤目錄,mkdir -p ./hadoop-3.2.0/hadoop_data/hdfs/namenode
  2. 創建 DataNode 資料存盤目錄,mkdir -p ./hadoop-3.2.0/hadoop_data/hdfs/datanode
  3. 創建 HADOOP 運行時產生檔案的存盤目錄,mkdir -p ./hadoop-3.2.0/dataNode_1_dir/datanode
  4. 如果 NameNode 目錄中已經有資料,那么可以將 HDFS 進行格式化,命令:hdfs namenode -format
    在這里插入圖片描述

5、啟動與關閉 Hadoop

通過前面的小節,已經完成了 Hadoop 偽分布式單節點的安裝,現在開始啟動 Hadoop,使用命令 start-all.sh,來同時啟動 HDFS 和 YARN,執行結果如下圖所示:
在這里插入圖片描述
說明:start-all.sh命令可以拆分為start-dfs.sh和start-yarn.sh,分別用來啟動HDFS和YARN,在啟動Hadoop時,用這兩種方式都可以,

下面通過 jps 命令檢驗一下是否全部開啟 Hadoop 的守護行程,執行結果如圖所示:
在這里插入圖片描述
在上圖的結果圖中,DataNode、SecondaryNameNode 和 NameNode 是檔案系統 HDFS 的行程,NodeManager、ResourceManager 是 YARN 的行程,只有這 5 個行程全部啟動,才說明 Hadoop 啟動成功了,

關閉 Hadoop 的命令:stop-all.sh,執行結果如下圖所示:
在這里插入圖片描述
說明:stop-all.sh命令可以拆分為stop-dfs.sh和stop-yarn.sh,分別用來關閉HDFS和YARN,在關閉Hadoop時,使用“stop-all.sh”或者“stop-dfs.sh”+“stop-yarn.sh”這兩種方式都可以,

6、查看 Hadoop 的基本資訊

6.1、查看 HDFS Web 界面

HDFS Web 界面可以檢查當前 HDFS 與 DataNode 的運行情況,打開步驟如下,打開瀏覽器 Firefox,在瀏覽器的地址欄中輸入:10.0.2.15:50070,向下滑動頁面,可以看到活動節點,如下圖所示:
在這里插入圖片描述
說明:10.0.2.15 為筆者虛擬機中的 IP 地址,讀者應根據實際情況進行替換,

6.2、查看 YARN Web 界面

YARN Web 界面也被稱為 Hadoop ResourceManager Web 界面,在此頁面中,可以查看當前 Hadoop 的狀態;Node 節點;應用程式、行程的運行狀態,打開 YARN 的 Web 界面的步驟如下,

打開瀏覽器 Firefox,在瀏覽器的地址欄中輸入:10.0.2.15:8088,單擊 Nodes 鏈接,顯示當前已經運行的節點,因為本篇博文中安裝的是偽分布式的 Hadoop,所以會看到當前只有一個節點,如下圖所示:
在這里插入圖片描述

三、在 Centos7 中 進行 Hadoop 偽分布式安裝

  1. 設定靜態 ip:vi /etc/sysconfig/network-scripts/ifcfg-ens33(不同系統 ens 后的數字不一樣,讀者需根據自己本機實際情況)
    在這里插入圖片描述
    注意:IPADDR 的值,192.168.61 都是取自虛擬機中虛擬網路編輯器中子網地址的值,最后的 101 是我自己取的,這個值可以取 3~254 之間的任意一個數值,建議大家也按照我這個取值為 101,這樣方便統一,后期和我在博客中使用的都是一樣的,GATEWAY 的值是取自虛擬網路編輯器中 NAT 設定里面的網關的值,DNS1 的值和 GATEWAY 的值一樣即可,
    在這里插入圖片描述
    在這里插入圖片描述
    最后:service network restart,如下圖所示:
    在這里插入圖片描述

  2. hostname:設定臨時主機名和永久主機名,臨時:hostname bigdata01、永久:vi /etc/hostname 將里面的主機名改為 bigdata01,緊接著重啟查看:reboot -h now、hostname,
    在這里插入圖片描述

  3. firewalld:臨時關閉防火墻+永久關閉防火墻,臨時:systemctl stop firewalld、永久:systemctl disable firewalld、確認是否從開機啟動項中關閉了:systemctl list-unit-files | grep firewalld
    在這里插入圖片描述
    注意:針對不同版本的 centos 系統,關閉防火墻的命令是不一樣的,目前的兩大主流版本是 centos6 和 centos7,他們兩個關閉防火墻的命令也是不一樣的,剛剛博主演示的是 centos7 中防火墻關閉的命令,如果你遇到了 centos6,也想關閉防火墻的話可以自己百度一下命令,后續博主也會在 Linux 從菜鳥到精通專欄 中繼續更新 Centos6 的相關操作,

  4. ssh 免密碼登錄,在上面 Ubuntu 中詳細介紹過,這里博主就不再贅述,
    在這里插入圖片描述
    1、ssh-keygen -t rsa、注意:執行這個命令以后,在 Centos 需要連續按 4 次回車鍵回到 linux 命令列才表示這個操作執行結束,在按回車的時候不需要輸入任何內容,
    2、把公鑰拷貝到需要免密碼登錄的機器上面:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  5. 安裝 JDK,先:mkdir -p /data/soft、把 JDK 的安裝包上傳到 /data/soft/ 目錄下
    在這里插入圖片描述
    解壓 jdk 安裝包:tar -zxvf jdk-8u202-linux-x64.tar.gz
    重命名 jdk:mv jdk1.8.0_202/ jdk1.8
    配置環境變數 JAVA_HOME:vi /etc/profile
    在這里插入圖片描述
    立即生效:source /etc/profile
    驗證:java -version
    在這里插入圖片描述

  6. 把 hadoop 的安裝包上傳到 /data/soft 目錄下,解壓 hadoop 安裝包:tar -zxvf hadoop-3.2.0.tar.gz

  7. 配置一下環境變數 vi /etc/profile
    在這里插入圖片描述

  8. 修改 Hadoop 相關組態檔,進入組態檔所在目錄:cd etc/hadoop/
    先修改 hadoop-env.sh,執行命令:vi hadoop-env.sh,如下圖所示:
    在這里插入圖片描述
    修改 core-site.xml 檔案,注意 fs.defaultFS 屬性中的主機名需要和你配置的主機名保持一致,執行 vi core-site.xml 命令,添加內容如下:

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://bigdata01:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/data/hadoop_repo</value>
       </property>
    </configuration> 
    

    修改 hdfs-site.xml 檔案,把 hdfs 中檔案副本的數量設定為1,因為現在偽分布集群只有一個節點,首先:vi hdfs-site.xml,添加內容如下:

    <configuration>
       <property>
           <name>dfs.replication</name>
           <value>1</value>
       </property>
    </configuration>
    

    修改 mapred-site.xml,設定 mapreduce 使用的資源調度框架,首先:vi mapred-site.xml,添加內容如下:

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

    修改 yarn-site.xml,設定 yarn 上支持運行的服務和環境變數白名單,首先:vi 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,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
        </property>
    </configuration>
    

    修改 workers,設定集群中從節點的主機名資訊,在這里就一臺集群,所以就填寫 bigdata01 即可,首先:vi workers,然后將里面的 localhost 改為 bigdata01,

  9. 格式化 HDFS,cd /data/soft/hadoop-3.2.0、bin/hdfs namenode -format,如下圖所示:
    在這里插入圖片描述
    如果提示錯誤,一般都是因為組態檔的問題,當然需要根據具體的報錯資訊去分析問題,注意:格式化操作只能執行一次,如果格式化的時候失敗了,可以修改組態檔后再執行格式化,如果格式化成功了就不能再重復執行了,否則集群就會出現問題,如果確實需要重復執行,那么需要把 /data/hadoop_repo 目錄中的內容全部洗掉,再執行格式化,

  10. 啟動偽分布集群,使用 sbin 目錄下的 start-all.sh 腳本,
    在這里插入圖片描述
    執行的時候發現有很多 ERROR 資訊,提示缺少 HDFS 和 YARN 的一些用戶資訊,解決方案如下:修改 sbin 目錄下的 start-dfs.sh,stop-dfs.sh 這兩個腳本檔案,在檔案前面增加如下內容:cd sbin/

    vi start-dfs.sh,增加以下內容:

    HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    

    vi stop-dfs.sh,增加以下內容:

    HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    

    修改 sbin 目錄下的 start-yarn.sh,stop-yarn.sh 這兩個腳本檔案,在檔案前面增加如下內容,vi start-yarn.sh,增加以下內容:

    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root
    

    vi stop-yarn.sh,增加以下內容:

    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root
    

    再啟動集群:
    在這里插入圖片描述

  11. 驗證集群行程資訊,執行 jps 命令可以查看集群的行程資訊,去掉 jps 這個行程之外還需要有 5 個行程才說明集群是正常啟動的,
    在這里插入圖片描述

  12. 還可以通過 webui 界面來驗證集群服務是否正常,HDFS webui 界面:http://192.168.61.101:9870
    在這里插入圖片描述
    YARN webui 界面:http://192.168.61.101:8088
    在這里插入圖片描述
    如果想通過主機名訪問,則需要修改 Windows 機器中的 hosts 檔案,檔案所在位置為:C:\Windows\System32\drivers\etc\HOSTS,在檔案中增加下面內容,這個其實就是 Linux 虛擬機的 ip 和主機名,在這里做一個映射之后,就可以在 Windows 機器中通過主機名訪問這個 Linux 虛擬機了,
    在這里插入圖片描述
    使用 http://bigdata01:8088/cluster YARN webui 界面,如下圖所示:
    在這里插入圖片描述

  13. 停止集群,如果修改了集群的組態檔或者是其它原因要停止集群,可以使用命令:sbin/stop-all.sh,
    在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272800.html

標籤:其他

上一篇:《Python原始碼剖析》筆記list_print()

下一篇:Linux安裝docker-ce教程 centos依賴包安裝

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more