Redis集群 redis cluster in 3.0

来源:互联网 发布:文本数据可视化方法 编辑:程序博客网 时间:2024/05/18 12:39

Redis集群部署文档(centos6.3系统)
在3.0(不过现在还在rc版本)自身提供了cluster的方法,能做主从,集群。
部署要求:要让集群正常工作至少需要3个主节点,在这里我们最少创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下,三台redis服务器:

10.131.177.166:637910.131.177.166:638010.133.193.93:638110.133.193.93:638210.105.2.248:638310.105.2.248:6384

第一步:

安装redis3.0,安装这里就不说了,我提供的有redis-stable.tar.gz安装包

第二步:

三台服务器我们来按照端口的不同来进行划分,6379、6380、6381、6382、6383、6384创建这样6个目录,每个目录里有这样两个文件:redis-server、redis.confredis-server是从redis的安装目录中的src里copy过来就好redis.conf内容如下;+++++++++++++++++++++++++++++++port 6379 #不同目录,这里端口对应不同cluster-enabled yes #开启集群功能cluster-config-file nodes.conf #节点配置文件,这个文件是服务启动时自己配置创建的cluster-node-timeout 5000 appendonly yes++++++++++++++++++++++++++++++++那么6个服务器都配置好后则启动他们,方法如下:./redis-server  ./redis.conf启动好以后查看一下是否都已经成功运行了 ps aux|grep redis

第三步

93服务器上创建集群./redis-trib.rb create --replicas 1 10.131.177.166:6379 10.131.177.166:6380 10.133.193.93:6381 10.133.193.93:6382 10.105.2.248:6383 10.105.2.248:6384这里的--replicas 1 表示每个主节点下有一个从节点
1执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境错误内容:/usr/bin/env: ruby: No such file or directory所以需要安装ruby的环境,这里推荐使用yum install ruby安装yum install ruby2然后再执行第6步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装错误内容:./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)from ./redis-trib.rb:24yum install rubygems3再次执行第6步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装错误内容:/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'from ./redis-trib.rb:25gem install redis4如是内网,请搜索redis-3.0.6.gem接口文件进行下载,手动安装gem install redis-3.0.6.gem

第四步

再次执行,创建集群命令:./redis-trib.rb create --replicas 1 10.131.177.166:6379 10.131.177.166:6380 10.133.193.93:6381 10.133.193.93:6382 10.105.2.248:6383 10.105.2.248:6384

这里写图片描述

记得输入“yes

第五步

下面进行测试,使用redis-cli首先登入6380这个端口的redis服务./redis-cli -c -h 10.131.177.166 -p 638010.131.177.166:6380> set name yu退出后重新登入6379端口的redis服务./redis-cli -c -h 10.131.177.166 -p 637910.131.177.1666379> get name #如果没有集群的话,这里肯定是没有的,现在则出现如下情况-> Redirected to slot [5798] located at 10.131.177.166:6380"yu"
qq交流群:316835094
0 0
原创粉丝点击