第1章:基础软件安装与配置
兄弟们,咱们正式开始集群部署的第一道工序。说实话,这一步看着基础,但我在项目里见过太多人在这上面栽跟头。你想想看,集群里几十台机器,时间对不上、域名解析不了、包装不上……那后面所有工作都得停摆。所以这一章,咱们把地基打牢。
1.1 NTP时间同步——集群的“心跳”
集群里所有机器的时间必须一致。这不是强迫症,是刚需。日志分析、任务调度、分布式锁……哪个都依赖准确的时间戳。两台机器差个几秒,你排查问题的时候会疯掉的。
安装与配置
# CentOS/RHEL 7+
yum install -y ntp
systemctl enable ntpd
systemctl start ntpd
# Ubuntu/Debian
apt install -y ntp
systemctl enable ntp
systemctl start ntp
我个人习惯用国内的时间服务器,速度快、稳定。比如阿里云的 ntp.aliyun.com,或者腾讯云的 ntp.tencent.com。配置在 /etc/ntp.conf 里改一下就行:
server ntp.aliyun.com iburst
server ntp.tencent.com iburst
server 0.pool.ntp.org iburst
验证同步状态
ntpq -p
# 或者
timedatectl status
看到 * 号标记的服务器,说明已经同步上了。如果显示 unsynchronised,别慌,等个一两分钟再查。NTP 同步不是瞬间完成的,它有个渐进过程。
1.2 DNS域名解析——集群的“通讯录”
集群里机器多了,你总不能靠IP地址去记吧?今天这台挂了,明天那台扩容了,IP一变,所有配置都得改。用域名就省心多了。
方案一:使用 /etc/hosts(简单粗暴)
小规模集群(10台以内),我建议直接用 hosts 文件。改起来快,没有单点故障。
cat >> /etc/hosts << EOF
192.168.1.10 node1.cluster.local node1
192.168.1.11 node2.cluster.local node2
192.168.1.12 node3.cluster.local node3
EOF
方案二:搭建内部DNS服务器(推荐)
集群规模大了,hosts 文件就不好维护了。这时候得用 BIND 或者 dnsmasq。我个人偏爱 dnsmasq,轻量、配置简单。
# 安装 dnsmasq
yum install -y dnsmasq
# 配置
echo "server=8.8.8.8" >> /etc/dnsmasq.conf
echo "server=114.114.114.114" >> /etc/dnsmasq.conf
echo "address=/cluster.local/192.168.1.10" >> /etc/dnsmasq.conf
systemctl enable dnsmasq
systemctl start dnsmasq
然后所有机器的 /etc/resolv.conf 里,把 nameserver 指向这台 DNS 服务器就行。
1.3 YUM/APT源配置——软件安装的“粮仓”
没有源,你连个 vim 都装不上。国内用官方源那个速度……嗯,你懂的。所以第一步,换源。
CentOS 换阿里云源
# 备份原源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 下载阿里云源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清理缓存
yum clean all
yum makecache
Ubuntu 换清华源
# 备份
cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 替换
sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
# 更新
apt update
1.4 EPEL仓库——扩展包的“宝库”
EPEL 是 Fedora 社区维护的扩展仓库,里面有很多官方源没有的包。比如 htop、iftop、jq 这些运维利器,都在 EPEL 里。
# CentOS 7
yum install -y epel-release
# CentOS 8/RHEL 8
dnf install -y epel-release
# 验证
yum repolist | grep epel
装完之后,你就可以愉快地 yum install htop iftop jq 了。嗯,这些工具后面都会用到,提前装上不亏。
1.5 常用工具安装——运维的“瑞士军刀”
这几个工具,我每台机器都会装。你可以理解为运维人员的“标配”。
| 工具 | 用途 | 安装命令 |
|---|---|---|
| vim | 文本编辑器,改配置必备 | yum install -y vim |
| git | 版本控制,拉取代码和配置 | yum install -y git |
| curl | HTTP请求,测试接口、下载文件 | yum install -y curl |
| wget | 文件下载,比curl更专注下载 | yum install -y wget |
一条命令全搞定:
yum install -y vim git curl wget
ifconfig 都没有。后来学乖了,装完系统第一件事就是装这些基础工具。别等到要用的时候才发现没有,那感觉……很酸爽。
本章知识体系
下面这张图,把本章的核心逻辑串起来了。你可以把它当作一个检查清单,每配完一台机器,对照着过一遍。
好了,这一章的内容就到这儿。这些基础软件装好、配好,你的集群就有了一个稳固的起点。后面咱们再聊更深入的东西。
想要更多资料,联系可可