hadoop完全分布式集群配置

一、下载软件

1.JDK11(版本太高不一定就好,我试了16版本的,运行java文件的时候会发生错误)
2.VMware-workstation pro 16
3.CentOS-7.iso (linux的虚拟机都行)(我这里是3台虚拟机)
4.hadoop 3.3.0
5.FileZilla(连接虚拟机,可以简单的操作文件)
软件下载可以去官网下载,我这里也有这些软件的种子文件:链接:hadoop完全分布式搭建所需软件
提取码:co3u

软件如下图所示:
在这里插入图片描述

关于怎么打开种子文件,可以看这里的教程:下载种子文件教程

二、hadoop的静态IP配置

因为CentOS-7系统没有IP显示,所以需要配置静态IP,静态IP配置教程:静态IP配置
三台虚拟机都要配置好静态IP,我这里配置的内容是hadoop1:192.128.27.100;hadoop2:192.128.27.101;hadoop3:192.168.27.102

配置好静态IP之后,就可以使用FileZilla软件连接虚拟机了,连接如下图所示:
FileZilla连接虚拟机
连接好之后就可以对虚拟机的文件进行操作了。
在这里插入图片描述

三、关闭防火墙

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。
三台虚拟机上都要操作,在终端输入:

systemctl stop firewalld          #禁用防火墙
sytemctl disable firewalld       #停止并禁用开机启动

在输入systemctl status firewalld 查看虚拟机状态,为(dead)就算关闭成功。
在这里插入图片描述

四、配置JDK和Hadoop

步骤一:修改hostname(3台虚拟机都要操作)
在虚拟机终端输入:

vi /etc/hostname  

按 i 进入修改模式,修改完后按Esc,最后按:wq保存退出。

修改3台虚拟机的hostname,我这里是将hadoop1修改为master,hadoop2修改为slave1,hadoop3修改为slave2;如下图所示:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
最后修改完都要进行重启,名字才会变成你修改之后的名字。终端输入

reboot         #重启

步骤二:修改hosts文件,配置映射(只对master虚拟机进行配置,后两台复制配置即可)
在虚拟机终端输入:

vi /etc/hosts         #修改hosts文件

在这里插入图片描述
然后将配置复制给其他两台虚拟机,在master终端输入:

scp /etc/hosts slave1:/etc                #将master的hosts文件复制给slave1虚拟机
scp /etc/hosts slave2:/etc                #将master的hosts文件复制给slave1虚拟机

步骤三:JDK和hadoop的配置(只对master虚拟机进行配置,后两台复制配置即可)
1.在根目录下创建/data/packs文件夹 存放hadoop和jdk的安装压缩包,创建software文件夹存放压缩后的文件(这步可以通过FileZilla可视化操作,也可以在虚拟机终端操作)
下面为虚拟机终端的操作,在终端输入代码:

mkdir -P /data/packs            #创建/data/packs文件夹 用于存放hadoop和jdk的安装压缩包
mkdir /software					#创建software文件夹  用于存放压缩后的文件
tar zxvf /data/packs/packs/hadoop-3.3.0.tar.gz -C /software #解压hadoop压缩包,并将解压后的文件存入software文件夹中
tar zxvf /data/packs/packs/jdk-11_linux-x64_bin.tar.gz -C /software #解压hadoop压缩包,并将解压后的文件存入software文件夹中

注意: 刚刚创建好的/data/packs文件夹中并没有hadoop和jdk压缩包,你需要把自己下好的压缩包通过FileZilla从本地电脑拖入虚拟机中,才能进行解压,如下图所示:
在这里插入图片描述
2.到这里,software文件夹中就有了hadoop和jdk文件,为了方便环境变量的配置,我们这里要对jdk文件和hadoop文件进行重命名(可以在FileZilla中操作,也可以在终端操作)
在终端操作的过程,输入:

mv /software/hadoop-3.3.0/ /software/hadoop    #将hadoop-3.3.0文件夹重新命名为hadoop
mv /software/jdk-11/ /software/java      #将hadoop-3.3.0文件夹重新命名为java

如下图所示,在software中有名字为hadoop和java的文件夹。

在这里插入图片描述
3.修改hadoop上的一些配置文件(7个)
(比较简单)方法一: 我给的种子文件中就有hadoop的配置文件,是我已经配置好的,可以通过FileZilla直接复制进文件夹中,覆盖原文件,如下图所示:
在这里插入图片描述
在这里插入图片描述
方法二: 需要修改7个配置文件
(1)hadoop/etc/hadoop/core-site.xml
(2)hadoop/etc/hadoop/yarn-site.xml
(3)hadoop/etc/hadoop/hdfs-site.xml
(4)hadoop/etc/hadoop/mapred-site.xml
(5)hadoop/etc/hadoop/workers (hadoop为3.0以下版本的为slaves文件)
(6)hadoop/etc/hadoop/hadoop-env.sh
(7)hadoop/etc/hadoop/yarn-env.sh
你可以通过FileZilla将这些文件下载到本地电脑进行配置,然后再复制会虚拟机;也可以直接再终端进行配置。
下面我将介绍在终端怎么进行配置(以core-site.xml为例,其它文件也一样配置):
在终端输入vi /software/hadoop/etc/hadoop/core-site.xml 进入core-site.xml文件进行配置,配置结果如下图所示:可以直接敲进去
注意,这里的终端不支持中文显示,中文会出现乱码。
按 i 进入修改模式,修改完后按Esc,最后按:wq保存退出。
在这里插入图片描述
其他文件的配置也是通过vi指令进入配置,配置的代码我也在上传的种子文件中放了,如下图所示:
在这里插入图片描述
这里有7个配置文件的所有配置代码,直接复制就行。因为不支持中文显示,复制的时候不要有中文注释。
如果没有下载我的种子文件,想要看具体的配置信息,可以点击这个连接查看:hadoop的7个配置文件代码

4.到这一步,配置好的jdk和hadoop文件已经存在master虚拟机中了,可以使用scp命令将他们复制到另外两台虚拟机中。复制过程用时1~2分钟左右。

scp -r /software/ slave1:/    #将java和hadoop文件夹拷贝到slave1虚拟机中
scp -r /software/ slave2:/    #将java和hadoop文件夹拷贝到slave2虚拟机中

5.然后需要配置jdk和hadoop的环境变量,在master虚拟机终端输入:

vi /etc/profile        #修改环境变量

按 i 进入修改模式,把下图红色方框中的代码敲入配置文件中,修改完后按Esc,最后按:wq保存退出。
在这里插入图片描述
输入内容如下:

# java and hadoop
export JAVA_HOME=/software/java
export HADOOP_HOME=/software/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

然后输入. etc/profile 激活配置。
同样的,到这里master虚拟机的环境变量就配置完成了,也要将它们复制给另外两台虚拟机,在master终端输入:

scp /etc/profile slave1:/etc                      #将环境变量拷贝给slave1虚拟机
scp /etc/profile slave2:/etc                      #将环境变量拷贝给slave2虚拟机

拷贝结束后分别在两台虚拟机上输入. etc/profile激活环境配置。

五、配置ssh的免密登录

1.三台虚拟机都在终端输入:

ssh-keygen    

查看根目录下是否有.ssh文件生成,有则密钥生成成功,如下图所示:
在这里插入图片描述
2.进入.ssh文件夹配置:
(1)在master上配置

cd ~/.ssh        #进入.ssh文件夹
cat id_rsa.pub >> authorized_keys     #把密钥追加到authorized_keys

此时,master中的authorized_keys 就有master的密钥了,把这个authorized_keys 拷贝给slave1虚拟机,在master终端输入:scp authorized_keys slave1:~/.ssh
(2)在slave1上配置

cd ~/.ssh        #进入.ssh文件夹
cat id_rsa.pub >> authorized_keys     #把密钥追加到authorized_keys

此时,slave1中的authorized_keys 就有master和slave1的密钥了,把这个authorized_keys 拷贝给slave2虚拟机,在slave1终端输入:scp authorized_keys slave2:~/.ssh
(3)在slave2上配置

cd ~/.ssh        #进入.ssh文件夹
cat id_rsa.pub >> authorized_keys     #把密钥追加到authorized_keys

此时,slave2中的authorized_keys 就有master、slave1和slave2的密钥了,把这个authorized_keys 拷贝给master和slave1虚拟机,在slave2终端输入:

scp authorized_keys  slave1:~/.ssh                              #拷贝给slave1虚拟机
scp authorized_keys  master:~/.ssh								#拷贝给master虚拟机

这时候三台虚拟机上的authorized_keys都追加了三个密钥,使用cat命令查看是否有三个,输入:

cat authorized_keys

在这里插入图片描述
看到3个密钥,说明免密登录配置成功,下面来验证。我就举一个maste免密连接slave1的例子,输入:

ssh slave1

在这里插入图片描述
如图,不需要登入密码就可以用ssh连接slave1虚拟机了,证明配置成功。

六、运行hadoop并验证

步骤一:格式化namenode
输入cd /software/hadoop/bin 进入bin目录下进行格式化,输入hdfs namenode -format 进行格式化namenode。
步骤二:启动hadoop节点:
输入cd /software/hadoop/sbin进入sbin的文件夹内,输入命令 . /start-all.sh 启动hadoop,如下图所示:

在这里插入图片描述

步骤三:查看各节点的启动情况
在三台虚拟机中输入jps查看,如下图所示就算启动成功:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤四:验证网页端启动
根据自己配置的ip和端口在网页地址栏输入:

192.168.27.100:50070			#启动hdfs网页端
192.168.27.100:8088			#启动yarn网页端

在这里插入图片描述
在这里插入图片描述

启动成功后要想知道如何运行java代码,请点击完全分布式hadoop运行java代码实例

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值