目录

一、安装VMware

二、搭建CentOS7系统

2.1配置CentOS7基本项

2.2安装CentOS7系统

2.3网络配置

三、Xshell连接虚拟机

四、Hadoop分布式集群搭建

4.1将必要文件导入至虚拟机中

4.2 JDK1.8安装

1.卸载系统自带的JDK

2.添加java环境变量

4.3克隆虚拟机

1.克隆

2.修改网络配置文件

 3.修改主机名

4.在Xshell中添加虚拟机

5.禁用防火墙

4.4 SSH配置

4.5 Hadoop分布式集群搭建

1.解压hadoop文件

2.配置hadoop环境变量

3.修改hadoop配置文件

4.配置root启动

5.使用scp将hadoop分发到hadoop103和hadoop104上

6.启动集群

7.访问web端

8.关闭集群

9.脚本文件


已经有VMware,已安装Centos7,可以直接跳转到Hadoop集群搭建

本教程更适合第一次安装,不了解Linux和hadoop的同学

写的非常详细,有8k字,希望同学们帮忙点点赞

一、安装VMware

虚拟机(VMware)下载地址:

VMware官网

网盘链接:

链接: https://pan.baidu.com/s/1Yx6822Y_ULXch0G1Ocl_iw?pwd=achf

提取码: achf

这里更改一下安装位置

两个不选

许可证用网上的就行,搜VMware许可证

二、搭建CentOS7系统

这是VMware安装好后的界面

2.1配置CentOS7基本项

点击创建新的虚拟机

下面跟着点

使用centos7映像文件

网盘链接:

链接: https://pan.baidu.com/s/1Yx6822Y_ULXch0G1Ocl_iw?pwd=achf

提取码: achf

这里改一下虚拟机的位置

处理器、内存、磁盘根据自己的需求定就行了,一般磁盘容量不低于40G

这里选择使用网络地址转换(NAT)

下面的直接点下一步就行了

磁盘改一下

点击完成

2.2安装CentOS7系统

前面成功后是下面的界面,回车继续,Ctrl+左ALT可以切换鼠标到Windows系统中

等待安装完成

在最下方选择中文

这两个需要改一下

安装位置进去后直接点完成

网络和主机名进去后跟着我的改

点击开始安装

这里我设置的密码为123456

点击完成,等待系统安装完毕,点击重启

这里用户名是root,密码是我们改成设置的密码(123456)

如果设置的数字密码输入后不正确,注意虚拟机键盘的数字Numlock是否开启,在最右边的数字盘上面有个Num按钮或者是Numlock按钮,需要开启后才能输入右边数字键盘的数字

登录成功后,右键虚拟机->电源->关机

出来后我们接下来开始设置网络

2.3网络配置

最上面点击编辑->虚拟网络编辑器,点击更改设置

选择VMnet8

将子网IP设置为192.168.10.0

点击Net设置

网关IP设置为192.168.10.2

点击应用

我们在本机上点击设置

点击网络和Internet->高级网络设置

找到VMnet8点击编辑

在Internet协议版本4前打勾✔

点击属性

按照我的来设置

我们接下来开启虚拟机,输入账号密码后,修改网络配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

按i进入修改模式,ESC进入命令行模式

进入后修改BOOTPROTO=dhcp为BOOTPROTO=static

修改ONBOOT=no为ONBOOT=yes

在最后添加

IPADDR=192.168.10.102
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
DNS1=8.8.8.8
DNS2=4.4.4.4

最终

退出修改(先点键盘ESC,然后输入:wq

重启输入

reboot

重启后输入

ip a

出现192.168.10.102表示配置成功

我们尝试一下ping百度能不能ping通

ping baidu.com

出现以下提示则ping通

再试试本机能否ping通虚拟机

打开本机命令提示符,(在自己电脑上点键盘win+R,输入cmd则进入命令提示符

输入

ping 192.168.10.102

出现以下提示则配置成功

在虚拟机上配置hosts文件

vi /etc/hosts

在最下面添加

192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104

最终结果,ESC进入命令行:wq保存退出

三、Xshell连接虚拟机

下载地址:家庭/学校免费 - NetSarang Website (xshell.com)        这个是免费版下载

两个都下载

点击新建

按照下面来进行配置,点击连接

后面用户名密码就是我们虚拟机的用户名和密码,记得保存用户名和密码

这样xshell就成功连接虚拟机了

四、Hadoop分布式集群搭建

4.1将必要文件导入至虚拟机中

这时候就要用到我们刚才下载的xftp

创建安装包文件夹与应用文件夹(software我们用来存安装包,module用来存软件应用)

mkdir -p /opt/software
mkdir -p /opt/module

在xshell中点击xftp

必要文件包括

jdk-8u221-linux-x64.tar.gz

hadoop-3.1.3.tar.gz

官网下得太慢了,镜像网站也没有历史的版本,这里推荐网盘链接

网盘链接:

链接: https://pan.baidu.com/s/1Yx6822Y_ULXch0G1Ocl_iw?pwd=achf

提取码: achf

把右边的路径修改一下,再在左边找到下载路径拖过来就行了

传输完毕后,关闭xftp,进入software文件夹中

cd /opt/software
ll

ll 查看当前目录中文件是否有jdk和hadoop

4.2 JDK1.8安装

1.卸载系统自带的JDK

rpm -qa | grep java

如果没有任何输出则不需要卸载,如果有java-*-openjdk-*这样的需要一个一个进行删除

删除:

rpm -e --nodeps 包名

解压JDK到/usr/local目录中

tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/

2.添加java环境变量

vi /etc/profile

按i进行修改

在最后添加

# JAVA_HOME
export JAVA_HOME=/usr/local/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin

按ESC键,:wq保存退出

刷新环境变量

source /etc/profile

查看java版本

java -version

4.3克隆虚拟机

1.克隆

我们先关闭虚拟机

右键虚拟机->管理->克隆

在克隆虚拟机向导里面

创建完整克隆

修改虚拟机目录

创建两台克隆,第二次跟上面步骤一样

修改虚拟机名称

右键虚拟机->重命名

最终是有三台虚拟机

2.修改网络配置文件

我们全部开启,修改hadoop103和hadoop104的网络配置文件

hadoop103和104用户名密码都是hadoop102的用户名密码

vi /etc/sysconfig/network-scripts/ifcfg-ens33

hadoop103上IPADDR修改为192.168.10.103

hadoop104上IPADDR修改为192.168.10.104

 3.修改主机名

修改hadoop103和104的hostname文件

hadoop103修改为hadoop103         hadoop104修改为hadoop104

vi /etc/hostname

hadoop103和104重启

4.在Xshell中添加虚拟机

记得改机器名和ip地址,添加两台(hadoop103和104)

点击连接即可,记得保存用户名和密码

5.禁用防火墙

每台机器上执行

systemctl stop firewalld
systemctl disable firewalld

4.4 SSH配置

生产ssh密钥

ssh-keygen -t rsa

敲三次回车

每一台都需要产生密钥,敲三次回车

将密钥拷贝到每一台机器上

ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104

按照顺序输入yes和密码

每一台都需要执行

尝试是否能相互连接

ssh hadoop103

不需要输入密码则配置成功

记得exit退出,机器别配错了

4.5 Hadoop分布式集群搭建

1.解压hadoop文件

进入software目录中

cd /opt/software

解压hadoop压缩文件

tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

2.配置hadoop环境变量

vi /etc/profile

在最下面添加

# HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

保存退出

更新/etc/profile

source /etc/profile

查看hadoop环境变量是否配置成功

hadoop version

将配置文件传输到hadoop103和104中

scp /etc/profile root@hadoop103:/etc/
scp /etc/profile root@hadoop104:/etc/

其他两台机器再更新一下

source /etc/profile

3.修改hadoop配置文件

cd /opt/module/hadoop-3.1.3/etc/hadoop/

修改core-site.xml

vi core-site.xml

在configuration内添加如下内容

<configuration>
 <!-- 指定 NameNode 的地址 -->
 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop102:8020</value>
 </property>
 <!-- 指定 hadoop 数据的存储目录 -->
 <property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/module/hadoop-3.1.3/data</value>
 </property>
 <!-- 配置 HDFS 网页登录使用的静态用户为 root -->
 <property>
  <name>hadoop.http.staticuser.user</name>
  <value>root</value>
 </property>
</configuration>

修改hdfs-site.xml

vi hdfs-site.xml

在configuration内添加如下内容

<configuration>
<!-- nn web 端访问地址-->
<property>
  <name>dfs.namenode.http-address</name>
  <value>hadoop102:9870</value>
 </property>
<!-- 2nn web 端访问地址-->
 <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop104:9868</value>
 </property>
</configuration>

修改yarn-site.xml

vi yarn-site.xml

在configuration内添加如下内容

<configuration>
 <!-- 指定 MR 走 shuffle -->
 <property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
 </property>
 <!-- 指定 ResourceManager 的地址-->
 <property>
  <name>yarn.resourcemanager.hostname</name>
  <value>hadoop103</value>
 </property>
 <!-- 环境变量的继承 -->
 <property>
 <name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME</value>
 </property>
</configuration>

修改mapred-site.xml

vi mapred-site.xml

在configuration内添加如下内容

<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>
<!-- 历史服务器端地址 -->
<property> 
    <name>mapreduce.jobhistory.address</name> 
    <value>hadoop102:10020</value> 
</property> 
 
<!-- 历史服务器 web 端地址 --> 
<property> 
    <name>mapreduce.jobhistory.webapp.address</name> 
    <value>hadoop102:19888</value> 
</property> 
</configuration>

修改hadoop-env.sh

vi hadoop-env.sh

修改export JAVA_HOME=/usr/local/jdk1.8.0_221

修改workers

vi workers

删除localhost,修改为

hadoop102
hadoop103
hadoop104

4.配置root启动

如果不是用的root则跳过这一步

进入sbin目录

cd /opt/module/hadoop-3.1.3/sbin/

修改start-dfs.sh和stop-dfs.sh

vi start-dfs.sh
vi stop-dfs.sh

在最顶部添加

HDFS_ZKFC_USER=root
HDFS_JOURNALNODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=root
#HADOOP_SECURE_DN_USER=root

修改start-yarn.sh和stop-yarn.sh

vi start-yarn.sh
vi stop-yarn.sh

在最顶部添加

#HADOOP_SECURE_DN_USER=root
HDFS_DATANODE_SECURE_USER=root
YARN_NODEMANAGER_USER=root
YARN_RESOURCEMANAGER_USER=root

5.使用scp将hadoop分发到hadoop103和hadoop104上

scp -r /opt/module/hadoop-3.1.3/ root@hadoop103:/opt/module/
scp -r /opt/module/hadoop-3.1.3/ root@hadoop104:/opt/module/

6.启动集群

每台机器先进入hadoop目录中

cd /opt/module/hadoop-3.1.3/

格式化namenode

在hadoop102上

hdfs namenode -format

启动HDFS

在hadoop102上

sbin/start-dfs.sh

使用jps发现hadoop102上启动了namenode和datanode

启动Yarn

在hadoop103上

sbin/start-yarn.sh

启动历史服务器

在hadoop102上

bin/mapred --daemon start historyserver

每一台机器执行jps查看进程

hadoop102

hadoop103

hadoop104

7.访问web端

浏览器输入http://192.168.10.102:9870/

HDFS Web端

浏览器输入http://192.168.10.103:8088/

Yarn web端

历史服务器

浏览器输入http://192.168.10.102:19888/

如果上面的网页都能进入说明分布式集群搭建成功

8.关闭集群

在hadoop102上

bin/mapred --daemon stop historyserver

在hadoop103上

sbin/stop-yarn.sh

在hadoop102上

9.脚本文件

创建脚本文件

vi bin/myhadoop.sh

在脚本文件中输入

#!/bin/bash
if [ $# -lt 1 ]
then
	echo "No Args Input..."
	exit ;
fi

case $1 in
"start")
	echo " =================== 启动 hadoop 集群 ==================="
	echo " --------------- 启动 hdfs ---------------"
	ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
	echo " --------------- 启动 yarn ---------------"
	ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
	echo " --------------- 启动 historyserver ---------------"
	ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
	echo " =================== 关闭 hadoop 集群 ==================="
	echo " --------------- 关闭 historyserver ---------------"
	ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
	echo " --------------- 关闭 yarn ---------------"
	ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
	echo " --------------- 关闭 hdfs ---------------"
	ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
	echo "Input Args Error..."
;;
esac

给该文件赋予权限

chmod 777 bin/myhadoop.sh

启动集群

myhadoop.sh start

关闭集群

myhadoop.sh stop

重新开启集群就看启动集群那里

可以自己写shell脚本来一键开启或关闭集群

各位同学配置完可以收藏一下,方便后续配置或更改

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐