Redis 5 集群安装

redis3.0 以前集群需要借助哨兵 sentinel ,在 3.0 版本正式推出 Redis Cluster 高可用集群模式; Redis Cluster 方案不需要额外部署 Sentinel(哨兵)集群。

Redis 集群要求至少三个节点,否则不成功。本文采用虚拟机,模拟搭建三主三从集群模式。

虚拟机 IP 分别是 192.168.18.139192.168.18.140192.168.18.141
可以只配置一台虚拟机,其他两台直接用克隆
本文使用 192.168.18.139 进行配置

一 安装 redis v5

1. 下载

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

2. 解压

tar -zxvf redis-5.0.7.tar.gz

3. 编译安装

将其安装在 /usr/local/redis 目录

cd redis-5.0.7
make
cd src && make PREFIX=/usr/local/redis install

二 配置节点

将节点信息配置在cluster目录下, 端口号分别是6378,6379

cd /usr/local/redis
mkdir -p cluster/6378 cluster/6378

1. 修改配置文件

复制 redis.confcluster/6378/

vim cluster/redis.conf

主要修改内容如下:

启用守护线程
1.daemonize yes

同台计器不同节点的端口要不一样
2. port 6378

指定数据目录,必须要指定不同的目录位置,不然会丢失数据
3. dir /usr/local/redis/cluster/6378/

启动集群模式
4. cluster-enabled yes

集群节点信息文件,这里6378最好和port对应上
5. cluster-config-file nodes-6378.conf

去掉bind绑定访问ip信息
6. #bind 127.0.0.1

关闭保护模式
7. protected-mode no

  1. appendonly yes
  1. cluster-node-timeout 5000

如果要设置密码需要增加如下配置

设置redis密码
10. requirepass xxx

设置集群节点间访问密码,跟上面一致
11. masterauth xxx

6378 的配置复制到 6379 并将 2,3,5 中的端口号修改为6379

cp cluster/6378/redis.conf cluster/6379/redis.conf

2. 创建启动脚本

vim /usr/local/redis/start-redis-cluster.sh

#!/bin/sh
REDIS_HOME=/usr/local/redis
$REDIS_HOME/bin/redis-server $REDIS_HOME/cluster/6378/redis.conf
$REDIS_HOME/bin/redis-server $REDIS_HOME/cluster/6379/redis.conf

:wq 保存

3. 克隆该虚拟机

三 启动集群

1. 创建启动集群脚本

可以在任意一台虚拟机上创建该脚本,本文在 139 上创建

vim /usr/local/redis/create-cluster.sh

#!/bin/sh
bin/redis-cli --cluster create 192.168.18.139:6378 192.168.18.139:6379 192.168.18.140:6378 192.168.18.140:6379 192.168.18.141:6378 192.168.18.141:6379  --cluster-replicas 1

--cluster: redis 5 提供的参数
--cluster-replicas 1: 一主一从配置,六个节点就是 三主三从

2. 启动所有的 redis 节点

需要在三个虚拟机上都执行该命令

./start-redis-cluster.sh

2.1 查看是否启动成功

ps -ef | grep redis

在这里插入图片描述

3. 创建集群

只需要在一台虚拟机上执行该命令即可

./create-cluster.sh

如出现错误: [ERR] Node 192.168.18.139:637x is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0. 删除 cluster/637x 下aof、rdb、nodes-637x.conf本地备份文件, 然后再次执行脚本

出现交互 直接输入 yes 接受即可

在这里插入图片描述

[OK] All 16384 slots covered 说明集群创建成功

在这里插入图片描述
待续…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值