任务三:防火墙、SELinux、时间同步
在 Linux 系统(如 CentOS、RedHat 等)环境下,尤其是进行 Hadoop 等分布式系统部署时,防火墙、SELinux 以及时间同步的配置至关重要。不合适的防火墙规则或 SELinux 策略可能会阻碍服务间的通信,而时间不同步则会导致分布式系统出现各种异常。下面详细介绍如何高效、准确地完成这些配置。
一、关闭防火墙(每台机器都执行)
防火墙可能会拦截系统间的网络通信,对于测试环境或集群内部通信,可先关闭防火墙。
1. 停止防火墙服务:
使用 systemctl 命令停止防火墙服务,执行:
systemctl stop firewalld
2. 禁用防火墙开机自启:
为了防止系统重启后防火墙自动开启,执行:
systemctl disable firewalld
执行成功后,会显示类似“Removed /etc/systemd/system/multi-user.target.wants/firewalld.service”等提示信息,表明防火墙服务已被停止且禁用自启。(如下图)
记得每台机器都需要执行,不要遗漏

如果有跟着我上篇任务做的,这里记得不要忘记切换到root
su - root

二、关闭 SELinux
SELinux(安全增强型 Linux)是一种强制访问控制安全系统,在某些情况下可能会限制进程对资源的访问,影响服务运行,所以也需要关闭。
1. 临时关闭 SELinux:
执行命令将 SELinux 设为宽容模式(临时生效,系统重启后失效):
setenforce 0
2. 永久关闭 SELinux:
编辑 /etc/selinux/config 文件,将 SELINUX 的值改为 disabled,执行:
vi /etc/selinux/config
在文件中找到 SELINUX=enforcing 这一行,修改为:
SELINUX=disabled
保存并退出文件(在 vi 中按 Esc,然后输入 :wq 回车)。修改后需要重启系统才能永久生效。
大概位置在这里~

三、时间同步(依旧也是三台机器都执行哦~)
分布式系统中,各节点时间同步非常重要,这里使用 chrony 工具(CentOS 8 及以上推荐使用,若使用 CentOS 7 也可使用 ntp,步骤类似)来实现时间同步。chrony是NTP(Network Time Protocol)的一个高性能替代品,用于保持系统时钟与时间服务器的同步。以下是详细的操作步骤:
1. 检查系统时间
在开始配置时间同步之前,可以先查看当前系统时间,确认是否需要同步。使用以下命令查看当前系统时间和时区:
date
timedatectl
2. 安装chrony
CentOS 9默认软件源中包含chrony,可以直接使用dnf包管理器进行安装:
sudo dnf install -y chrony
3.可能需要换源
执行 sudo dnf install -y chrony 命令安装 chrony 软件时出现了错误。错误提示表明在下载 baseos 仓库的元数据时失败,原因是无法连接到 mirrors.centos.org 服务器
解决方法
3.1. 检查网络连接:
首先确认系统是否能正常连接网络。可以使用 ping 命令测试网络连通性,比如 ping www.baidu.com,如果无法 ping 通,说明网络存在问题,需要排查网络配置(如 IP 地址、网关、DNS 等)。
3.2. 更换软件源:
由于 CentOS Stream 的官方源可能存在访问问题,或者当前网络环境下官方源不可用,可以更换为国内的镜像源(如阿里云、网易等的 CentOS Stream 镜像源)。
• 备份原有源配置文件:
sudo mv /etc/yum.repos.d/CentOS-Stream.repo /etc/yum.repos.d/CentOS-Stream.repo.bak
• 下载阿里云的 CentOS Stream 9 源配置文件:
sudo curl -o /etc/yum.repos.d/CentOS-Stream.repo https://mirrors.aliyun.com/repo/CentOS-Stream-9.repo
• 清除并生成新的缓存:
sudo dnf clean all
sudo dnf makecache
3.3. 再次尝试安装:
完成上述操作后,再次执行 sudo dnf install -y chrony 命令,看是否能成功安装。
4. 启动和设置开机自启
安装并配置好chrony后,启动chrony服务,并设置为开机自启:
sudo systemctl start chronyd
sudo systemctl enable chronyd
5. 手动同步时间
可以手动触发一次时间同步,以确保系统时间尽快与时间服务器同步:
sudo chronyc -q 'server ntp.aliyun.com iburst'
sudo chronyc -q 'initstepslew'
6. 检查时间同步状态
使用以下命令检查chrony的同步状态:
chronyc sources -v
timedatectl

更多推荐
所有评论(0)