centos上安装及配置redis cluster
来源:互联网 发布:淘宝优惠券怎么使用 编辑:程序博客网 时间:2024/05/20 11:25
介绍
在没有redis cluster之前,比较流行的redis集群方案是基于lvs->twemproxy->redis的,这个方案部署起来比较复杂,一个请求要经过两层路由才到redis,而且为了作高可用还很浪费机器,另外还不支持动态扩容,意味着每一次扩容都要将redis之前的所有数据重新发送一遍,不然就会导致节点的数据分布不均匀。
还有一个方案,DBA们十分欢迎在应用中来对数据进行分片,比如jedis有shrading方面的支持,这样运维起来是最省事的。
后来DBA们研究发现新的redis cluster特性以很简单的方式提供了高可用性,还支持动态扩容,于是纷纷主推redis cluster作为redis的集群方案。所以说,在大公司的系统架构中,性能往往不是主要考虑的因素。
关于redis cluster更详细的教程参考《redis集群教程》。
准备
redis cluster是redis3版本的一个新特性,因此首先要在环境中安装好redis3。若还没安装,可参考《centos上安装及配置单台redis》。由于这里只是搭建一个开发环境,最简单的就是将所有redis实例都跑在同一台机器上,只要设置端口号不一样就行了,如下所示:
主master:
127.0.0.1:6301
127.0.0.1:6302
127.0.0.1:6303
从slave:
127.0.0.1:6304
127.0.0.1:6305
127.0.0.1:6306
127.0.0.1:6302
127.0.0.1:6303
从slave:
127.0.0.1:6304
127.0.0.1:6305
127.0.0.1:6306
安装好redis3后,我们开始规划目录结构,如下所示:
$ pwd
/usr/local/redis3 #redis根目录
$ mkdir cluster #新建redis cluster父目录
$ cd cluster$ mkdir 6301 6302 6303 6304 6305 6306 #新建节点目录,以端口号命名
配置好后就可以依次启动每个redis节点:
./bin/redis-server ./cluster/6301/redis.conf
./bin/redis-server ./cluster/6302/redis.conf
./bin/redis-server ./cluster/6303/redis.conf
./bin/redis-server ./cluster/6304/redis.conf
./bin/redis-server ./cluster/6305/redis.conf
./bin/redis-server ./cluster/6306/redis.conf
建议检查一下每台redis是否正常启动,可查看一下端口服务:
netstat -anpt | grep redis
创建redis cluster
虽然每个节点的redis都启动来了,但它们无法成为一个集群,这时还需要官方提供的redis-trib来创建redis cluster。redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序。这个程序通过向实例发送特殊命令来完成创建新集群,检查集群,或者对集群进行重新分片(reshared)等工作。
要运行redis-trib要先安装ruby运行环境:
yum -y install ruby
接下来安装ruby gems,用它来查找、安装、升级和卸载ruby软件包。
yum -y install rubygems
然后通过gem来安装ruby的redis客户端
gem install redis
这一步有可能会失败,大多是因为国内连不上gem官方库,那只能修改gem库为国内的库,如淘宝网的RubyGems镜像,或下载redis.gem文件离线安装。
最后创建redis cluster,运行命令:
./redis-trib.rb create --replicas 1 127.0.0.1:6301 127.0.0.1:6302 127.0.0.1:6303 127.0.0.1:6304 127.0.0.1:6305 127.0.0.1:6306
命令的意义如下:
(1)给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
(2)选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
(3)之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
(1)给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
(2)选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
(3)之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
输入命令后,控制台便会打印出redis cluster的配置信息,最后向你确认是否接受,输入:yes
控制台便会输出一系列信息,并提示redis cluster搭建成功!
连接redis cluster
使用客户端redis-cli连上集群中的任意一台redis,即可连上整个集群,可输入:
./bin/redis-cli -c -p 6301
另外还可以通过如下命令:
./bin/redis-cli -p 6301 cluster nodes
可查看集群配置信息:
<redis_1_ID> 127.0.0.1:6301 myself,master - 0 0 1 connected 0-5460
<redis_2_ID> 127.0.0.1:6302 master - 0 1455979903197 2 connected 5461-10922
<redis_3_ID> 127.0.0.1:6303 master - 0 1455979904735 3 connected 10923-16383
<redis_5_ID> 127.0.0.1:6304 slave <redis_1_ID> 0 1455979903197 4 connected
<redis_6_ID> 127.0.0.1:6305 slave <redis_2_ID> 0 1455979905245 5 connected
<redis_7_ID> 127.0.0.1:6306 slave <redis_3_ID> 0 1455979903197 6 connected
<redis_2_ID> 127.0.0.1:6302 master - 0 1455979903197 2 connected 5461-10922
<redis_3_ID> 127.0.0.1:6303 master - 0 1455979904735 3 connected 10923-16383
<redis_5_ID> 127.0.0.1:6304 slave <redis_1_ID> 0 1455979903197 4 connected
<redis_6_ID> 127.0.0.1:6305 slave <redis_2_ID> 0 1455979905245 5 connected
<redis_7_ID> 127.0.0.1:6306 slave <redis_3_ID> 0 1455979903197 6 connected
这里的<redis_x_ID>是集群为每台redis分配的标识符(太长,所以没具体写出来)
1 0
- centos上安装及配置redis cluster
- Redis Cluster安装及配置
- CentOS 6.3安装及配置RabbitMQ cluster
- centos上安装及配置单台redis
- Redis Cluster安装配置
- Centos redis安装及配置
- centos 6.5上redis安装与配置
- redis-cluster安装及测试
- redis-cluster安装和配置
- REDIS CLUSTER简单安装配置
- centOS上安装redis
- centOS上安装redis
- CentOS上安装redis
- centOS上安装redis
- centos上安装redis
- CentOS上安装redis
- Centos 5.3上Asterisk安装及配置
- CentOs上tomcat7安装及配置
- 内部类基本知识点
- 文件操作杂记
- HDU 4300 Clairewd’s message
- 【每日算法】插入&选择&冒泡排序
- C#中的线程(一)入门
- centos上安装及配置redis cluster
- C#中的线程(二) 线程同步基础
- maven 骨架项目
- C#中的线程(三) 使用多线程
- HDU 3749 Financial Crisis 点双连通分量
- 面试2 -- Java抽象类与接口的区别
- C#多线程简单例子讲解
- Light OJ 1382 The Queue(树形DP+数学)
- 快速排序