部署图
修改配置文件
[root@inf-p01 redis-3.0.0]# redis-server 7001/redis.conf
启动完毕后,6个Redis进程尚未构成集群。
安装Ruby 1. 下载源代码文件ruby-2.1.6.tar.gz
2. 解压tar -xzvf ruby-2.1.6.tar.gz
3. 进入目录 cd ruby-2.1.6
4. 运行./configure ?prefix=/usr/opt/oracle/ruby
5. 编译make
6. 安装 make install
7. 配置环境变量
/etc/profile文件中增加export PATH=/usr/opt/oracle/ruby/bin:$PATH
8. 执行source /etc/profile,使环境变量生效
9. 验证ruby是否安装成功,执行ruby ?v,出现如下输出,即ruby安装OK。
ruby 2.1.6p336 (2015-04-13 revision 50298) [x86_64-linux]
安装redis gem 1. 下载源文件redis-3.2.1.gem
2. 安装 gem install ?l redis-3.2.1.gem
启动集群 1. 进入src目录 cd /opt/oracle/redis-3.0.0/src
2. 执行./redis-trib.rb create --replicas 1 192.168.126.131:7001 192.168.126.131:7002 192.168.126.131:7003 192.168.126.131:7004 192.168.126.131:7005 192.168.126.131:7006
黄色部分为本机IP,出现如下日志即为集群部署OK
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
多机部署时,只要在其中一台机器上执行./ redis-trib.rb就可以了
验证 1. 进入redis控制台 redis-cli ?c ?p 7001
2. set foo car
3. get foo
如果能取出数据即集群安装OK。
使用
同一物理机部署6个Redis进程,7001、7002、7003端口为Master进程、7004、7005、7006端口为Slave进程。多机部署时注意配对的Master和Slave不在同一物理机上即可。
安装Redis
1. 下载源代码文件redis-3.0.0.tar.gz
2. 解压tar -xzvf redis-3.0.0..tar.gz
3. 进入目录 cd redis-3.0.0
4. 编译make
5. 安装 make install
6. 创建6个目录用来存放每个进程的配置文件和数据mkdir 7001至7006
7. cp redis.conf 7001/至7006/文件夹下
至此7001至7006这6个目录下均有redis.conf配置件。
6个redis.conf配置文件相同,注意修改下黄色字体部分的内容即可,其他都相同
配置选项 |
值 |
描述 |
daemonize |
yes |
|
logfile |
"/opt/log/redis-7001.log" |
|
databases |
1 |
|
dir |
/opt/oracle/redis-3.0.0/7001 |
用来存放数据的地方 |
cluster-enabled |
yes |
|
cluster-config-file |
/opt/oracle/redis-3.0.0/7001/nodes.conf |
|
cluster-node-timeout |
15000 |
|
cluster-migration-barrier |
1 |
|
cluster-require-full-coverage |
yes |
只要集群中有一对Master-Slave不可用时,整个集群不可用 |
启动Redis 按照如下命令分别启动6个Redis进程
[root@inf-p01 redis-3.0.0]# redis-server 7001/redis.conf
启动完毕后,6个Redis进程尚未构成集群。
2. 解压tar -xzvf ruby-2.1.6.tar.gz
3. 进入目录 cd ruby-2.1.6
4. 运行./configure ?prefix=/usr/opt/oracle/ruby
5. 编译make
6. 安装 make install
7. 配置环境变量
/etc/profile文件中增加export PATH=/usr/opt/oracle/ruby/bin:$PATH
8. 执行source /etc/profile,使环境变量生效
9. 验证ruby是否安装成功,执行ruby ?v,出现如下输出,即ruby安装OK。
ruby 2.1.6p336 (2015-04-13 revision 50298) [x86_64-linux]
2. 安装 gem install ?l redis-3.2.1.gem
2. 执行./redis-trib.rb create --replicas 1 192.168.126.131:7001 192.168.126.131:7002 192.168.126.131:7003 192.168.126.131:7004 192.168.126.131:7005 192.168.126.131:7006
黄色部分为本机IP,出现如下日志即为集群部署OK
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
多机部署时,只要在其中一台机器上执行./ redis-trib.rb就可以了
2. set foo car
3. get foo
如果能取出数据即集群安装OK。
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="30" /> <property name="maxIdle" value="10" /> <property name="minIdle" value="10" /> <property name="blockWhenExhausted" value="true"></property> <property name="maxWaitMillis" value="3000" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="testWhileIdle" value="false" /> </bean> <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg index="0"> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7001" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7002" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7003" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7004" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7005" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7006" type="int" /> </bean> </set> </constructor-arg> <constructor-arg index="1" value="15000" type="int"></constructor-arg> <constructor-arg index="2" ref="jedisPoolConfig"></constructor-arg> </bean>
@Test public void test8(){ System.out.println(jedisCluster); for(int i=0;i<1000;i++){ jedisCluster.set(""+i, ""+i); } //使用是不用关闭的,JedisCluster内部会自动关闭 }
相关推荐
NULL 博文链接:https://zjjndnr.iteye.com/blog/2386575
windows一键Redis-Cluster集群工具(32位Redis-v3.0.504),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,一键Redis-Cluster集群工具等,64位请自行替换相关资源包即可,相关文章见:...
redis3.0-集群部署文档
windows一键Redis-Cluster集群工具(32位和64位Redis-v3.0.504,以及64位Redis-v3.2.100),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,64位Redis-v3.0.504,64位Redis-v3.2.100,一键Redis-Cluster集群...
windows一键Redis-Cluster集群工具(32位Redis-v3.0.504),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,一键Redis-Cluster集群工具等,64位请自行替换相关资源包即可,相关文章见:
第 1 章Redis 介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第 2 章数据类型初探. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
开发者Salvatore Sanfilippo表示,Redis 3.0.0是第一个原生支持集群的稳定版本,可能需要1到2年才能成熟,它对Redis生态系统具有重要意义,Redis Cluster将向用户提供某种程度的自动伸缩和容错能力,将改变用户看待...
redis3.0 的 nodejs 扩展,支持基于 nodejs npm redis url 的集群: : 更改日志 当我们向 redis 集群的一个节点发送命令时,我们可能会收到类似“ERR: MOVED 111 127.0.0.1:6379”的返回错误。 这不是错误,而是...
这个是windows已经配置好的版本,讲道理你下载过去只需要执行几条命令,redis集群就能搭建起来,懒癌的福音。 注意:基于windows,支持windows离线安装
docker-redis-cluster:用于Redis集群的Dockerfile(redis 3.0+)
第 1 章Redis 介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第 2 章数据类型初探. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
该客户端提供了Redis 3.0中添加的Redis集群客户端。 该项目是antirez的redis-rb-cluster的移植版,具有许多附加功能。 原始资源可以在找到 分支master将始终包含已从Pull Requests中合并的最新不稳定/开发代码。 ...
redis3.0版本cluster安装部署配置和管理,样例演示, 集群操作常用命令 CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
docker-redis-cluster, 适用于Redis集群的Dockerfile &#... docker-redis-cluster 从源代码构建并安装redis的Docker 映像。这个容器的主要用途是测试redis集群代码。 例如在 https://github.com/Grokzen/redis-py-clus
乌鸦座 Corvus是启用了集群模式的Redis 3.0的快速轻量级Redis集群代理。为什么大多数Redis客户端实现不支持Redis集群。 我们有很多依赖Redis的服务,这些服务是用Python,Java,Go,Nodejs等编写的。在不破坏兼容性...
本源代码提供了redis3.0或者redis3.2如何集群,以及spring-data-redis如何操作集群,并且同时提供了redis单例操作
redis从3.0开始支持集群功能。redis集群采用无中心节点方式实现,无需proxy代理,客户端直接与redis集群的每个节点连接,根据同样的hash算法计算出key对应的slot,然后直接在slot对应的redisj节点上执行命令。在...