redis cluster practice

redis cluster
practice

1. create three instance
folder: 9001,9002,9003,folder
name as  redis
instance port

2.Store
configuration files
redis-server,
redis.conf
to the three folders

3.Change
redis.conf  file, keep below setting:

daemonize yes
port
9001
cluster-enabled yes
cluster-config-file
nodes.conf
cluster-node-timeout 5000
appendonly yes

note:
port need to change into
folder name

4.start
up the three instances:

zhaoguihuadediannao:~
zhaogh$ cd applications/dev/redis-cluster

zhaoguihuadediannao:redis-cluster
zhaogh$ cd 9001

zhaoguihuadediannao:9001
zhaogh$ ./redis-server ./redis.conf

zhaoguihuadediannao:9003
zhaogh$ cd ../9002

zhaoguihuadediannao:9002
zhaogh$ ./redis-server ./redis.conf

zhaoguihuadediannao:9002
zhaogh$ cd ../9003

zhaoguihuadediannao:9003
zhaogh$ ./redis-server ./redis.conf

zhaoguihuadediannao:9003
zhaogh$

5.create
clusters on the three instances

zhaoguihuadediannao:src
zhaogh$ ./redis-trib.rb create --replicas 0 127.0.0.1:9001 127.0.0.1:9002
127.0.0.1:9003

>>>
Creating cluster

Connecting
to node 127.0.0.1:9001: OK

Connecting
to node 127.0.0.1:9002: OK

Connecting
to node 127.0.0.1:9003: OK

>>>
Performing hash slots allocation on 3 nodes...

Using
3 masters:

127.0.0.1:9001

127.0.0.1:9002

127.0.0.1:9003

M:
92c9912cb1ccf657c886ecd839dd32c66efd8762 127.0.0.1:9001

slots:0-5460
(5461 slots) master

M:
b6d46fcb8b0e6ee373b09a4f2cbcec744d1a259b 127.0.0.1:9002

slots:5461-10922
(5462 slots) master

M:
44ab30c7c589ffb15b9b04dd827c72cfaeedacb2 127.0.0.1:9003

slots:10923-16383
(5461 slots) master

Can
I set the above configuration? (type ‘yes‘ to accept): yes

>>>
Nodes configuration updated

>>>
Assign a different config epoch to each node

>>>
Sending CLUSTER MEET messages to join the cluster

Waiting
for the cluster to join..

>>>
Performing Cluster Check (using node 127.0.0.1:9001)

M:
92c9912cb1ccf657c886ecd839dd32c66efd8762 127.0.0.1:9001

slots:0-5460
(5461 slots) master

M:
b6d46fcb8b0e6ee373b09a4f2cbcec744d1a259b 127.0.0.1:9002

slots:5461-10922
(5462 slots) master

M:
44ab30c7c589ffb15b9b04dd827c72cfaeedacb2 127.0.0.1:9003

slots:10923-16383
(5461 slots) master

[OK]
All nodes agree about slots configuration.

>>>
Check for open slots...

>>>
Check slots coverage...

[OK]
All 16384 slots covered.

zhaoguihuadediannao:src
zhaogh$

6.
command  redis-trib.rb
 needs ruby
env.,
may install it from https://rubygems.org/gems/redis

sudo
gem install redis-3.0.7.gem --local

7.
test in  redis
client

zhaoguihuadediannao:src
zhaogh$ ./redis-cli -c -p 9001

127.0.0.1:9001>
get testkey001

->
Redirected to slot [12786] located at 127.0.0.1:9003

(nil)

127.0.0.1:9003>
set testkey002 testvalue002

->
Redirected to slot [401] located at 127.0.0.1:9001

OK

127.0.0.1:9001>
get testkey002

"testvalue002"

127.0.0.1:9001>
set testkey003 testvalue003

OK

127.0.0.1:9001>

8.
even connect 9001 port,
whenretrievetestkey001,redis cluster will auto redirect to
port9003 .

When
set 9003 with
testkey002,redis cluster auto redirect to
 9001

source:
http://www.cnblogs.com/zhaoguihua/p/redis-005.html

redis cluster practice,布布扣,bubuko.com

时间: 2025-01-11 18:21:57

redis cluster practice的相关文章

Redis中国用户组|唯品会Redis cluster大规模生产实践

嘉宾:陈群 很高兴有机会在Redis中国用户组给大家分享redis cluster的生产实践.目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作 Outline 一.生产应用场景 二.存储架构演变 三.应用最佳实践 四.运维经验总结 第1.2节:介绍redis cluster在唯品会的生产应用场景,以及存储架构的演变.第3节:redis cluster的稳定性,应用成熟度,踩到过那些坑,如何解决这些问题?这部分是大家比较关心的内容.第4节:简单介绍大规模运营的一些

Redis Cluster集群部署搭建

在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉.Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品.今天,就分享一下安装Redis集群的过程. 搭建redis集群,建议至少需要准备3台服务器,共搭建6个节点,3个master,3个slave,并且要求3个master节点不能全部跑到同一台服务器上,保证节点安全,3台服务器的配置相同,使用redistest账号搭建,对应的端口是7000/7001/7002端口 我的集群分配如下,每个

Windows 配置Reids集群 Redis Cluster

1. 下载安装Redis Redis官方不支持Windows,但是Microsoft Open Tech group在 GitHub上开发了一个Win64的版本,下载地址为: 下载Redis 启动服务 redis-server redis.windows.conf 客户端连接 redis-cli.exe -h 127.0.0.1 -p 6379 2. 安装Ruby并配置环境 安装Ruby,Windows可以安装RubyInstaller,下载地址: http://railsinstaller.o

redis cluster

Redis cluster 介绍 Redis在3.0版正式引入了集群特性.Redis集群是一个分布式(distributed).容错(fault-tolerant)的 Redis内存K/V服务, 普通单机 Redis 使用的功能 仅是集群中的功能的一个子集(subset).Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误. Redis集群的几个重要特征: (1).Redis 集群的分片特征在

全面剖析Redis Cluster原理和应用 (转)

1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生存的看家本领,增加集群功能后当然不能对性能产生太大影响,所以Redis采取了P2P而非Proxy方式.异步复制.客户端重定向等设计,而牺牲了部分的一致性.使用性. 水平扩展:集群的最重要能力当然是扩展,文档中称可以线性扩展到1000结点. 可用性:在Cluster推出之前,可用性要靠Sentinel

redis cluster 集群重启关闭

找遍了redis cluster官方文档,没发现有关集群重启和关闭的方法.为啥会没有呢,猜测redis cluster至少要三个节点才能运行,三台同时挂掉的可能性比较小,只要不同时挂掉,挂掉的机器修复后在加入集群,集群都能良好的运作,万一同时挂掉,数据又没有备份的话,就有大麻烦了. redis cluster集群中的节点基本上都对等的,没有管理节点.如果要让所有节点都关闭,只能关闭进程了# pkill -9 redis 把所有集群都关闭,然后在重新启动,会报以下错误 # redis-trib.r

JFinal redis cluster集群插件

JFinal 框架到了2.1版本号,可是依旧仅仅支持redis的主从集群,没有看到Cluster集群的插件.笔者照着主从的插件方式,改了改,实现了个简单的插件,先使用起来,兴许会更新完好版本号. 插件地址:点击打开链接 附上源代码: package com.sxt.jfinal.rediscluster; import java.util.Set; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import redis

Redis Cluster集群搭建测试

# Redis Clutser # ## 一.Redis Cluster集群 ## 参考资料: http://www.cnblogs.com/lykxqhh/p/5690923.html Redis集群搭建的方式有多种,例如使用zookper等,但从redis3.0之后版本支持redis cluster集群,Redis Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接.其redis cluster架构图如下: 其结构特点: 1.所有的redis节点彼此互

redis演练(8) redis Cluster 集群环境安装

redis是个分布式缓存,与传统数据库最大的优势,在于它的"分布式"上. 分布式的优势: 容易实现容量的扩展 数据的均等分布 很好的高可用性 redis 和memcached是分布式缓存的两款流行方案,他们之间的对比 redis memcached 主从功能 Replication 支持 主备自动切换 本身不支持,可以通过客户端自己实现 键值一致性 哈希槽 一致性哈希 集群 服务端支持(但是beta版) unstable 由客户端实现 工具支持 提供自带的工具(客户端redis-cli