Redis 集群部署手册(3主3从)

一、环境准备

1、相关用户准备

(1)创建用户组

bash 复制代码
groupadd redis

(2)新增用户

bash 复制代码
  - useradd:这是用来添加新用户的命令。
  - -d /home/redis:指定用户的主目录为/home/redis。
  - -m:如果指定了主目录并且它不存在,则创建它。
  - -s /bin/bash:指定用户登录时使用的默认shell为/bin/bash。
  - -g redis:指定用户的基本组为redis(这个组必须已经存在)。
  - redis:这是新用户的用户名。
bash 复制代码
useradd -d /home/redis -m -s /bin/bash -g redis redis

(3)设置redis用户密码 设置redis密码 M~\ldsL]?\23#(Gxa@.20260915

bash 复制代码
passwd redis

二、安装redis

(1) 预装gcc

bash 复制代码
#centos 预装gcc
#sudo yum -y install gcc pcre-devel zlib-devel openssl openssl-devel 
#执行失败查看系统内核
cat /etc/os-release
bash 复制代码
PRETTY_NAME="Ubuntu 24.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.4 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
bash 复制代码
#Ubuntu 系统预装gcc
sudo apt update
sudo apt -y install gcc make libpcre3-dev zlib1g-dev openssl libssl-dev
tar -zxvf redis-6.0.8.tar.gz
cd redis-6.0.8
make 

(2) 准备redis配置文件夹

bash 复制代码
```bash
#在/home/redis 目录下创建redis-config目录
 mkdir redis-config
 cd  redis-config 
 #新建redis配置文件存放目录 
 mkdir 6379 
 mkdir 6380

(3) 准备redis配置文件

bash 复制代码
cd 6379/ 
#进入6379文件夹下
vim redis-6379.conf 
#进入6380文件夹下
cd 6380/
vim redis-6380.conf 

redis-6379.conf文件内容如下:

bash 复制代码
#开启redis后台启动
daemonize yes
#redis端口
port 6379
#数据存放位置
dir /home/redis/redis-config/6379/
#启用集群模式
cluster-enabled yes
#集群节点超时时间毫秒
cluster-node-timeout 5000
#关闭保护模式
protected-mode no
#redis访问密码
requirepass apprd8080034
#集群间访问密码同上
masterauth apprd8080034
#开启aof
appendonly yes
#aof配置文件
appendfilename "appendonly.aof"

redis-6380.conf文件内容如下:

bash 复制代码
#开启redis后台启动
daemonize yes
#redis端口
port 6380
#数据存放位置
dir /home/redis/redis-config/6380/
#启用集群模式
cluster-enabled yes
#集群节点超时时间毫秒
cluster-node-timeout 5000
#关闭保护模式
protected-mode no
#redis访问密码
requirepass apprd8080034
#集群间访问密码同上
masterauth apprd8080034
#开启aof
appendonly yes
#aof配置文件
appendfilename "appendonly.aof"

三台服务器按照此配置全部配置一样

(4) 使用./startRedis.sh脚本执行启动命令

bash 复制代码
vim startRedis.sh

startRedis.sh 内容如下

bash 复制代码
#!/bin/bash
echo "------------------1.redis启动脚本开始执行"
echo "------------------2.查看redis进程是否存在"
PROC_NAME=redis-6.0.8
PROCESS=`ps -ef|grep -w $PROC_NAME |grep -v grep| wc -l`
echo $PROCESS
if [ 0 == $PROCESS ];then
    echo "------------------3.redis进程不存在"
    echo "------------------4.开始启动6379"
    /home/redis/redis-6.0.8/src/redis-server  /home/redis/redis-config/6379/redis-6379.conf
    echo "------------------5.开始启动6380"
    /home/redis/redis-6.0.8/src/redis-server  /home/redis/redis-config/6380/redis-6380.conf
else
    echo "------------------3.redis进程存在,请在执行关闭脚本------------------"
fi        
bash 复制代码
#赋予执行权限
chmod +x startRedis.sh
bash 复制代码
#节点启动
./startRedis.sh
bash 复制代码
#查看脚本启动情况 
ps -ef |grep redis-6.0.8
/home/redis/redis-6.0.8/src/redis-server --version

(5)配置集群模式

bash 复制代码
#此处ip地址需要替换为当前集群内机器的ip地址
/home/redis/redis-6.0.8/src/redis-cli -a apprd8080034 --cluster create 192.168.32.42:6379 192.168.32.42:6380 192.168.32.54:6379 192.168.32.54:6380  192.168.32.35:6379  192.168.32.35:6380 --cluster-replicas 1
bash 复制代码
#正确提示为: All nodes agree about slots configuration  All 16384 slots covered
#验证集群关系: 在redis目录下执行
/home/redis/redis-6.0.8/src/redis-cli -c -a apprd8080034 -h  192.168.32.42 -p 6379 
 #进入链接状态

(6)使用cluster info 查看集群信息,使用cluster nodes 查看集群内节点信息

bash 复制代码
cluster info
cluster nodes

(7) 验证数据存储情况,在任意一台机器,使用

bash 复制代码
/home/redis/redis-6.0.8/src/redis-cli -c -a apprd8080034 -h 192.168.32.42 -p 6379 
set name 123 在另外一台机器使用 get name 获取

/home/redis/redis-6.0.8/src/redis-cli -c -a apprd8080034 -h 192.168.32.35 -p 6379 

(8) 集群搭建完毕

相关推荐
牢姐与蒯1 小时前
Linux文件(三).Ext系列文件系统
linux·运维·服务器
懂软件的胡子个哥1 小时前
微信工单系统如何基于 WechatApi 做消息分流和状态流转
运维·分布式·微信·架构·企业微信
进击的荆棘2 小时前
Linux系统——进程控制(下)
linux·运维·服务器·进程
优化Henry2 小时前
学习笔记之关于MME不通问题归纳
运维·网络·学习·5g·信息与通信
考虑考虑9 小时前
数据库中的EXISTS
运维·数据库·后端
天远数科11 小时前
零信任架构实战:基于天远全能消金报告构建自动化信贷评估网关
运维·人工智能·架构·自动化
Gl�ria13 小时前
Redis 高可用架构对比
数据库·redis
网硕互联的小客服14 小时前
各个版本的Linux系统如何修改远程端口ssh端口?
linux·运维·服务器·网络
Zenova EdgeOS15 小时前
Python 工业边缘 redis-py 异步实战
开发语言·redis·python