本实训需要使用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 |