當前位置:首頁 > 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目錄下面的一些腳本,為了方便使用,我們需要配置一下環(huán)境變量。

[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??? 文件,增加環(huán)境變量信息,添加到??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中文件副本的數(shù)量設置為1,因為現(xiàn)在偽分布集群只有一個節(jié)點

[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上支持運行的服務和環(huán)境變量白名單

[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,設置集群中從節(jié)點的主機名信息,在這里就一臺集群,所以就填寫bigdata01即可

[root@bigdata01 hadoop]# vi workers

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

三、格式化與啟動集群
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這條信息就說明格式化成功了。

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

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

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

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]#

執(zhí)行的時候發(fā)現(xiàn)有很多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. 驗證集群進程信息

執(zhí)行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

開通會員,享受整站包年服務立即開通 >