• 當前位置:首頁 > IT技術 > 其他 > 正文

    Hadoop集群安裝部署_偽分布式集群安裝_02
    2022-09-06 22:47:45


    文章目錄

    一、解壓安裝
    1. 安裝包上傳

    首先把hadoop的安裝包上傳到/data/soft目錄下

    [root@bigdata01 ~]# cd /data/soft/
    [root@bigdata01 soft]# ll
    2. 解壓hadoop安裝包
    [root@bigdata01 soft]# tar -zxvf hadoop-3.2.0.tar.gz

    hadoop目錄下面有兩個重要的目錄,一個是bin目錄,一個是sbin目錄

    [root@bigdata01 soft]# cd hadoop-3.2.0
    [root@bigdata01 hadoop-3.2.0]# ll
    total 184
    drwxr-xr-x. 2 1001 1002 203 Jan 8 2019 bin
    drwxr-xr-x. 3 1001 1002 20 Jan 8 2019 etc
    drwxr-xr-x. 2 1001 1002 106 Jan 8 2019 include
    drwxr-xr-x. 3 1001 1002 20 Jan 8 2019 lib
    drwxr-xr-x. 4 1001 1002 4096 Jan 8 2019 libexec
    -rw-rw-r--. 1 1001 1002 150569 Oct 19 2018 LICENSE.txt
    -rw-rw-r--. 1 1001 1002 22125 Oct 19 2018 NOTICE.txt
    -rw-rw-r--. 1 1001 1002 1361 Oct 19 2018 README.txt
    drwxr-xr-x. 3 1001 1002 4096 Jan 8 2019 sbin
    drwxr-xr-x. 4 1001 1002 31 Jan 8 2019 share
    [root@bigdata01 hadoop-3.2.0]#

    我們看一下bin目錄,這里面有hdfs,yarn等腳本,這些腳本后期主要是為了操作hadoop集群中的hdfs和yarn組件的

    再來看一下sbin目錄,這里面有很多start stop開頭的腳本,這些腳本是負責啟動 或者停止集群中的組件的。

    其實還有一個重要的目錄是etc/hadoop目錄,這個目錄里面的文件主要是hadoop的一些配置文件,還是比較重要的。一會我們安裝hadoop,主要就是需要修改這個目錄下面的文件。

    因為我們會用到bin目錄和sbin目錄下面的一些腳本,為了方便使用,我們需要配置一下環境變量。

    [root@bigdata01 hadoop-3.2.0]# vi /etc/profile
    .......
    export JAVA_HOME=/data/soft/jdk1.8
    export HADOOP_HOME=/data/soft/hadoop-3.2.0
    export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
    [root@bigdata01 hadoop-3.2.0]# source /etc/profile
    二、修改Hadoop相關配置文件

    進入配置文件所在目錄

    [root@bigdata01 hadoop-3.2.0]# cd etc/hadoop/
    [root@bigdata01 hadoop]#

    主要修改下面這幾個文件:

    • hadoop-env.sh
    • core-site.xml
    • hdfs-site.xml
    • mapred-site.xml
    • yarn-site.xml workers
    2.1. hadoop-env.sh

    首先修改 ??hadoop-env.sh??? 文件,增加環境變量信息,添加到??hadoop-env.sh??? 文件末尾即可。
    JAVA_HOME:指定java的安裝位置
    HADOOP_LOG_DIR:hadoop的日志的存放目錄

    [root@bigdata01 hadoop]# vi hadoop-env.sh
    .......
    export JAVA_HOME=/data/soft/jdk1.8
    export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop

    Hadoop集群安裝部署_偽分布式集群安裝_02_xml

    2.2. core-site.xml

    修改 ??core-site.xml?? 文件

    注意 ??fs.defaultFS?? 屬性中的主機名需要和你配置的主機名保持一致

    [root@bigdata01 hadoop]# 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>

    Hadoop集群安裝部署_偽分布式集群安裝_02_hdfs_02

    2.3. hdfs-site.xml

    修改hdfs-site.xml文件,把hdfs中文件副本的數量設置為1,因為現在偽分布集群只有一個節點

    [root@bigdata01 hadoop]# vi hdfs-site.xml
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    </configuration>
    2.4. mapred-site.xml

    修改mapred-site.xml,設置mapreduce使用的資源調度框架

    [root@bigdata01 hadoop]# vi mapred-site.xml
    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>
    2.5. yarn-site.xml

    修改yarn-site.xml,設置yarn上支持運行的服務和環境變量白名單

    [root@bigdata01 hadoop]# 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>
    2.6. workers

    修改workers,設置集群中從節點的主機名信息,在這里就一臺集群,所以就填寫bigdata01即可

    [root@bigdata01 hadoop]# vi workers

    配置文件到這就修改好了,但是還不能直接啟動,因為Hadoop中的HDFS是一個分布式的文件系統,文件系統在使用之前是需要先格式化的,就類似我們買一塊新的磁盤,在安裝系統之前需要先格式化才可以使用。

    三、格式化與啟動集群
    3.1. 格式化HDFS
    [root@bigdata01 hadoop]# cd /data/soft/hadoop-3.2.0
    [root@bigdata01 hadoop-3.2.0]# bin/hdfs namenode -format

    如果能看到successfully formatted這條信息就說明格式化成功了。

    如果提示錯誤,一般都是因為配置文件的問題,當然需要根據具體的報錯信息去分析問題。

    注意:格式化操作只能執行一次,如果格式化的時候失敗了,可以修改配置文件后再執行格式化,如果格式化成功了就不能再重復執行了,否則集群就會出現問題。
    如果確實需要重復執行,那么需要把/data/hadoop_repo目錄中的內容全部刪除,再執行格式化

    可以這樣理解,我們買一塊新磁盤回來裝操作系統,第一次使用之前會格式化一下,后面你會沒事就去格式化一下嗎?肯定不會的,格式化之后操作系統又得重裝了。

    3.2. 啟動偽分布集群

    使用sbin目錄下的start-all.sh腳本

    [root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh 
    Starting namenodes on [bigdata01]
    ERROR: Attempting to operate on hdfs namenode as root
    ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
    Starting datanodes
    ERROR: Attempting to operate on hdfs datanode as root
    ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
    Starting secondary namenodes [bigdata01]
    ERROR: Attempting to operate on hdfs secondarynamenode as root
    ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
    Starting resourcemanager
    ERROR: Attempting to operate on yarn resourcemanager as root
    ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
    Starting nodemanagers
    ERROR: Attempting to operate on yarn nodemanager as root
    ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.
    [root@bigdata01 hadoop-3.2.0]#

    執行的時候發現有很多ERROR信息,提示缺少HDFS和YARN的一些用戶信息。

    3.3. 異常解決方案

    修改sbin目錄下的??start-dfs.sh,stop-dfs.sh??這兩個腳本文件,在文件前面增加如下內容

    [root@bigdata01 hadoop-3.2.0]# cd sbin/
    [root@bigdata01 sbin]# vi start-dfs.sh
    HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root

    [root@bigdata01 sbin]# 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這兩個腳本文件,在文件前面增加如下內容

    [root@bigdata01 sbin]# vi start-yarn.sh
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root

    [root@bigdata01 sbin]# vi stop-yarn.sh
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root
    3.4. 再啟動集群
    [root@bigdata01 sbin]# cd /data/soft/hadoop-3.2.0
    [root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh
    Starting namenodes on [bigdata01]
    Last login: Tue Apr 7 16:45:28 CST 2020 from fe80::c8a8:4edb:db7b:af53%ens33 on pts/1
    Starting datanodes
    Last login: Tue Apr 7 17:59:21 CST 2020 on pts/0
    Starting secondary namenodes [bigdata01]
    3.5. 驗證集群進程信息

    執行jps命令可以查看集群的進程信息,去掉Jps這個進程之外還需要有5個進程才說明集群是正常啟動的

    [root@bigdata01 hadoop-3.2.0]# jps
    18913 NodeManager
    18276 DataNode
    19287 Jps
    18139 NameNode
    18780 ResourceManager
    18509 SecondaryNameNode
    [root@bigdata01 hadoop-3.2.0]#
    3.6. web頁面

    還可以通過webui界面來驗證集群服務是否正常

    HDFS webui界面:??http://192.168.92.100:9870??

    Hadoop集群安裝部署_偽分布式集群安裝_02_hdfs_03

    YARN webui界面:??http://192.168.92.100:8088??

    Hadoop集群安裝部署_偽分布式集群安裝_02_hdfs_04

    3.7. 域名訪問

    如果想通過主機名訪問,則需要修改windows機器中的hosts文件

    文件所在位置為:??C:WindowsSystem32driversetcHOSTS??

    在文件中增加下面內容,這個其實就是Linux虛擬機的ip和主機名,在這里做一個映射之后,就可以在Windows機器中通過主機名訪問這個Linux虛擬機了。

    192.168.92.100 bigdata01

    Hadoop集群安裝部署_偽分布式集群安裝_02_xml_05

    注意:如果遇到這個文件無法修改,一般是由于權限問題,在打開的時候可以選擇使用管理員模式打開。

    Hadoop集群安裝部署_偽分布式集群安裝_02_偽分布式_06


    Hadoop集群安裝部署_偽分布式集群安裝_02_hadoop_07

    3.8. 停止集群

    如果修改了集群的配置文件或者是其它原因要停止集群,可以使用下面命令

    [root@bigdata01 hadoop-3.2.0]# sbin/stop-all.sh 
    Stopping namenodes on [bigdata01]
    Last login: Sat Jul 3 06:29:09 CST 2021 on pts/3
    Stopping datanodes
    Last login: Sat Jul 3 06:40:41 CST 2021 on pts/3
    Stopping secondary namenodes [bigdata01]
    Last login: Sat Jul 3 06:40:42 CST 2021 on pts/3
    Stopping nodemanagers
    Last login: Sat Jul 3 06:40:45 CST 2021 on pts/3
    Stopping resourcemanager
    Last login: Sat Jul 3 06:40:49 CST 2021 on pts/3
    [root@bigdata01 hadoop-3.2.0]#


    本文摘自 :https://blog.51cto.com/g

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码