搭建Linux集群环境
-
集群是一组通过网络互联的计算机,集群里的每一台计算机称作一个节点。
搭建集群环境规划
集群主机节点数:4 台安装 CentOS7 的虚拟机
主机名(Hostname) IP 地址 node-01 192.168.229.21 node-02 192.168.229.22 node-03 192.168.229.23 node-04 192.168.229.24 注:IP地址需根据虚拟机环境执行分配
制作集群模板机
选集群主机 node-01 作为集群模板机,将集群所需配置和软件安装好,然后直接从模板机克隆其他集群主机节点,以减少重复操作。
设置主机名
复制代码
[root@node-01 ~]# vim /etc/hostname
node-01配置主机名与 IP 地址映射关系(可添加多个别名)
复制代码
# vi /etc/hosts
192.168.229.21 node-01 node1 node-1
192.168.229.22 node-02 node2 node-2
192.168.229.23 node-03 node3 node-3
192.168.229.24 node-04 node4 node-4配置 IP 地址
复制代码
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.229.21重启网卡服务
复制代码
[root@node-01 ~]# systemctl restart network
测试网络
复制代码
[root@node-01 ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 time=38.9 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 time=40.2 ms关闭防火墙
-
查看防火墙(默认只开22号端口,终端仿真器远程连接Linux默认使用也是22号端口)
复制代码
[root@CentOS7 yum.repos.d]# firewall-cmd --state
running #防火墙正在运行 -
关闭防火墙(临时关闭防火墙服务)
复制代码
[root@CentOS7 yum.repos.d]# systemctl stop firewalld.service
[root@CentOS7 yum.repos.d]# firewall-cmd --state
not running -
禁止防火墙开机自动启动
复制代码
[root@CentOS7 yum.repos.d]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
安装 JDK
-
查看系统版本是 32 位还是 64 位
复制代码
# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped # 64 位-
检查是否有安装 JDK(如果系统有安装则先卸载)
复制代码
# rpm -qa | grep jdk
-
上传 jdk-8u141-linux-x64.tar.gz 安装包
复制代码
[root@node-01 ~]# mkdir apps
[root@node-01 ~]# tar -xzvf jdk-8u141-linux-x64.tar.gz -C apps/
[root@node-01 ~]# rm -rf jdk-8u141-linux-x64.tar.gz -
设置 JDK 环境变量
-
/etc/profile:系统环境变量配置文件
-
export: 用于设置或显示环境变量
复制代码
[root@node-01 ~]# vi /etc/profile
export JAVA_HOME=/root/apps/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin -
-
设置系统配置文件生效
复制代码
# source /etc/profile
-
查看配置是否成功
复制代码
[root@node-01 ~]# java -version
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
拍摄快照
Linux 快照,相当于 windows 系统还原点,在进行复杂操作前设置快照,如果出现一些不可恢复的问题,可以进行系统还原。
查看快照
克隆集群模板机
从 node-01 克隆集群主机节点 node-02、node-03、node-04,并分别修改 hostname(主机名)和 IP 地址
配置 ssh 免密登录
ssh 免密登录操作
-
node-01 生成一对密钥(公钥和私钥)
生成密钥文件时,会有提示输入加密信息,都按回车键即可
复制代码
[root@node-01 ~]# cd ~/.ssh/
[root@node-01 ~]# ssh-keygen -t rsa-
将 node-01 的公钥追加到 node-01、node-02、node-03、node-04 的授权文件 authorized_keys 中
复制代码
[root@node-01 ~]# ssh-copy-id node-01
[root@node-01 ~]# ssh-copy-id node-02
[root@node-01 ~]# ssh-copy-id node-03
[root@node-01 ~]# ssh-copy-id node-04-
验证免密登录
因为免密登录是单向的,所以需要分别设置免密登录,现在 node-01 可以免密登录 node-01、node-02、node-03、node-04
复制代码
[root@node-01 ~]# ssh node-01
[root@node-01 ~]# ssh node-02
[root@node-01 ~]# ssh node-03
[root@node-01 ~]# ssh node-04 -
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现