博主配置

物理机系统:
Windows系统:Windows 10 家庭版
系统版本号:20H2


VMware版本:
VMware® Workstation 16 Pro
版本:16.1.0 build-17198959


虚拟机系统镜像:
CentOS
镜像版本:2009(7.9)


前期准备(软件下载)


正文开始

创建虚拟机(三台)

说明:目录文件过多,请使用txt文档等记录路径


例如:查看下面要说的jdk文件夹路径
1.进入到jdk目录:

cd /usr/apps/java/jdk/

2.查看路径:

pwd

3.将路径保存在物理机记事本文档中方便查看,后期搭建会用到。

一台Master
两台Slave(Slave1、Slave2)
本文IP配置为桥接模式
Master:192.168.38.137
Slave1:192.168.38.138
Slave2:192.168.38.139


不会请看下文:
虚拟机安装Linux系统详解[超详细篇]
Linux-NAT/桥接网络配置
Linux-克隆机器

使用Xshell6连接虚拟机

Xshell使用技巧:Xshell使用技巧
新建会话->[连接]名称为主机名称(Master、Slave1、Slave2)->主机为指定主机的IP地址->[用户身份验证]用户名为root 密码为设置的root密码
———
[VT模式]初始数字键盘模式->设置为普通(避免小键盘输入数字乱码)


Xshell连接设置完毕后(三台机器)Ctrl+鼠标点击=选中后打开->输入yes/单个打开请点”是”

关闭防火墙

三台主机都要关闭防火墙

临时关闭防火墙(重启会重新打开):

systemctl stop firewalld

永久关闭防火墙(重启不会重新打开):

systemctl disable firewalld # 需要关闭防火墙后操作或操作后重启

Admin推荐

防火墙相关知识/命令

注:防火墙不关闭zookeeper会产生障碍,导致选举leader失败,影响整个过程,后果较为麻烦。
查看防火墙状态是否开启:绿色为开启,灰/白色为已关闭(未开启)
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld # 此项需要关闭防火墙后操作
chkconfig iptables off
4:重启防火墙
systemctl restart firewalld
service iptables restart

主机更名

临时更名命令:

hostname (主机名:Master/Slave1/Slave2)

永久更名命令:

hostnamectl set-hostname (主机名:Master/Slave1/Slave2)

更改完名称后全部输入刷新命令:

bash

安装必备命令

rz上传命令:

yum install -y lrzsz
//yum为安装源,install为安装,-y为一切询问是否的选项全选Y(是),lrzsz为上传插件

vim彩色编辑命令:

yum install -y vim
//彩色命令解决易看错行导致输入代码错误问题
注意:以下操作均是在Master主机下操作

编辑hosts文件(指定主机)

vim /etc/hosts

编辑格式如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.38.137 master
192.168.38.138 slave1
192.168.38.139 slave2
# IP请换成你自己的IP

将hosts文件发送到Slave

scp /etc/hosts root@slave1:/etc/
scp /etc/hosts root@slave2:/etc/
//root@为发送到该主机的root用户名下

三台机器配置免密

三台主机同时输入命令

ssh-keygen -t rsa
//生成密钥,一直回车

发送密钥文件到Master(三台主机都要,Master主机也不例外)

# master主机:
ssh-copy-id master
# slave1主机:
ssh-copy-id master
# slave2主机:
ssh-copy-id master

master主机:

# 进入.ssh文件夹查看是否有汇总密钥文件
cd /root/.ssh
# 查看是否有"authorized_keys"文件
ls

将代码发送到其他两台Slave

# 发送到Slave1
scp /root/.ssh/authorized_keys root@slave1:/root/.ssh
# 发送到Slave2
scp /root/.ssh/authorized_keys root@slave2:/root/.ssh

测试是否已经免密(三台主机都要操作)

# 测试连接Master
ssh master
exit//退出
# 测试连接Slave1
ssh slave1
exit//退出
# 测试连接Slave2
ssh slave2
exit//退出
# 建议使用Xshell撰写栏快速操作
参考文章:配置免密

新建子文件夹、上传tar包、解压tar包

新建/usr/tar文件夹,用于存放tar包

mkdir /usr/tar

新建Hadoop、zookeeper、java文件夹/子文件夹,用于存放解压后的tar包数据

mkdir -p /usr/apps/hadoop/ # 递归创建
# 进入到apps文件夹
cd /usr/apps
# 创建另外两个文件夹
mkdir java zookeeper
# 或者:
mkdir -p /usr/apps # 递归创建之后再去新建三个文件夹
cd /usr/apps
mkdir java hadoop zookeeper
# -----分割线-----
# 查看新建的文件夹
ls
# 在hadoop文件夹下新建tmp文件夹用来存放hadoop的数据文件
mkdir -p /usr/apps/hadoop/tmp
# 在zookeeper文件夹下新建data、tmp文件夹
cd /usr/apps/zookeeper/
mkdir data log

上传tar包

# 将tar包上传至响应文件夹"tar"
# tar包分别为:
# hadoop-2.7.4.tar.gz
# jdk-8u161-linux-x64.tar.gz
# zookeeper-3.4.10.tar.gz
# 选中tar包后可以按住Ctrl加鼠标左键同时多选,一次性上传三个即可
cd /usr/tar
rz # 选择tar包并上传
# 上传完毕后查看
ls
# 显示结果如下:
[root@master tar]# ls
hadoop-2.7.4.tar.gz  jdk-8u161-linux-x64.tar.gz  zookeeper-3.4.10.tar.gz

将所有tar包解压到相应文件夹

解压jdk到/usr/apps/java文件夹中

tar -zxvf /usr/tar/jdk-8u161-linux-x64.tar.gz -C /usr/apps/java/
参数解释:
tar:解压
zxvf:
这些都是tar的参数。.tar.gz是一个压缩包,.tar只是打包而没有压缩,注意这点。
z:通过gzip支持压缩或解压缩。还有其他的压缩或解压缩方式,比如j表示bzip2的方式。
x:解压缩。c:是压缩。 
v:在压缩或解压缩过程中显示正在处理的文件名
f:f后面必须跟上要处理的文件名。也就是说你不能写成这样 tar -zxfv zhcon-0.2.5.tar.gz 
z代表gzip的压缩包;x代表解压;v代表显示过程信息;f代表后面接的是文件 
解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”


-C:大写的C 为指定路径

解压Hadoop到/usr/apps/java文件夹中

tar -zxvf /usr/tar/hadoop-2.7.4.tar.gz -C /usr/apps/hadoop/

解压zookeeper到/usr/apps/zookeeper文件夹中

tar -zxvf /usr/tar/jdk-8u161-linux-x64.tar.gz -C /usr/apps/java/
提醒:
为方便记忆,现将/usr/apps/java/jdk1.8.0_161文件改名为jdk

mv /usr/apps/java/jdk1.8.0_161 jdk

段落小结

NOTE:
1.创建三台虚拟机
2.三台主机打通网络
3.Xshell连接虚拟机
4.三台主机关闭防火墙
5.更改各个主机名
6.安装必备命令
7.配置/etc/hosts文件并发送到其他两台主机
8.配置免密
9.新建文件夹/子文件夹
10.上传所需tar包
11.解压tar包到指定文件夹
12.jdk1.8.0_161文件改名为jdk(方便记忆)