redis集群部署-高可用

倾然丶 夕夏残阳落幕 提交于 2020-12-12 09:41:14

1、下载
在中文官网可以下载到最新的稳定版,官网地址:http://www.redis.cn/
2、安装
下载好redis安装包后,解压编译安装,命令如下:

tar zxvf redis-3.2.1.tar.gz
cd redis-3.2.1/
make
make install

由于集群部署至少需要6个redis节点,所以把编译好的 redis 包,拷贝6份,每一个节点以使用的端口号作为目录,我的6个节点目录分别是:
redis-7001
redis-7002
redis-7003
redis-7004
redis-7005
redis-7006
3、集群划分
Redis server 主 : redis-7001
Redis server 从:redis-7002、redis-7004、redis-7005、redis-7006
Redis Sentinel:redis-7003
4、修改配置
Redis server 的主从机,除各节点除端口号外,其他配置统一,修改 src 同级目录下的 redis.conf 文件,具体修改如下:
(1)、注释这一行  bind 127.0.0.1
(2)、把 protected-mode 的值改为 no,默认值为 yes
(3)、根据自己的需求,把 port 值改一下,我改的分别是 7001,7002,7004,7005,7006
(4)、根据自己的需求,把 timeout 改成相应的时间,单位是 秒
(5)、把 daemonize 的值改为 yes,表示后台运行,默认为 no
(6)、根据自己的需求,把 pidfile 的值修改一下,我给改成了这样 /var/run/redis_7001.pid
(7)、根据自己的需求,修改 logfile 的值,该值表示 redis 运行生成的日志目录,我设置的值为"./redislogs/log.log"
(8)、修改 appendonly 的值为 yes,具体是啥我也不清楚
注:不要开启 cluster 模式
Redis Sentinel 节点配置修改,修改 src 同级目录下的 sentinel.conf 文件,具体修改如下:
(1)、新增配置 protected-mode no,关闭节点以保护模式运行
(2)、新增配置 daemonize yes,表示让服务后台运行
(3)、新增配置 logfile "./redislogs/sentinel.log",该值表示 redis 运行生成的日志目录
(4)、修改 port 值,我设置为 7003
(5)、修改 sentinel monitor mymaster 配置,修改为 sentinel monitor mymaster <master 节点 IP> <master 节点 port> 2,告诉 Redis  Sentinel 节点,他要监控的 master 节点是那个
5、启动各个redis节点
在 redis 的 src 的同级目录下运行如下命令:
(1)、在 Redis server 主 上运行:           

 ./src/redis-server redis.conf

(2)、在 Redis server 从 上先后运行:

# 启动 redis 服务
./src/redis-server redis.conf
# 进入 client 模式
./src/redis-cli -p <从节点 port>
# 在 client 模式下输入如下命令,告诉从节点 master 在哪,执行过后可以用命令
# ./src/redis-cli -h <master 节点 IP> -p <master 节点 port> info Replication 查看现在的集群信息
slaveof <master 节点 IP> <master 节点 port>

(3)、在 Redis Sentinel 节点上运行 :

./src/redis-server sentinel.conf --sentinel

redis启动后,可以在 前面设置的 logfile  的目录下查看运行日志
6、集群测试
集群测试时,用如下命令:

redis-cli -p 7001

这样就可以 set 一些 K-V 来进行测试了,例如:

set aaaa 111111111

7、java程序测试

https://github.com/ZongxingH/redistest

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!