本文共 1154 字,大约阅读时间需要 3 分钟。
os:suse linux enterprise server 11 sp3
redis版本:3.0.0
6个虚拟机,3个master,3个slave
集群配置:在redis中打开以下集群配置参数
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
appendonly yes
步骤:
1 在每个节点中安装redis(参考前几篇博客),并启动
此时,三个Redis服务器节点均会以Redis Cluster的方式开始运行,但并没有自动构建集群,因为三者还处于“我不认识你,你不属于我”的状态,它们每个都是孤零零的Redis节点,或者是只包含了一个节点的集群。
2 使用redis-trib.rb工具配置主从节点以及自动分配hash slots(也可以使用cluster meet 将各分散节点连接起来,并手动修改nodes-6379.conf分配hash slots,具体可以参考)
redis-trib.rb create --replicas 1 192.168.202.157:6379 192.168.202.158:6379 ...... 192.168.202.162:6379
注意:使用redis-trib.rb可能会报错:
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- redis (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from /opt/cluster_test/redis-unstable/src/redis-trib.rb:25:in `'
原因:没装redis的第三方接口!既然ruby程序要访问redis数据库,总得有个连接接口。对于ruby这么安装client包就行了
gem install redis
若提示gem没有安装,则需要去 上下载rubygems安装
在这一步中还有可能出现连接不到其他节点的错误(sorry,cannot connect to 192.....),可以尝试关闭防火墙
3 redis-cli -h 主机ip -p 端口连上某个server,然后使用cluster nodes和cluster info查看集群是否成功
参考文章
转载地址:http://isspi.baihongyu.com/