redis集群部署

redis集群方式部署

集群正常工作至少需要3个主节点,本例子创建6个节点,三个主节点三个从节点,对应IP和端口如下:
IP 端口 redis版本
10.9.2.29 7000 7.0.11
10.9.2.29 7001 7.0.11
10.9.2.29 7002 7.0.11
10.9.2.247 7003 7.0.11
10.9.2.247 7004 7.0.11
10.9.2.247 7005 7.0.11
1、首先两台机器通过编译方式安装redis,参考链接:redis编译安装
2、登录10.9.2.29机器,进入redis路径,创建集群目录和端口目录,如下:
cd /usr/local/redis-7.0.11mkdir -p redis_cluster/{7000,7001,7002}
10.9.2.247机器同样操作,端口文件夹变为7003、7004、7005
cd /usr/local/redis-7.0.11mkdir -p redis_cluster/{7003,7004,7005}
3、将配置文件复制到对应的端口文件夹中,并修改名字,如下:
cp redis.conf redis_cluster/7000/redis_7000.conf     #10.9.2.29机器cp redis.conf redis_cluster/7001/redis_7001.conf     #10.9.2.29机器cp redis.conf redis_cluster/7002/redis_7002.conf     #10.9.2.29机器cp redis.conf redis_cluster/7003/redis_7003.conf     #10.9.2.247机器cp redis.conf redis_cluster/7004/redis_7004.conf     #10.9.2.247机器cp redis.conf redis_cluster/7005/redis_7005.conf     #10.9.2.247机器
4、修改上面文件夹中的配置文件,6个配置文件都要修改,如下:
bind 0.0.0.0 # 改为对应的端口号port 7000# 后台启动daemonize yes#保护模式protected-mode no# 开启集群cluster-enabled yes#集群节点配置文件cluster-config-file nodes-7000.conf# 集群连接超时时间cluster-node-timeout 5000# 进程pid的文件位置pidfile /var/run/redis-7000.pid# 开启aofappendonly yes# aof文件路径appendfilename "appendonly-7000.aof"# rdb文件路径dbfilename dump-7000.rdb
5、启动两台机器的6个redis,如下:
/usr/bin/redis-server redis_cluster/7000/redis_7000.conf/usr/bin/redis-server redis_cluster/7001/redis_7001.conf/usr/bin/redis-server redis_cluster/7002/redis_7002.conf/usr/bin/redis-server redis_cluster/7003/redis_7003.conf/usr/bin/redis-server redis_cluster/7004/redis_7004.conf/usr/bin/redis-server redis_cluster/7005/redis_7005.conf
6、上面命令只是启动6个redis,还未将其关联一起,执行命令创建集群,关联redis,如下:
redis-cli --cluster create --cluster-replicas 1 10.9.2.29:7000 10.9.2.29:7001 10.9.2.29:7002 10.9.2.247:7003 10.9.2.247:7004 10.9.2.247:7005
提示Can I set the above configuration? (type ‘yes’ to accept): 的时候选择yew,创建完如图:图片查看集群状态信息,如图:图片7、测试:首先在10.9.2.29机器通过如下命令连接到集群,然后设置key和获取key,如下:
redis-cli -c -p 7000    #必须加-c参数,否则执行set命令报错(error) MOVED 15495 10.9.2.29:7001set hello world
图片登录10.9.2.247的任意一个redis,查询key对应的值,如图:图片通过info命令也可以当前redis节点的信息,包括主从信息,如图:图片8、给集群设置密码认证,如下:上面集群默认是没有设置密码的,一般使用的时候都是需要设置密码的,方法如下:(1)、修改每个Redis的配置文件,设置两个密码位置,如下:
masterauth  "password"requirepass "password"
(2)、重启每个redis节点,然后通过密码登录集群,如下:
redis-cli -p 7000 -c -a Abcd1234
(3)、然后执行set和get即可
注意:如果登录的时候不指定-a ,那么登录后使用auth认证后再使用set命令还是提示要认证
guanDove
收录于合集 #redis
 2
上一篇redis哨兵模式部署
阅读 361
运维DevOps
60篇原创内容
 
posted @ 2023-07-03 10:20  往事已成昨天  阅读(311)  评论(0编辑  收藏  举报