redis集群的创建及其使用
集群配置参数:
成都网络公司-成都网站建设公司创新互联10余年经验成就非凡,专业从事做网站、网站建设,成都网页设计,成都网页制作,软文发稿,1元广告等。10余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:18982081108,我们期待您的来电!
cluster-enabled yes //开启集群
cluster-config-file nodes.conf //保存集群信息的文件
cluster-node-timeout 5000 //集群节点超时时间
集群环境准备:
集群管理工具redis-trib是由ruby语言研发的,需要先安装ruby的依赖关系及环境;
redis的源码文件中有一个管理工具,是用ruby写的,所以需要安装ruby相关的软件;
yum install ruby rubygems -y
gem install redis
注:国内访问内过慢请参考此网址--> http://gems.ruby-china.org/
$ gem update --system # 这里请×××一下
$ gem -v
2.6.3
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.org
# 确保只有 gems.ruby-china.org
注:如果遇到 SSL 证书问题,你又无法解决,请直接用 http://gems.ruby-china.org 避免 SSL 的问题
即:$ gem sources --add http://gems.ruby-china.org/ --remove https://rubygems.org/
利用redis-trib创建集群:
cp /usr/local/src/redis-3.2.0/src/redis-trib.rb /usr/local/bin/redis-trib
注:redis-trib.rb就是用ruby写的集群管理工具
注:如果是二进制安装的,没有redis-trib文件,则需要去下载源码文件,复制源码文件中redis-trib
创建集群:
注:集群中最少为3个节点
redis-trib create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
注:创建后前3个为主,后3个为从
如何进入集群及查看集群节点:
使用-c选项即可进入集群:>redis-cli -c -h ip -p port
cluster info:查看此集群的信息
cluster nodes:查看此集群各节点的详细信息
如何增加集群节点:
语法:add-node new_host:new_port existing_host:existing_port
实例:redis-trib add-node 127.0.0.1:7007 127.0.0.1:7001
127.0.0.1:7007为新节点
127.0.0.1:7001为已存在的节点(任何一个已经存在主节点都可以)
添加后为master,刚增加时无槽位,需要重新给此节点分配槽位
>cluster nodes
为新增的节点分配槽位:默认新增加的节点是没有槽位的
#redis-trib reshard 127.0.0.1:7007
How mang slots do you want to move(from 1 to 16384)?:500
想给新节点分配多少槽位
What is the receiving node ID?
接收槽位的node节点的ID是多少? --> 此处把新节点的id写上去
Source node:从哪些节点上分配槽位到新节点
all:代表从所有节点上进行分配,即每个节点上都分配一些出来
槽位分配成功:
分配的方案是从其它的节点中都分配一些出来,给新增加的节点
将新增加的节点设置为某个节点的从:
#redis-trib add-node 192.168.2.99:7008 192.168.2.99:7001
>cluster replicate 8c381457742731bbc4d2376069d89b308c3fa5e7
8c381457742731bbc4d2376069d89b308c3fa5e7:为master的ID
注:需要登陆到新增加的节点上(需要被设定为从的节点),才能为其设定为从
网页名称:redis集群的创建及其使用
链接URL:http://myzitong.com/article/igppsj.html