基础服务配置(NTP _ HTTP _ MariaDB)
2026/7/23 16:48:54 网站建设 项目流程

集群基础服务配置(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-s"2026-7-20 10:31:00"# 如果时间偏差较大,可先手动校对
③ 修改 NTP 配置文件

编辑/etc/ntp.conf

vi/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一次性同步即可,但为了持久保持时间一致,通常还会配合crontabntpd服务。这里先介绍手动同步方式。

① 安装 ntpdate 工具
yum-yinstallntpdate

ntpdate是一个轻量级时间同步工具,它直接向 NTP 服务器请求当前时间并立即校准本机时钟,不会常驻后台运行。

② 手动同步时间
ntpdate hadoop01.org

hadoop01.org替换为你 master 节点的主机名或 IP 地址。

③ 自动同步(可选)

手动同步的缺点是:一旦机器重启或关机再开机,又需要重新执行命令。解决办法:

  • 把同步命令写入 crontab定时执行,例如每 10 分钟同步一次;
  • 或者在从节点也安装ntp服务,配置其为客户端,指向 master 的 IP,长期自动同步(更推荐)。

二、Apache HTTP 服务(简要)

Apache(httpd)是一个常用的 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 mariadb

3.2 数据库安全设置

首次安装后,需要运行安全脚本:

mysql_secure_installation

这是一个交互式过程,请严格按照以下指引输入

  1. Enter current password for root (enter for none)
    → 直接按回车(初始无密码)
  2. Set root password? [Y/n]
    → 输入Y,然后设置 root 用户的数据库密码(例如Root@123456,务必妥善保管)
  3. Remove anonymous users? [Y/n]
    Y(删除匿名用户,更安全)
  4. Disallow root login remotely? [Y/n]
    n(不禁止 root 远程登录,因为后续可能需要在其他节点远程授权,若选Y则只能本机登录 root)
  5. Remove test database and access to it? [Y/n]
    Y(删除测试库)
  6. 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.*TO'hive'@'localhost'IDENTIFIEDBY'123456';

语句解释

  • hive.*:作用范围为hive这个数据库的所有表。
  • 'hive'@'localhost':仅允许本机(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 元数据库

以上配置完成后,集群的时间、基础数据服务就已就绪。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询