Redis5 cluster人工指定主从关系

Redis5 cluster手动指定主从关系

创建配置文件

最小配置 bind 172.16.71.183 一定要写本机ip并且建立集群的时候要用这个ip建立 port 6379 cluster-enabled yes 启动集群 cluster-config-file nodes.conf 节点信息,自动生成 cluster-node-timeout 5000 超时时间 appendonly yes 持久化 **建议增加 ** dir /var/user/redis-5.0.3/6379/ 文件路径 pidfile /var/run/redis_6379.pid pid位置 daemonize yes 守护线程模式(后台启动) requirepass “CSFW” 访问密码 masterauth “CSFW” 主机密码 创建配置文件 进入redis文件夹 创建6个文件夹7001 7002 7003 7004 7005 7006 mkdir 7001 7002 7003 7004 7005 7006 修改 redis.conf 如上配置 在每个文件夹中建立对应配置 [admin@wanmly redis-5.0.3]$ sed “s/6379/7001/g” redis.conf > ./7001/redis-7001.conf [admin@wanmly redis-5.0.3]$ sed “s/6379/7002/g” redis.conf > ./7002/redis-7002.conf [admin@wanmly redis-5.0.3]$ sed “s/6379/7003/g” redis.conf > ./7003/redis-7003.conf [admin@wanmly redis-5.0.3]$ sed “s/6379/7004/g” redis.conf > ./7001/redis-7004.conf [admin@wanmly redis-5.0.3]$ sed “s/6379/7005/g” redis.conf > ./7001/redis-7005.conf [admin@wanmly redis-5.0.3]$ sed “s/6379/7006/g” redis.conf > ./7001/redis-7006.conf

启动redis

find ./700* | egrep “.(conf)” | awk ‘{system("./src/redis-server "$1)}’ 等价于 分别执行 ./src/redis-server ./7001/redis-7001.conf 批量停止 ps -ef|grep redis|grep -v grep| awk ‘{system("kill -9 "$2)}’

创建集群

创建不含slaver 的集群 ./src/redis-cli --cluster create 172.16.71.183:7001 172.16.71.183:7002 172.16.71.183:7003 --cluster-replicas 0 手动添加slaver 使用创建时的cluster-master-id 或执行 ./src/redis-cli --cluster check 172.16.71.183:7001 查看运行状态 挂载slaver ./src/redis-cli --cluster add-node 172.16.71.183:7004 172.16.71.183:7001 --cluster-slave --cluster-master-id ba8415845612eceeb50f89eaa44485a393b58d1a ./src/redis-cli --cluster add-node 172.16.71.183:7005 172.16.71.183:7001 --cluster-slave --cluster-master-id 52aa810b8d3cf6dfcf37fbb3d64805f632d6af91 ./src/redis-cli --cluster add-node 172.16.71.183:7006 172.16.71.183:7001 --cluster-slave --cluster-master-id 18b31f22eccc86ca13bcd992776cd3987b572441 连接集群 ./src/redis-cli -c -h 172.16.71.183 -p 7001 -a CSFW -a 密码 查看集群节点状态 CLUSTER NODES

其它

带密码访问 ./redis-cli -h 127.0.0.1 -p 6379 -a Password 全局有效 或 先./redis-cli 输入auth +空格+ 刚才设置的密码 切换后需重新输入 ** 端口** redis 集群同时占用两个端口,普通TCP端口 6379 和数据端口 16379(10000【固定值】+6379) 散列标记 散列标记记录在Redis集群规范中,但要点是如果密钥中{}括号之间有子字符串,则只对字符串内部的内容进行散列,例如this{foo}key并another{foo}key 保证位于相同的散列槽中,并且可以在具有多个键作为参数的命令中一起使用。 set aa{bb}cc set bb{bb}cc 上边两个命令的分片规则是由 {bb} 决定的 springboot 配置 spring: redis: cluster: nodes: 172.16.71.183:7001,172.16.71.183:7002,172.16.71.183:7003, 172.16.71.183:7004,172.16.71.183:7005,172.16.71.183:7006 password: CSFW

经验分享 程序员 微信小程序 职场和发展