当前位置:首页 > 科技新闻 > 其他 > 正文

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