2022-10-21 linux(centos7)下 redis6.x集群搭建(cluster模式)

1.安装依赖

 yum install gcc-c++ -y

 #查看gcc版本:
gcc -v

2.下载redis
https://download.redis.io/releases/ 网站下载需要的redis版本
官网:https://redis.io/download

#下载redis安装包
wget  https://download.redis.io/releases/redis-6.0.7.tar.gz
#解压
tar -xvf redis-6.0.7.tar.gz
cd redis-6.0.7/
#编译
make
#安装
make install PREFIX=/app/redis
#复制配置文件到/app/redis
cp redic.conf  /app/redis
cd /app/redis 

修改redis_8001.conf配置文件,修改内容如下

port 8001 #端口
protected-mode no
daemonize yes #后台启动
pidfile /app/redis/redis_8001.pid #pid文件路径
cluster-enabled yes #开启集群模式
cluster-config-file nodes-8001.conf #保存集群节点配置文件,无需认为修改
cluster-node-timeout 5000 #集群节点超时时间
dbfilename dump_8001.rdb #rdb文件
logfile "/app/redis/logs/redis_8001.log" #日志路径
masterauth 123456 #master节点设置了密码时slave接口配置
注释掉 bind 127.0.0.1 -::1,不注释只能当前机器访问
主从同步可以直接连接到各个节点设置密码:
bin/redis-cli -p 6379-c
config set masterauth 123456
config set requirepass 123456
config rewrite

复制2份配置如下:


image.png

启动redis

./bin/redis-server ./redis_8001.conf 
./bin/redis-server ./redis_8002.conf 
./bin/redis-server ./redis_8003.conf
#停止redis
./bin/redis-cli -p 8001 shutdown
./bin/redis-cli -p 8002 shutdown
./bin/redis-cli -p 8003 shutdown

查看是否启动成功:
ps -ef|grep redis


image.png

分配redis实例端口号

主 备
8001 9001
8002 9002
8003 9003

按照上面步骤在备机上操作搭建三个从节点

创建集群主从节点:

./bin/redis-cli --cluster create 10.0.0.190:8001 10.0.0.190:8002 10.0.0.190:8003 --cluster-replicas 0
# ./bin/redis-cli --cluster create 10.0.0.190:8001 10.0.0.190:9001 10.0.0.190:8002 10.0.0.190:9002 10.0.0.190:8003 10.0.0.190:9003 --cluster-replicas 1
#--cluster-replicas 0  不为集群的master节点创建slave。
#--cluster-replicas 1 表示为集群的master节点创建1个slave。那么6个实例里,有三个master,有三个是slave

#加入主节点
./bin/redis-cli -a password --cluster add-node 172.31.110.12:6379 172.31.110.15:6479
# -a password 有密码使用,无密码去掉

#加入从节点
./bin/redis-cli --cluster  add-node --cluster-slave  --cluster-master-id d06590267dfc22eb2de5e43b93982138f53514b1 10.0.0.113:9001 10.0.0.190:8001
#d06590267dfc22eb2de5e43b93982138f53514b1  主节点id
#10.0.0.113:9001 从节点ip端口
#10.0.0.190:8001 集群中任意一台机器ip端口

# 移除节点
./bin/redis-cli -a password --cluster del-node 172.31.110.15:6479 f8c04e53a74a1fe4b67bfa44eda2dc40d13c9722

创建集群主节点成功成功


image.png

设置开机启动

vi /usr/lib/systemd/system/redis6379.service

[Unit]
Description=redis6379
After=network.target

[Service]
Type=forking
PIDFile=/app/redis-cluster/6379/redis.pid
ExecStart=/app/redis-cluster/bin/redis-server /app/redis-cluster/6379/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID

Restart=always
RestartSec=5
User=redis
Group=redis
RuntimeDirectory=redis6379
RuntimeDirectoryMode=0755
PrivateTmp=true

[Install]
WantedBy=default.target

systemctl daemon-reload
systemctl enable redis6379.service
systemctl status redis6379
systemctl restart redis6379

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容