集群基础服务配置NTP / HTTP / MariaDB本文以搭建 Hadoop 集群为背景梳理在 master 节点上部署内网时间同步服务、HTTP 服务以及MariaDB 数据库的完整流程。所有操作均基于 CentOS 7使用yum管理软件包。每个步骤都附带通俗解释方便理解为什么这样做。一、NTP 时间同步服务1.1 为什么要统一时间在分布式集群中所有机器的时间必须高度一致否则会导致日志时间错乱排查问题困难定时任务crontab执行时间不同步分布式组件如 HBase、Kafka依赖时间戳可能引发数据冲突或选举失败。目标将当前 master 节点作为内网 NTP 服务器其余 slave 节点都从这里同步时间。1.2 Master 节点配置NTP 服务端① 安装 NTP 服务yum-yinstallntp② 手动检查 / 校对时间可选date# 查看当前系统时间date-s2026-7-20 10:31:00# 如果时间偏差较大可先手动校对③ 修改 NTP 配置文件编辑/etc/ntp.confvi/etc/ntp.conf找到默认的上游 NTP 服务器配置一般在文件头部将其注释或删除。例如注释掉如下四行# server 0.centos.pool.ntp.org iburst # server 1.centos.pool.ntp.org iburst # server 2.centos.pool.ntp.org iburst # server 3.centos.pool.ntp.org iburst然后在原来位置添加本地时钟源让本机作为时间服务器server 127.127.1.0 fudge 127.127.1.0 stratum 10理解这两行的含义127.127.1.0是 NTP 中的特殊地址代表“本地时钟”即本机的系统时间。当无法连接外部 NTP 服务器时就使用本地时钟作为时间源。fudge 127.127.1.0 stratum 10是设置该本地时钟的**层级stratum**为 10。Stratum 数值越小优先级越高1 是最高权威如原子钟10 表示这是一个较低层级的时钟源仅供内网客户端使用不会去跟公网服务器竞争。④ 启动 NTP 服务并设置开机自启systemctl start ntpd systemctlenablentpd⑤ 检查服务状态systemctl status ntpd或者用ntpstat查看同步情况需稍等几分钟服务才会稳定。1.3 Slave 节点配置时间同步客户端从节点不需要运行 NTP 服务只需使用ntpdate一次性同步即可但为了持久保持时间一致通常还会配合crontab或ntpd服务。这里先介绍手动同步方式。① 安装 ntpdate 工具yum-yinstallntpdatentpdate是一个轻量级时间同步工具它直接向 NTP 服务器请求当前时间并立即校准本机时钟不会常驻后台运行。② 手动同步时间ntpdate hadoop01.org将hadoop01.org替换为你 master 节点的主机名或 IP 地址。③ 自动同步可选手动同步的缺点是一旦机器重启或关机再开机又需要重新执行命令。解决办法把同步命令写入 crontab定时执行例如每 10 分钟同步一次或者在从节点也安装ntp服务配置其为客户端指向 master 的 IP长期自动同步更推荐。二、Apache HTTP 服务简要Apachehttpd是一个常用的 Web 服务器在集群环境中有时用于提供网页界面或作为镜像仓库。2.1 安装与启动yum-yinstallhttpd# 安装whichhttpd# 查看可执行文件位置验证安装成功systemctl start httpd# 启动systemctl status httpd# 查看运行状态2.2 配置文件位置主配置文件/etc/httpd/conf/httpd.conf网站根目录/var/www/html默认2.3 重要补充文件权限与 lrzsz查看文件权限时会看到类似drwxrwxrwx的字符串其中d表示目录-表示普通文件后面每三个字符为一组依次代表所有者、所属组、其他人的权限r(读)w(写)x(执行)lrzsz工具用于在 Xshell 等终端里方便地上传/下载文件rz上传sz 文件名下载。三、MariaDB 数据库安装与配置MariaDB 是 MySQL 的一个开源分支完全兼容 MySQL。这里我们用它来存储 Hive 的元数据。3.1 安装与初始启动在hadoop01节点上执行# 安装 MariaDB 服务端、客户端以及 Java 连接驱动yum-yinstallmariadb mariadb-server mysql-connector-java# 启动服务systemctl start mariadb# 设置开机自启systemctlenablemariadb# 查看服务状态systemctl status mariadb3.2 数据库安全设置首次安装后需要运行安全脚本mysql_secure_installation这是一个交互式过程请严格按照以下指引输入Enter current password for root (enter for none)→ 直接按回车初始无密码Set root password? [Y/n]→ 输入Y然后设置 root 用户的数据库密码例如Root123456务必妥善保管Remove anonymous users? [Y/n]→Y删除匿名用户更安全Disallow root login remotely? [Y/n]→n不禁止 root 远程登录因为后续可能需要在其他节点远程授权若选Y则只能本机登录 rootRemove test database and access to it? [Y/n]→Y删除测试库Reload privilege tables now? [Y/n]→Y立即刷新权限表使设置生效3.3 登录数据库并创建 Hive 元数据库# 用 root 账户登录数据库mysql-uroot-p# 输入刚才设置的密码进入 MariaDB 命令行后执行-- 创建 hive 数据库用于存储 Hive 元数据CREATEDATABASEhive;-- 查看所有数据库确认创建成功SHOWDATABASES;-- 退出exit;3.4 验证数据库服务是否正常运行netstat-ano|grep3306如果看到类似下面的一行说明 MariaDB 正在监听 3306 端口服务正常tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN off (0.00/0/0)3.5 为 Hive 业务创建专用账户并授权强烈建议不要直接使用 root 账户连接 Hive而是创建一个独立的hive账户并只授予hive数据库的完整权限。-- 在 MySQL/MariaDB 命令行中执行需要先以 root 登录GRANTALLPRIVILEGESONhive.*TOhivelocalhostIDENTIFIEDBY123456;语句解释hive.*作用范围为hive这个数据库的所有表。hivelocalhost仅允许本机127.0.0.1使用hive账号连接。若需要远程访问可改为hive%任意主机或指定 IP。IDENTIFIED BY 123456设置该账号的登录密码为123456。ALL PRIVILEGES赋予增、删、改、查、建表、删库等全部操作权限。执行后返回Query OK, 0 rows affected即表示成功。最后刷新一下权限确保立即生效FLUSHPRIVILEGES;四、小结服务核心步骤作用NTP主节点配置本地时钟源并启动 ntpd从节点用 ntpdate 定期同步统一集群所有机器时间HTTP安装 httpd 并启动了解配置文件与权限提供 Web 服务基础MariaDB安装、安全配置、创建 hive 库并授权 hive 用户作为 Hive 元数据库以上配置完成后集群的时间、基础数据服务就已就绪。