实战CentOS 7单机部署 Redis 主从复制
在 CentOS 7 上以非 root 用户部署 Redis 主从复制环境。
准备工作
1. 创建用户和组
首先,以 root 用户登录到您的 CentOS 7 服务器,然后创建一个新的用户和组,用于运行 Redis 服务。
sudo groupadd appworkergroup #创建appworkergroup用户组
sudo useradd -m -g appworkergroup appworker #创建一个实施用户加入用户组
sudo passwd appworker #新用户设置密码
2. 安装编译依赖
安装必要的开发工具和依赖,以便能够从源码编译 Redis。
sudo yum groupinstall -y "Development Tools"
sudo yum install -y tcl
安装 Redis
3. 下载和编译 Redis
切换到 appworker
用户,下载 Redis 源码并编译。
su - appworker
wget http://download.redis.io/releases/redis-6.2.6.tar.gz
tar xzf redis-6.2.6.tar.gz
cd redis-6.2.6
make
make test # 可选步骤,用于验证编译是否成功
4. 安装 Redis
将编译好的 Redis 程序安装到指定目录。
make PREFIX=/home/appworker/redis install
配置主从复制
5. 创建配置、数据和日志目录
为主节点和从节点创建独立的配置、数据存储和日志目录。
mkdir -p ~/redis/{master,slave}/{conf,data,logs}
6. 配置主节点
- 复制 Redis 默认配置文件到主节点的配置目录,然后进行相应的编辑。
cp redis.conf ~/redis/master/conf/redis.conf
- 编辑
~/redis/master/conf/redis.conf
文件,修改以下几个关键配置项:
bind 0.0.0.0
port 6379
daemonize yes
dir /home/appworker/redis/master/data
logfile /home/appworker/redis/master/logs/redis.log
requirepass <yourMasterPassword>
7. 配置从节点
- 类似地,复制并修改从节点的配置文件。
cp redis.conf ~/redis/slave/conf/redis.conf
- 编辑
~/redis/slave/conf/redis.conf
文件,调整以下配置项:
bind 0.0.0.0
port 6380
daemonize yes
dir /home/appworker/redis/slave/data
logfile /home/appworker/redis/slave/logs/redis.log
slaveof 127.0.0.1 6379
masterauth <yourMasterPassword>
requirepass <yourSlavePassword>
启动 Redis 实例
8. 启动主节点
/home/appworker/redis/bin/redis-server /home/appworker/redis/master/conf/redis.conf
9. 启动从节点
/home/appworker/redis/bin/redis-server /home/appworker/redis/slave/conf/redis.conf
验证主从同步
10. 测试数据同步
- 连接到主节点并设置一个键值对。
redis-cli -h 127.0.0.1 -p 6379 -a <yourMasterPassword> set mykey "Hello from Master"
- 然后连接到从节点,尝试获取该键值对。
redis-cli -h 127.0.0.1 -p 6380 -a <yourSlavePassword> get mykey
如果从节点能正确返回 "Hello from Master"
,这表明主从复制配置成功,数据同步正常。
维护操作
- 停止任一节点的 Redis 服务:
redis-cli -h <节点IP> -p <端口> -a <密码> shutdown
- 重新启动服务,只需再次运行
redis-server
命令,指向相应的配置文件即可。
此操作指南涵盖了从安装依赖、编译安装 Redis、配置主从复制、到验证主从数据同步的完整流程,同时也包括了基本的维护操作。