伪分布集群安装
配置环境 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分布式集群安装成功
初写笔记,文章中若出现什么错误,欢迎各位大佬在评论区指出
|