博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis Cluster 集群模式搭建
阅读量:2057 次
发布时间:2019-04-29

本文共 4024 字,大约阅读时间需要 13 分钟。

Redis集群模式搭建

1.集群模式选型

redis集群模式的选型

https://dl.lenses.stream/d/?id=550f16d9-14ee-458e-97d8-8ecfcbb695e9

https://dl.lenses.stream/d/?id=ac2a62f3-1fa5-41ac-95ec-fcbb33eb37fd

2.文献参考

搭建redis5.0集群

https://www.jianshu.com/p/0b94c3a496e3

docker方式搭建redis集群(redis5)

https://www.jianshu.com/p/0172fad7d8d2

3.集群搭建开始

3.1构建容器持久化的文件路径和redis.conf配置文件

两台虚拟机部署6个redis

1.创建redis相目录
node1上:
mkdir -p /root/fct/redis-cluster/redis{7001,7002,7003}
mkdir -p /root/fct/redis-cluster/redis{7001,7002,7003}/data
touch /root/fct/redis-cluster/redis{7001,7002,7003}/redis.conf

其中redis.conf配置文件

bind 172.xx.xxx.xxxprotected-mode yesport 7001tcp-backlog 511timeout 0tcp-keepalive 300daemonize nosupervised nologlevel noticedatabases 16always-show-logo yessave 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdbdir ./replica-serve-stale-data yesreplica-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noreplica-priority 100lazyfree-lazy-eviction nolazyfree-lazy-expire nolazyfree-lazy-server-del noreplica-lazy-flush noappendonly yesappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yesaof-use-rdb-preamble yeslua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000stream-node-max-bytes 4096stream-node-max-entries 100activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit replica 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10dynamic-hz yesaof-rewrite-incremental-fsync yesrdb-save-incremental-fsync yesrequirepass rootmasterauth  rootcluster-enabled  yescluster-config-file  nodes.confcluster-node-timeout  15000

注意:只用配置文件只要修改对应ip和端口即可

3.2 执行如下命令执行将镜像生产容器

docker run -d  \--network=host \-v /root/fct/redis-cluster/redis7001/data/:/data:z \-v /root/fct/redis-cluster/redis7001/redis.conf:/usr/local/etc/redis/redis.conf:z \--name redis7001 redis \redis-server /usr/local/etc/redis/redis.conf \docker run -d  \--network=host \-v /root/fct/redis-cluster/redis7002/data/:/data:z \-v /root/fct/redis-cluster/redis7002/redis.conf:/usr/local/etc/redis/redis.conf:z \--name redis7002 redis \redis-server /usr/local/etc/redis/redis.conf docker run -d  \--network=host \-v /root/fct/redis-cluster/redis7003/data/:/data:z \-v /root/fct/redis-cluster/redis7003/redis.conf:/usr/local/etc/redis/redis.conf:z \--name redis7003 redis \redis-server /usr/local/etc/redis/redis.conf docker run -d  \--network=host \-v /root/fct/redis-cluster/redis7004/data/:/data:z \-v /root/fct/redis-cluster/redis7004/redis.conf:/usr/local/etc/redis/redis.conf:z \--name redis7004 redis \redis-server /usr/local/etc/redis/redis.conf docker run -d  \--network=host \-v /root/fct/redis-cluster/redis7005/data/:/data:z \-v /root/fct/redis-cluster/redis7005/redis.conf:/usr/local/etc/redis/redis.conf:z \--name redis7005 redis \redis-server /usr/local/etc/redis/redis.conf docker run -d  \--network=host \-v /root/fct/redis-cluster/redis7006/data/:/data:z \-v /root/fct/redis-cluster/redis7006/redis.conf:/usr/local/etc/redis/redis.conf:z \--name redis7006 redis \redis-server /usr/local/etc/redis/redis.conf

3.3 将独立的各个redis的node节点串联在一起组成redis集群

./redis-cli -a root --cluster create 172.19.32.142:7001 172.19.32.142:7002 172.19.32.142:7003 172.19.32.146:7004 172.19.32.146:7005 172.19.32.146:7006 --cluster-replicas 1

3.4 测试集群客户端连接情况

使用docker进入redis容器内部,执行客户端命令:

##其中-c相当于--cluster  表示进入集群模式./redis-cli -c  -h 172.19.32.142 -p 7002

然后使用CLUSTER INFO 和CLUSTER NODES命令检查集群状态

在这里插入图片描述

CLUSTER INFO命令

在这里插入图片描述

之后可以分别使用java代码连接redis集群测试,同时开始集群高可用性测试,主备切换的功能!

(参考:https://www.cnblogs.com/cxbhakim/p/9151720.html)

具体java代码可以参考我的另一篇文章:https://blog.csdn.net/fct2001140269/article/details/102580071

你可能感兴趣的文章
Python几种并发实现方案的性能比较
查看>>
[Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
查看>>
Jmeter之正则
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Python】用Python打开csv和xml文件
查看>>
【Loadrunner】性能测试报告实战
查看>>
【面试】一份自我介绍模板
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【English】【托业】【四六级】写译高频词汇
查看>>