IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hadoop集群配置 -> 正文阅读

[大数据]Hadoop集群配置

伪分布集群安装

配置环境
linux系统:Centos7
虚拟机:VMware Workstation 16 Pro

一台Linux机器,也可以称为是一个节点,上面安装的有JDK环境
在这里插入图片描述
最上面的是Hadoop集群会启动的进程,其中NameNode、SecondaryNameNode、DataNode是HDFS服务的进程,ResourceManager、NodeManager是YARN服务的进程,MapRedcue在这里没有进程,因为它是一个计算框架,等Hadoop集群安装好了以后MapReduce程序可以在上面执行。

在安装集群之前需要先下载Hadoop的安装包,在这里我们使用hadoop3.2.0这个版本

那我们来看一下,在Hadoop官网有一个download按钮,进去之后找到Apache release archive 链接,点击进去就可以找到各种版本的安装包了。
在这里插入图片描述

注意:如果发现这个国外的地址下载比较慢,可以使用国内的镜像地址下载,但是这些国内的镜像地址中提供的安装包版本可能不全,如果没有找到我们需要的版本,那还是要老老实实到官网下载。
这些国内的镜像地址里面不仅仅有Hadoop的安装包,里面包含了大部分Apache组织中的软件安装包

地址1
地址2

安装包下载好了以后,我们就开始安装伪分布集群了。
在这里使用bigdata01这台机器
首先配置基础环境

ip、hostname、firewalld、ssh免密码登录、JDK

ip : 设置静态ip

[root@bigdata01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="de575261-534b-4049-bad0-6a6d55a5f4f0"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.10.130
GATEWAY=192.168.10.2
DNS1=8.8.8.8
[root@bigdata01 ~]# service network restart
Restarting network (via systemct1):    [OK]
[root@bigdata01 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:da:a0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.130/24 brd 192.168.10.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::567e:a2a:64b8:ccab/64 scope link 
       valid_lft forever preferred_lft forever

hostname:设置临时主机名和永久主机名

[root@bigdata01 ~]# hostname bigdata01
[root@bigdata01 ~]# vi /etc/hostname
bigdata01
注意:建议在/etchosts文件中配置ip和主机名(hostname)的映射关系,把下面内容追加到Vetc/hosts中,不能删除/etc/hosts文件中的已有内容!
[root@bigdata01 ~]# vi /etc/hosts
192.168.10.130 bigdata01

●firewalld: 临时关闭防火墙+永久关闭防火墙

[root@bigdata01 ~]# systemctl stop firewalld
[root@bigdata01 ~]# systemctl disable firewalld

●ssh免密码登录

在这需要大致讲解一下ssh的含义,ssh 是secure shell,安全的shell,通过ssh可以远程登录到远程linux机器。

hadoop集群就会使用到ssh,我们在启动集群的时候只需要在一台机器上启动就行,然后hadoop会通过ssh连到其它机器,把其它机器上面对应的程序也启动起来。

但是现在有一个问题,就是我们使用ssh连接其它机器的时候会发现需要输入密码,所以现在需要实现ssh免密码登录。
那我们可能有疑问了,这里说的多台机器需要配置免密码登录,但是我们现在是伪分布集群啊,只有一台机器

注意了,不管是几台机器的集群,启动集群中程序的步骤都是一样的,都是通过ssh远程连接去操作,就算是一台机器,它也会使用ssh自己连自己,我们现在使用ssh自己连自己也是需要密码的。

ssh免密码登录

ssh这种安全/加密的shell,使用的是非对称加密,加密有两种,对称加密和非对称加密。非对称加密的解密过程是不可逆的,所以这种加密方式比较安全。

非对称加密会产生秘钥,秘钥分为公钥和私钥,在这里公钥是对外公开的,私钥是自己持有的。

那么ssh通信的这个过程是,第一台机器会把自己的公钥给到第二台机器,当第一台机器要给第二台机器通信的时候,第一台机器会给第二台机器发送一个随机的字符串,第二台机器会使用公钥对这个字符串加密,同时第一台机器会使用自己的私钥也对这个字符串进行加密,然后也传给第二台机器

这个时候,第二台机器就有了两份加密的内容,一份是自己使用公钥加密的,一份是第一台机器使用私钥加密传过来的,公钥和私钥是通过一定的算法计算出来的,这个时候,第二台机器就会对比这两份加密之后的内容是否匹配。如果匹配,第二台机器就会认为第一台机器是可信的,就允许登录。如果不相等 就认为是非法的机器。

下面就开始正式配置一下ssh免密码登录,由于我们这里要配置自己免密码登录自己,所以第一台机器和第二台机器都是同一台

首先在bigdata01上执行 ssh-keygen -t rsa

rsa表示的是一种加密算法

注意:执行这个命令以后,需要连续按 4 次回车键回到 linux 命令行才表示这个操作执行 结束,在按回车的时候不需要输入任何内容。

[root@bigdata01 ~]# ssh-keygen -t rsa

执行以后会在-/.ssh目录下生产对应的公钥和私钥文件

[root@bigdata01 ~]# ll ~/.ssh/
total 12
--------。1 root root 1679 Apr 7 16:39 id_ _rsa
-rw-r--r--.1 root root 396 Apr 7 16:39 id_ rsa. pub

下一步是把公钥拷贝到需要免密码登录的机器上面

[root@bigdata01 ~]# cat ~/.ssh/id_ rsa.pub >> ~/.ssh/authorized_ keys

然后就可以通过ssh免密码登录到bigdata01机器了

[root@bigdata01 ~]# ssh bigdata01
Last login: Tue Apr 7 15:05:55 2020 from 192.168.182.1
[root@bigdata01 ~]#

JDK
下面我们开始安装JDK

按照正常工作中的开发流程,建议把软件安装包全部都放在/data/soft目录下。

在这里我们没有新挂磁盘,所以手工创建/data/soft目录

[root@bigdata01 ~]# mkdir -p /data/soft

把JDK的安装包.上传到data/soft/目录下

[root@bigdata01 soft]# tar -zxvf jdk-8u202-1inux-x64.tar.gz

重命名jdk

[root@bigdata01 soft]# mv jdk1.8.0_202 jdk1.8

配置环境变量 JAVA_HOME

[root@bigdata01 soft]# vi /etc/profile
.....
export JAVA_HOME=/data/soft/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH

验证

[root@bigdata01 soft]# source /etc/profile
[root@bigdata1 soft]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25 .202-b08,mixed mode)

基础环境搞定了,下面开始安装Hadoop

1:首先把hadoop的安装包上传到/data/soft目录下

[root@bigdata01 soft]# ll
total 527024
-rw-r--r--. 1 root root 345625475 Jul 19 2019 hadoop-3.2.0. tar.gz
drwxr-xr-x. 7	10  143	  245 Dec 16 2018 jdk1.8
-rw-r--r--. 1 root root 194042837 Apr 6 23:14 jdk-8u202-1inux-x64. tar.gz

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 1ib
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 

我们看一下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

3:修改Hadoop相关配置文件
进入配置文件所在目录

[root@bigdata1 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

首先修改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/1ogs/hadoop

修改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>

修改hdfs-site.xml文件,把hdfs中文件副本的数量设置为1,因为现在伪分布集群只有一个节点

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

修改mapred-site.xml,设置mapreduce使用的资源调度框架

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

修改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>

修改workers,设置集群中从节点的主机名信息,在这里就一台集群,所以就填写bigdata01即可

[root@bigdata01 hadoop]# vi workers
bigdata01

配置文件到这就修改好了,但是还不能直接启动,因为Hadoop中的HDFS是一个分布式的文件系统,文件系统在使用之前是需要先格式化的,就类似我们买一块新的磁盘,在安装系统之前需要先格式化才可以使用。

4:格式化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目录中的内容全部删除,再执行格式化
可以这样理解,我们买一块新磁盘回来装操作系统,第一次使用之前会格式化一下,后面你会没事就去格式化一下吗?肯定不会的,格式化之后操作系统又得重装了。
5:启动伪分布集群
使用sbin目录下的start-all.sh脚本

[root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh

执行的时候发现有很多ERROR信息,提示缺少HDFS和YARN的一些用户信息。
解决方案如下:
修改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

再启动集群

[root@bigdata01 sbin]# cd /data/soft/hadoop-3.2.0
[root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh

6:验证集群进程信息
执行jps命令可以查看集群的进程信息,去掉Jps这个进程之外还需要有5个进程才说明集群是正常启动的

[root@bigdata01 hadoop-3.2.0]# jps

还可以通过webui界面来验证集群服务是否正常

?	HDFS webui界面:http://192.168.10.130:9870
?	YARN webui界面:http://192.168.10.130:8088

如果想通过主机名访问,则需要修改windows机器中的hosts文件
文件所在位置为:C:\Windows\System32\drivers\etc\HOSTS
在文件中增加下面内容,这个其实就是Linux虚拟机的ip和主机名,在这里做一个映射之后,就可以在Windows机器中通过主机名访问这个Linux虚拟机了。

192.168.10.130 bigdata01

注意:如果遇到这个文件无法修改,一般是由于权限问题,在打开的时候可以选择使用管理员模式打开。
7:停止集群
如果修改了集群的配置文件或者是其它原因要停止集群,可以使用下面命令

[root@bigdata01 hadoop-3.2.0] # sbin/stop-all.sh

分布式集群安装

环境准备:三个节点
bigdata01 192.168.10.130
bigdata02 192.168.10.131
bigdata03 192.168.10.132

注意:每个节点的基础环境都要先配置好,先把ip、hostname、firewalld、ssh免密码登录、JDK这些基础环境配置好,目前的节点数量是不够的,按照第一周学习的内容,通过克隆的方式创建多个节点,先把bigdata01中之前安装的hadoop删掉,删除解压的目录,修改环境变量即可。

注意:我们需要把bigdata01节点中/data目录下的hadoop_repo目录和/data/soft下的hadoop-3.2.0目录删掉,恢复此节点的环境,这里面记录的有之前伪分布集群的一些信息。

[root@bigdata01 ~]# rm -rf /data/soft/hadoop-3.2.0
[root@bigdata01 ~]# rm -rf /data/hadoop_repo

假设我们现在已经具备三台linux机器了,里面都是全新的环境。
下面开始操作。
注意:针对这三台机器的ip、hostname、firewalld、JDK这些基础环境的配置步骤在这里就不再记录了
bigdata01
bigdata02
bigdata03

这三台机器的ip、hostname、firewalld、ssh免密码登录、JDK这些基础环境已经配置ok。
这些基础环境配置好以后还没完,还有一些配置需要完善。

配置/etc/hosts

因为需要在主节点远程连接两个从节点,所以需要让主节点能够识别从节点的主机名,使用主机名远程访问,默认情况下只能使用ip远程访问,想要使用主机名远程访问的话需要在节点的/etc/hosts文件中配置对应机器的ip和主机名信息。

所以在这里我们就需要在bigdata01的/etc/hosts文件中配置下面信息,最好把当前节点信息也配置到里面,这样这个文件中的内容就通用了,可以直接拷贝到另外两个从节点

[root@bigdata01 ~]# vi /etc/hosts
192.168.10.130 bigdata01
192.168.10.131 bigdata02
192.168.10.132 bigdata03

修改bigdata02的/etc/hosts文件

[root@bigdata02 ~]# vi /etc/hosts
192.168.10.130 bigdata01
192.168.10.131 bigdata02
192.168.10.132 bigdata03

修改bigdata03的/etc/hosts文件

[root@bigdata03 ~] # vi /etc/hosts
192.168.10.130 bigdata01
192.168.10.131 bigdata02
192.168.10.132 bigdata03

集群节点之间时间同步

集群只要涉及到多个节点的就需要对这些节点做时间同步,如果节点之间时间不同步相差太多,会应该集群的稳定性,甚至导致集群出问题。

首先在bigdata01节点上操作
使用ntpdate -u ntp.sjtu.edu.cn实现时间同步,但是执行的时候提示找不到ntpdata命令

[root@bigdata01 ~]# ntpdate -u ntp.sjtu.edu.cn
-bash: ntpdate: command not found

默认是没有ntpdate命令的,需要使用yum在线安装,执行命令 yum install -y ntpdate

[root@bigdata01 ~]# yum install -y ntpdate

然后手动执行ntpdate -u ntp.sjtu.edu.cn 确认是否可以正常执行

[root@bigdata01 ~]# ntpdate -u ntp.sjtu.edu.cn

建议把这个同步时间的操作添加到linux的crontab定时器中,每分钟执行一次

[root@bigdata01 ~]# vi /etc/crontab

然后再bigdata02和bigdata03节点上配置时间同步
在bigdata02节点上操作

[root@bigdata02 ~]# yum install -y ntpdate
[root@bigdata02 ~]# vi /etc/crontab

在bigdata03节点上操作

[root@bigdata03 ~]# yum install -y ntpdate
[root@bigdata03 ~]# vi /etc/crontab

###SSH免密码登录完善

注意:针对免密码登录,目前只实现了自己免密码登录自己,最终需要实现主机点可以免密码登录到所有节点,所以还需要完善免密码登录操作。
首先在bigdata01机器上执行下面命令,将公钥信息拷贝到两个从节点

[root@bigdata01 ~]# scp ~/.ssh/authorized_keys bigdata02:~/
[root@bigdata01 ~]# scp ~/.ssh/authorized_keys bigdata03:~/

然后在bigdata02和bigdata03上执行
bigdata02:

[root@bigdata02 ~]# cat ~/authorized_keys  >> ~/.ssh/authorized_keys

bigdata03:

[root@bigdata03 ~]# cat ~/authorized_keys  >> ~/.ssh/authorized_keys

验证一下效果,在bigdata01节点上使用ssh远程连接两个从节点,如果不需要输入密码就表示是成功的,此时主机点可以免密码登录到所有节点

[root@bigdata01 ~]# ssh bigdata02
[root@bigdata02 ~]# exit
[root@bigdata01 ~]# ssh bigdata03
[root@bigdata03 ~]# exit

安装hadoop

首先在bigdata01节点上安装。
1:把hadoop-3.2.0.tar.gz安装包上传到linux机器的/data/soft目录下

[root@bigdata01 soft]# ll

2.解压hadoop安装包

[root@bigdata01 soft]# tar -zxvf hadoop-3.2.0.tar.gz 

3.修改hadoop相关配置文件
进入配置文件所在目录

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

首先修改hadoop-env.sh文件,在文件末尾增加环境变量信息

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

修改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>

修改hdfs-site.xml文件,把hdfs中文件副本的数量设置为2,最多为2,因为现在集群中有两个从节点,还有secondaryNamenode进程所在的节点信息

[root@bigdata01 hadoop]# vi hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>bigdata01:50090</value>
    </property>
</configuration>

修改mapred-site.xml,设置mapreduce使用的资源调度框架

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

修改yarn-site.xml,设置yarn上支持运行的服务和环境变量白名单
注意,针对分布式集群在这个配置文件中还需要设置resourcemanager的hostname,否则nodemanager找不到resourcemanager节点。

[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>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>bigdata01</value>
	</property>
</configuration>

修改workers文件,增加所有从节点的主机名,一个一行

[root@bigdata01 hadoop]# vi workers
bigdata02
bigdata03

修改启动脚本
修改start-dfs.sh,stop-dfs.sh这两个脚本文件,在文件前面增加如下内容

[root@bigdata01 hadoop]# cd /data/soft/hadoop-3.2.0/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

修改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

4:把bigdata01节点上将修改好配置的安装包拷贝到其他两个从节点

[root@bigdata01 sbin]# cd /data/soft/
[root@bigdata01 soft]# scp -rq hadoop-3.2.0 bigdata02:/data/soft/
[root@bigdata01 soft]# scp -rq hadoop-3.2.0 bigdata03:/data/soft/

5.在bigdata01节点上格式化HDFS

[root@bigdata01 soft]# cd /data/soft/hadoop-3.2.0
[root@bigdata01 hadoop-3.2.0]# bin/hdfs namenode -format

6.启动集群,在bigdata01节点上执行下面命令

[root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh

7.验证集群
分别在3台机器上执行jps命令,进程信息如下所示:
在bigdata01节点执行

[root@bigdata01 hadoop-3.2.0]# jps

在bigdata02节点执行

[root@bigdata02]# jps

在bigdata03节点执行

[root@bigdata03]# jps

8.停止集群
在bigdata01节点上执行停止命令

[root@bigdata01 hadoop-3.2.0]# sbin/stop-all.sh

至此,hadoop分布式集群安装成功

初写笔记,文章中若出现什么错误,欢迎各位大佬在评论区指出

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-16 11:21:36  更:2022-05-16 11:22:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 19:01:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码