多台Linux虚拟机配置——集群化环境前置准备

配置多台Linux虚拟机——集群化环境前置准备

    • 创建多台虚拟机
    • 配置主机名映射
    • 配置SSH免密登录
    • 配置JDK环境
    • 关闭防火墙和SELinux
    • 添加快照
    • 补充命令 `- scp`

创建多台虚拟机

安装集群化软件,首要条件就是要有多台Linux服务器可用。

我们可以使用VMware提供的克隆功能,将我们的虚拟机额外克隆出3台来使用。

  1. 首先,关机当前CentOS系统虚拟机(可以使用root用户执行init 0来快速关机)
  2. 右键我的计算机->新建文件夹, 文件夹起名为:虚拟机集群

多台Linux虚拟机配置——集群化环境前置准备_第1张图片
3. 克隆
右键要克隆的虚拟机 -> 管理 -> 克隆
多台Linux虚拟机配置——集群化环境前置准备_第2张图片
多台Linux虚拟机配置——集群化环境前置准备_第3张图片
多台Linux虚拟机配置——集群化环境前置准备_第4张图片
多台Linux虚拟机配置——集群化环境前置准备_第5张图片
多台Linux虚拟机配置——集群化环境前置准备_第6张图片
多台Linux虚拟机配置——集群化环境前置准备_第7张图片
多台Linux虚拟机配置——集群化环境前置准备_第8张图片

鼠标左键拖拽虚拟机集群文件夹

多台Linux虚拟机配置——集群化环境前置准备_第9张图片

  1. 同样的操作克隆出:node2node3

多台Linux虚拟机配置——集群化环境前置准备_第10张图片

  1. 开启node1,修改主机名为node1,并修改固定ip为:192.168.216.131

5.1、开启node1 ,鼠标右键,点击Open Terminal

5.2、输入su - 并输入密码切换到root用户,修改主机名:

# 修改主机名
hostnamectl set-hostname node1

多台Linux虚拟机配置——集群化环境前置准备_第11张图片

5.3、进入网卡配置文件,修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33
#键盘点击 i ,进入输入模式进行修改
IPADDR="192.168.216.131"

多台Linux虚拟机配置——集群化环境前置准备_第12张图片

5.4、修改完成后按Esc键进入命令模式,然后输入:wq保存退出,重启网卡,最后输入ifconfig查看IP是否修改成功

# 重启网卡
systemctl stop network
systemctl start network
# 或者直接
systemctl restart network
# 查看ip
ifconfig

多台Linux虚拟机配置——集群化环境前置准备_第13张图片

  1. 同样的操作启动 node2node3,
    修改node2主机名为node2,设置ip192.168.216.132
    修改node2主机名为node3,设置ip192.168.216.133
  • node2node3修改IP的时候,UUID可以随意修改一位,和第一台不同!
    多台Linux虚拟机配置——集群化环境前置准备_第14张图片

全部修改完成后,可以互相ping以下,如果能ping通,则修改成功!

ping 192.168.216.131
ping 192.168.216.132
  1. 配置FinalShell,配置连接到node1node2node3的连接

选择SSH连接(Linux),为了简单起见,建议配置root用户登录

多台Linux虚拟机配置——集群化环境前置准备_第15张图片

全部配置好后:
多台Linux虚拟机配置——集群化环境前置准备_第16张图片
FinalShell中分别双击node1node2node3建立连接

配置主机名映射

  1. 在Windows系统中修改hosts文件,填入如下内容:

在window系统中以管理员身份打开记事本,点击文件 -> 打开

路径C:\Windows\System32\drivers\etc ,选择所有文件,选择hosts

多台Linux虚拟机配置——集群化环境前置准备_第17张图片

在最后加入:

192.168.216.131 node1
192.168.216.132 node2
192.168.216.133 node3

多台Linux虚拟机配置——集群化环境前置准备_第18张图片
在windows中可以直接ping 主机名

多台Linux虚拟机配置——集群化环境前置准备_第19张图片

  1. 在3台Linux的 /etc/hosts 文件中,填入如下内容

( 3台都要添加)

vim /etc/hosts
# 最下面添加
192.168.216.131 node1
192.168.216.132 node2
192.168.216.133 node3

多台Linux虚拟机配置——集群化环境前置准备_第20张图片

配置好后,可以直接ping 主机名

多台Linux虚拟机配置——集群化环境前置准备_第21张图片

配置SSH免密登录

简介

  • SSH服务是一种用于远程登录安全认证协议
  • 我们通过FinalShell远程连接到Linux,就是使用的SSH服务。

SSH服务支持:

  1. 通过账户+密码的认证方式来做用户认证
  2. 通过账户+秘钥文件的方式做用户认证

SSH可以让我们通过SSH命令,远程的登陆到其它的主机上,比如:

  • node1执行:ssh root@node2,将以root用户登录node2服务器,输入密码即可成功登陆
  • 或者ssh node2,将以当前用户直接登陆到node2服务器。

多台Linux虚拟机配置——集群化环境前置准备_第22张图片
退出到上一个用户,输入:

exit

SSH免密配置

后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登陆
1、在每一台机器都执行:ssh-keygen -t rsa -b 4096一路回车到底即可;(设置锁和钥匙

多台Linux虚拟机配置——集群化环境前置准备_第23张图片

2、 在每一台机器都执行:(共享钥匙

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

多台Linux虚拟机配置——集群化环境前置准备_第24张图片

3、执行完毕后,node1node2node3之间将完成root用户之间的免密互通

多台Linux虚拟机配置——集群化环境前置准备_第25张图片

配置JDK环境

后续的大数据集群软件,多数是需要Java运行环境的,所以我们为每一台机器都配置JDK环境。

JDK配置参阅:Linux系统安装部署Tomcat(超详细操作演示)

关闭防火墙和SELinux

集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。

在每一台机器都执行

systemctl stop firewalld
systemctl disable firewalld

在这里插入图片描述

  • Linux有一个安全模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定。
  • SELinux的配置同防火墙一样,非常复杂。

在当前,我们只需要关闭SELinux功能,避免导致后面的软件运行出现问题即可,

在每一台机器都执行

vim /etc/sysconfig/selinux
# 将第七行,SELINUX=enforcing 改为
SELINUX=disabled
# 保存退出后,重启虚拟机即可,千万要注意disabled单词不要写错,不然无法启动系统

多台Linux虚拟机配置——集群化环境前置准备_第26张图片

添加快照

为了避免后续出现问题,在完成上述设置后,为 每一台虚拟机 都制作快照,留待使用,要先关机。

关机,输入:

init 0
# 如果重启,输入
init 6

右键虚拟机 -> 快照 -> 拍摄快照

多台Linux虚拟机配置——集群化环境前置准备_第27张图片

补充命令 - scp

后续的安装部署操作,我们将会频繁的在多台服务器之间相互传输数据。
为了更加方面的互相传输,我们补充一个命令:scp

scp命令是cp命令的升级版,即:ssh cp,通过SSH协议完成文件的复制。

  • 其主要的功能就是:在不同的Linux服务器之间,通过SSH协议互相传输文件。
  • 只要知晓服务器的账户和密码(或密钥),即可通过SCP互传文件。

语法:

scp [-r] 参数1 参数2 (把参数1 复制到 参数2)

  • -r选项用于复制文件夹使用,如果复制文件夹,必须使用-r
  • 参数1本机路径远程目标路径
  • 参数2:远程目标路径本机路径

如:

scp -r /export/server/jdk root@node2:/export/server/
  • 将本机上的jdk文件夹, 以root的身份 复制到 node2/export/server/
  • 同SSH登陆一样,账户名可以省略(使用本机当前的同名账户登陆)

如:

scp -r node2:/export/server/jdk /export/server/

将远程node2jdk文件夹复制到 本机的/export/server/

scp命令的高级用法

cd /export/server
scp -r jdk node2:`pwd`/   
  • pwd == /export/server ,被飘号 包围的字符串会当作命令去执行,pwd变量记录当前路径

  • 将本机当前路径的jdk文件夹,复制node2服务器的 同名路径

    scp -r jdk node2:$PWD

  • 将本机当前路径的jdk文件夹,复制到node2服务器的 同名路径

一个点 .表示当前路径,两个点..表示上一层路径!

注:仅供学习参考,如有不足,欢迎指正!

你可能感兴趣的:(Linux,大数据,linux,运维,服务器)