本实训需要使用root用户完成相关配置,master、slave1、slave2三台节点都需要安装JDK,具体要求如下:
(1) 将JDK安装包解压到/root/software目录下;
(2) 在“/etc/profile”文件中配置JDK环境变量JAVA_HOME和PATH的值,并让配置文件立即生效;
(3) 查看JDK版本,检测JDK是否安装成功。
注意,实训环境的3个节点master、slave1和slave2,它们的主机名及IP地址在实训环境中可以通过3.1前置步骤中的“初始化网络”配置完成,而且实训环境已设置SSH免密切换节点,各节点时间已同步,因此相关操作仅作命令的演示与说明。
【说明】原赛题提供的软件版本为JDK8u191,调整采用JDK8u281实现任务内容。
(1) 使用CentOS7.9以上版本的Linux操作系统虚拟节点3个。
(2) 使用1.8版本的JDK。
(1) 在Linux终端执行命令“initnetwork”,或者双击桌面上名称为“初始化网络”的图标,初始化实训平台网络。
(2) 在Linux终端执行命令“wget -P /opt/software http://house.tipdm.com/SZ-Competition/ZZ052_2024/jdk-8u281-linux-x64.tar.gz”,下载jdk-8u281-linux-x64.tar.gz到Linux本地/opt/software目录。
(3) 打开3个终端窗口,其中2个窗口使用“ssh slave1”和“ssh slave2”命令分别连接slave1与slave2节点。
将/opt/software目录的文件jdk-8u281-linux-x64.tar.gz安装包解压到/root/software路径(若路径不存在,则需新建),具体实现如代码31所示,解压完成后查看/root/software目录的内容,返回结果如图3-1所示。
代码3-1 解压JDK安装包
mkdir -p /root/software tar -zxf /opt/software/jdk-8u281-linux-x64.tar.gz -C /root/software |
图3-1 查看/root/software目录内容
(1) 在master节点修改/etc/profile文件,设置JDK环境变量并使其生效,具体实现如代码32所示。
代码3-2 设置JDK环境变量
# 编辑/etc/profile文件 vim /etc/profile # 添加以下内容 export JAVA_HOME=/root/software/jdk1.8.0_281 export PATH=$PATH:$JAVA_HOME/bin # 添加内容后按Esc,输入“:wq”回车保存退出 # 使环境变量生效 source /etc/profile |
(2) 在master节点分别执行“java -version”和“javac”命令,返回结果如图3-2所示。
图3-2 java -version和javac命令返回结果
(3) 将master节点JDK解压后的安装文件发送到slave1、slave2节点的/opt/module目录,具体实现如代码3-3所示,发送完毕后需参考代码3-2在slave1与slave2节点设置JDK环境变量并使其生效。
代码3-3 发送JDK至子节点
# 若路径不存在,则需新建 ssh slave1 "mkdir -p /root/software " ssh slave2 "mkdir -p /root/software " # 发送JDK至子节点 scp -r /root/software/jdk1.8.0_281 slave1:/root/software scp -r /root/software/jdk1.8.0_281 slave2:/root/software |
(1) 对3个节点完成host相关配置,将三个节点分别命名为master、slave1、slave2,并做免密登录,完整实现如代码34所示。
代码3-4 免密登录
# 3个节点分别设置主机名 hostnamectl set-hostname master hostnamectl set-hostname slave1 hostnamectl set-hostname slave2 # 使修改后的主机名立即生效(3个节点都输入) bash # 3个节点分别编辑/etc/hosts文件,添加以下内容 # 注意,以下IP地址请按照实际情况进行配置 192.168.128.130 master master.centos.com 192.168.128.131 slave1 slave1.centos.com 192.168.128.132 slave2 slave2.centos.com # 3个节点分别生成私钥和公钥,输入命令后按三次Enter键 ssh-keygen -t rsa # 设置免密登录,3个节点都输入以下命令,依次输入yes和对应节点root用户的密码 ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2 |
(2) 在3个节点中分别安装NTP服务,mater节点作为NTP服务主节点,防止节点之间因时间的不同而导致各种各样的问题,具体实现如代码3-5所示。
代码3-5 节点时间同步
#可先使用“yum -y install net-tools”安装net-tools,然后输入“ifconfig”查看IP端和子网掩码 # 3个节点安装NTP服务 yum -y install ntp # 修改master节点的ntp.conf文件 vim /etc/ntp.conf # 注释以restrict default开头以及server开头的行,并添加以下内容 restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap server 127.127.1.0 fudge 127.127.1.0 stratum 10 #在slave1和slave2中配置NTP,同样修改/etc/ntp.conf文件 # 注释掉server开头的行,并添加以下内容 server master # 在master节点执行命令 service ntpd start && chkconfig ntpd on # 在slave1和slave2上执行命令,获取同步时间初值。 ntpdate master # 在slave1和slave2上分别执行,即可启动并永久启动NTP服务。 service ntpd start && chkconfig ntpd on |