虚拟机的基础配置
首先我们需要准备三台虚拟机,在创建虚拟机的时候只需要选择推荐的那个就可以了,然后四个虚拟机的内存大小分别如下:node1 4g node2 2g node3 2g
更改虚拟机名字
如果我们登录的是普通用户我们是没有权限去修改虚拟机的名字的,所以我们需要换到root用户
指令是su -
或者su - root
然后根据提示输入密码就可以了
然后我们就切换到了root用户我们就有了修改虚拟机名字的权限了
然后下面我们使用
hostnamectl set-hostname node1
就可以将第一个虚拟机名字修改成node1了
同理我们后面的就修改其他两个虚拟机的名称,同样也需要更换为root用户后才有权力去修改虚拟机的名称。
hostnamectl set-hostname node2
hostnamectl set-hostname node3
编辑ip
指令
vim /etc/sysconfig/network-scripts/ifcfg-ens33
在后面加上这样这几句
DNS和网关设置成一样的
IPADDR="192.168.88.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
最后修改成这样就可以了
然后
输入指令 重启一下
systemctl restart network
然后输入指令
ifconfig
就能够看到我们刚固定的ip了
同理其他两个的指令为
node2
IPADDR="192.168.88.102"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
node3
IPADDR="192.168.88.103"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
然后这样三个虚拟机都做好了 固定ip
配置主机名映射
配置windows
打开我们的windows系统然后打开c盘。windows路径下面的System32的drivers路径下面的etc文件夹下面的hosts文件
然后像下面这样添加主机名映射
192.168.88.101 node1
192.168.88.102 node2
192.168.88.103 node3
然后编辑这个文件,把上面的这个映射关系写到这个文件里面
然后我们这个windows的配置就ok了
======================
如果你在修改hosts文件时候遇到了文件权限问题,可以试试下面的步骤
用管理员身份启动powershell然后进入我们的这个路径指令为
cd C:\Windows\System32\drivers\etc
然后出来命令行后 输入
notepad hosts
就可以编辑这个文件,保存就有权限了。
配置linux
编辑配置文件
指令
vim /etc/hosts
将映射添加到文件就可以了
三台虚拟机同样的操作
配置ssh免密登录(root用户的)
生成密钥指令ssh-keygen -t rsa -b 4096
三台虚拟机都是同样的操作,输入后只回车回车回车就可以了。
然后进行授权免密登录
指令如下
ssh-copy-id node1
然后根据提示输入 yes和你得root密码(123456)
然后给node1配置node2的免密登录
ssh-copy-id node2
然后根据提示输入 yes和你得root密码(123456)
然后给node1配置node3的免密登录
ssh-copy-id node3
然后根据提示输入 yes和你得root密码(123456)
上面是对node1配置的node123的免密登录,同样也要配置node2,node3对node123的免密登录,步骤和上面完全一样。
然后可以像下面这张图一样进行测试
ssh node2
创建Hadoop用户,配置三台虚拟机hadoop用户的免密登录
输入下面的指令创建hadoop用户useradd hadoop
然后对hadoop用户设置密码输入下面的指令,根据提示输入密码即可password hadoop
然后切换到Hadoop用户进行免密登录的配置
输入下面的指令ssh-keygen -t rsa -b 4096
三台虚拟机都是一样的操作
然后进行免密登录的配置
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
像上图这样给三台虚拟机都配置一下
安装配置jdk
下载jdk的安装包
创建文件夹(三台机器都要!)
mkdir -p /export/server
然后将下载好的jdk上传到刚创建的文件夹内
然后进入这个文件夹我们对这个文件进行解压
输入下面的指令执行解压
tar -zxvf jdk-11.0.26_linux-x64_bin.tar.gz -C /export/server/
名字太长了我们给他做个软连接
输入下面的指令
ln -s /export/server/jdk-11.0.26 jdk
配置java_home 环境变量
vim /etc/profile
在最后进行追加
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin
如下图所示:
然后继续更新一下配置,指令如下
source /etc/profile
显示如下则证明,安装成功了
输入 javac -version 进行验证
显示如下:
下面我们将要配置java执行程序的软连接
#删除系统自带的java程序
rm -f /usr/bin/java
#软连接我们自己安装的java程序
ln -s /export/server/jdk/bin/java /usr/bin/java
然后另外两台虚拟机也是同样的操作
然后我们就创建文件夹上传,解压就可以了
因为我们的node1其实以及弄好了jdk了,我们直接复制到另外的两个就可以了。
从node1中进入server路径后
执行下面的代码
scp -r jdk-11.0.26 node2:`pwd`/
scp -r jdk-11.0.26 node3:`pwd`/
然后在node2,node3中分别创建软连接,配置环境变量。
关闭防火墙
为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙
输入下面指令
# 关闭防火墙 systemctl stop firewalld
#关闭开机自启 systemctl disable firewalld
编辑文件
执行指令vim /etc/sysconfig/selinux
将第七行改为disabled如下
然后我们需要重启一下系统
直接重启或者
直接执行
init 6
然后等待重启就好了
配置时区 自动时间同步
- 安装ntp软件(三台虚拟机都需要执行)
yum install -y ntp
*1如果在这一步出现如下图所示的报错,可以尝试输入这个指令然后重新安装ntp即可,如没有报错继续后面的步骤即可
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-
更新时区,将当前的时区改为上海时区执行指令如下
rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
然后去同步时间
指令如下
ntpdate -u ntp.aliyun.com
-
开启ntp 服务并设置开机自启
systemctl start ntpd
systemctl enable ntpd
保存快照
输入好名字你自己知道是配置的哪个阶段就可以