Redis Cluste部署与Jedis整合Sentinel与Clusterr(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Redis Cluste部署与Jedis整合Sentinel与Clusterr(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3092字,纯文字阅读大概需要5分钟。
内容图文
![Redis Cluste部署与Jedis整合Sentinel与Clusterr(一)](/upload/InfoBanner/zyjiaocheng/890/103c167f834d4855b4fcfc4400300bf5.jpg)
一.原生搭建篇Cluster了解cluster的架构)
1.redis.conf配置文件中开启支持cluster集群,改名字为redis-cluster-7000.conf(方便后面集群管理)
port 7000 daemonize yes pidfile /var/run/redis-7000.pid dir /opt/module/redis-cluster/data logfile "7000.log" dbfilename "dump-7000.rdb" #开启集群 cluster-enabled yes #集群中本节点配置文件名 自动生成 cluster-config-file nodes-7000.conf #当集群中某个节点挂了,整个集群是否停止服务,设置成no 继续提供服务 cluster-require-full-coverage no
2.用上面的配置文件启动redis,确保配置文件没问题
3.用sed命令生成其他节点的配置文件
sed "s/7000/7001/g" redis-cluster-7000.conf >redis-cluster-7001.conf sed "s/7000/7002/g" redis-cluster-7000.conf >redis-cluster-7002.conf sed "s/7000/7003/g" redis-cluster-7000.conf >redis-cluster-7003.conf sed "s/7000/7004/g" redis-cluster-7000.conf >redis-cluster-7004.conf sed "s/7000/7005/g" redis-cluster-7000.conf >redis-cluster-7005.conf sed "s/7000/7006/g" redis-cluster-7000.conf >redis-cluster-7006.conf
4.启动每个节点 redis-server redis-cluster-700(1~6).conf
启动后会生成相应的nodes-700(0~6).conf文件。该文件列出了群集中其他节点,它们的状态,持久变量等等。 由于某些消息的接收,通常会将此文件重写并刷新到磁盘上。
5.每个节点互通(meet)
结构图:
官方:
请注意,Redis 群集需要形成完整的网格(每个节点与其他节点相连,如上图),但为了创建群集,不需要发送形成完整网格所需的所有 CLUSTER MEET 命令。重要的是发送足够的 CLUSTER MEET 消息,以便每个节点都可以通过一系列已知节点到达每个其他节点。
所以只需要有一条通路就可以
进去7000的节点,执行cluster meet 与其他节点通信
redis-cli -p 7000 CLUSTER MEET 127.0.0.1 7001 CLUSTER MEET 127.0.0.1 7002 CLUSTER MEET 127.0.0.1 7003 CLUSTER MEET 127.0.0.1 7004 CLUSTER MEET 127.0.0.1 7005 CLUSTER MEET 127.0.0.1 7006
6.查看是否连通
redis-cli -p 7000 cluster info
#结果: cluster_state:fail #集群状态 cluster_slots_assigned:0 #被分配的槽位数 cluster_slots_ok:0 #正确分配的槽位 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:7 #当前集群下的所有节点,包括主从节点,7说明通了 cluster_size:0 #当前集群下的有槽位分配的节点,即主节点 cluster_current_epoch:6 cluster_my_epoch:1 cluster_stats_messages_ping_sent:1391 cluster_stats_messages_pong_sent:1375 cluster_stats_messages_meet_sent:6 cluster_stats_messages_sent:2772 cluster_stats_messages_ping_received:1375 cluster_stats_messages_pong_received:1397 cluster_stats_messages_received:2772
7.分配槽
采用的是一致性哈希算法,来分配总共给定的16383个槽,此处为了方便就均分了,实际开发中建议根据服务器配置分配。
这里使用7001-7003作为主节点 7004-7006做从节点
这里使用7001-7003作为主节点 7004-7006做从节点
#此处的分配规则 7001 0~5000 7002 5001~10000 7003 10001~16383 #代码: redis-cli -p 7001 CLUSTER ADDSLOTS 5000 redis-cli -p 7002 CLUSTER ADDSLOTS 10000 redis-cli -p 7003 CLUSTER ADDSLOTS 16838
结构图:
8.配置主从
这里需要用到Nodeid,第一步中配置生成的文件中可以看
#第一步的配置 可以查看nodes-7000.conf这个文件 cluster-config-file nodes-7000.conf
一一对应:红框为Nodeid
进入每个主节点用 cluster replicate <从Nodeid>
redis-cli -p 7001 cluster replicate da47d14c9e4079ad0973546027f598aab3596fff
查看结果
redis-cli -p 7001 cluster nodes
到此原生配置完成。
下一篇开始Ruby快速搭建Cluster集群。
内容总结
以上是互联网集市为您收集整理的Redis Cluste部署与Jedis整合Sentinel与Clusterr(一)全部内容,希望文章能够帮你解决Redis Cluste部署与Jedis整合Sentinel与Clusterr(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。