目录
部署
1. 配置多台Linux虚拟机
1.1 首先,关机当前CentOS系统虚拟机(可以使用root用户执行init 0来快速关
机)
1.2 新建文件夹
1.3 克隆
1.4 同样的操作克隆出:node2和node3
1.5 开启node1,修改主机名为node1,并修改固定ip为:192.168.88.131
1.6 同样的操作启动node2和node3
1.7 配置FinalShell,配置连接到node1、node2、node3的连接
2. 准备主机名映射
2.1 在Windows系统中修改hosts文件,填入如下内容:
2.2 在3台Linux的/etc/hosts文件中,填入如下内容
3. 配置SSH免密登录
3.1 简介
3.2 SSH免密配置
4. 配置JDK环境
5. 关闭防火墙和SELinux
6. 添加快照
补充命令 - scp
部署
1. 配置多台Linux虚拟机
安装集群化软件,首要条件就是要有多台 Linux 服务器可用。
我们可以使用 VMware 提供的克隆功能,将我们的虚拟机额外克隆出 3 台来使用。
1.1 首先,关机当前CentOS系统虚拟机(可以使用root用户执行init 0来快速关
机)
1.2 新建文件夹
文件夹起名为: 虚拟机集群
1.3 克隆
1.4 同样的操作克隆出:node2和node3
1.5 开启node1,修改主机名为node1,并修改固定ip为:192.168.88.131
# 修改主机名
hostnamectl set-hostname node1
# 修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR="192.168.88.131"
# 重启网卡
systemctl stop network
systemctl start network
# 或者直接
systemctl restart network
1.6 同样的操作启动node2和node3
修改 node2 主机名为 node2 ,设置 ip 为 192.168.88.132
修改 node2 主机名为 node3 ,设置 ip 为 192.168.88.133
1.7 配置FinalShell,配置连接到node1、node2、node3的连接
为了简单起见,建议配置 root 用户登录
2. 准备主机名映射
2.1 在Windows系统中修改hosts文件,填入如下内容:
1. sudo su - ,切换到 root2. 修改 /etc/hosts 文件
192.168.88.131 node1
192.168.88.132 node2
192.168.88.133 node3
2.2 在3台Linux的/etc/hosts文件中,填入如下内容
192.168.88.131 node1
192.168.88.132 node2
192.168.88.133 node3
3. 配置SSH免密登录
3.1 简介
SSH 服务是一种用于远程登录的安全认证协议。
我们通过 FinalShell 远程连接到 Linux ,就是使用的 SSH 服务。
SSH 服务支持:
1. 通过账户 + 密码的认证方式来做用户认证
2. 通过账户 + 秘钥文件的方式做用户认证
SSH 可以让我们通过 SSH 命令,远程的登陆到其它的主机上,比如:在node1 执行: ssh root@node2 ,将以 root 用户登录 node2 服务器,输入密码即可成功登陆或者ssh node2,将以当前用户直接登陆到 node2 服务器。
3.2 SSH免密配置
后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,
配置三台 Linux 服务器之间的免密码互相 SSH 登陆
1. 在每一台机器都执行: ssh-keygen -t rsa -b 4096 ,一路回车到底即可
2. 在每一台机器都执行:
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
3. 执行完毕后, node1 、 node2 、 node3 之间将完成 root 用户之间的免密互通
4. 配置JDK环境
后续的大数据集群软件,多数是需要 Java 运行环境的,所以我们为 每一台 机器都配置JDK 环境。
JDK 配置参阅: Tomcat 安装部署环节。
连接:Tomcat在CentOS上的安装部署-CSDN博客
5. 关闭防火墙和SELinux
集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。
在每一台机器都执行
systemctl stop firewalld
systemctl disable firewalld
Linux 有一个安全模块: SELinux ,用以限制用户和程序的相关权限,来确保系统的安全稳定。
SELinux 的配置同防火墙一样,非常复杂,课程中不多涉及,后续视情况可以出一章SELinux 的配置课程。
在当前,我们只需要关闭 SELinux 功能,避免导致后面的软件运行出现问题即可, 在每一台机器都执行
vim /etc/sysconfig/selinux# 将第七行,SELINUX=enforcing 改为
SELINUX=disabled
# 保存退出后,重启虚拟机即可,千万要注意disabled单词不要写错,不
然无法启动系统
6. 添加快照
为了避免后续出现问题,在完成上述设置后,为 每一台虚拟机 都制作快照,留待使用。
链接:Linux学习(虚拟机快照的建立,删除,管理)-CSDN博客
补充命令 - scp
后续的安装部署操作,我们将会频繁的在多台服务器之间相互传输数据。
为了更加方面的互相传输,我们补充一个命令: scp
scp 命令是 cp 命令的升级版,即: ssh cp ,通过 SSH 协议完成文件的复制。
其主要的功能就是:在不同的 Linux 服务器之间,通过 SSH 协议互相传输文件。
只要知晓服务器的账户和密码(或密钥),即可通过 SCP 互传文件。
scp [-r] 参数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/
将远程node2的jdk文件夹,复制到本机的/export/server/内# scp命令的高级用法
cd /export/server
scp -r jdk node2:`pwd`/ # 将本机当前路径的jdk文件夹,复制到node2服务器的同名路径下
scp -r jdk node2:$PWD # 将本机当前路径的jdk文件夹,复制到node2服务器的同名路径下