`

redis cluster 非ruby方式启动

阅读更多

    

redis 学习问题总结

http://aperise.iteye.com/blog/2310639

ehcache memcached redis 缓存技术总结

http://aperise.iteye.com/blog/2296219

redis-stat 离线安装

http://aperise.iteye.com/blog/2310254

redis  cluster 非ruby方式启动

http://aperise.iteye.com/blog/2310254

redis-sentinel安装部署

http://aperise.iteye.com/blog/2342693

spring-data-redis使用

 http://aperise.iteye.com/blog/2342615

redis客户端redisson实战

http://blog.csdn.net/zilong_zilong/article/details/78252037

redisson-2.10.4源代码分析

http://blog.csdn.net/zilong_zilong/article/details/78609423

tcmalloc jemalloc libc选择

http://blog.csdn.net/u010994304/article/details/49906819


redis  cluster 非ruby方式启动

 

1.主要解决问题

        redis cluster在redis官网介绍是用ruby脚本启动(我在之前博客有介绍ehcache memcached redis 缓存技术总结)。

        ruby脚本干了啥??1)首先将集群节点进行握手  2)握手完毕后分配槽位  3)分配完槽位后就指定主从,ruby脚本的好处是这些细节我们不用去过多关注

        缺失了ruby脚本,我们如何玩转redis cluster?????

        这里就是要解决此问题。

 

 

2.非ruby方式启动redis cluster

    2.1 独立启动各个redis节点

#杀redis进程
pkill redis
#删除AOF RDB文件
rm -rf /home/hadoopmanage/rediscluster/conf/*/nodes.conf
rm -rf /home/hadoopmanage/rediscluster/conf/*/dump.rdb
rm -rf /home/hadoopmanage/rediscluster/conf/*/appendonly.aof
#独立启动各个redis节点
cd /home/hadoopmanage/rediscluster/conf/7000/
/opt/redis-3.2.0/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7001/
/opt/redis-3.2.0/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7002/
/opt/redis-3.2.0/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7003/
/opt/redis-3.2.0/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7004/
/opt/redis-3.2.0/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7005/
/opt/redis-3.2.0/src/redis-server redis.conf

 

    2.2 集群节点握手

cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.202.131 -p 7000
CLUSTER MEET 192.168.202.131 7000
CLUSTER MEET 192.168.202.131 7001
CLUSTER MEET 192.168.202.131 7002
CLUSTER MEET 192.168.202.131 7003
CLUSTER MEET 192.168.202.131 7004
CLUSTER MEET 192.168.202.131 7005

 

    2.3 集群节点槽位分配

#设置好主从关系之后,就可以用cluster addslots命令指派16384个槽的位置了。有点恶心的是,
#ADDSLOTS命令需要在参数中一个个指明槽的ID,而不能指定范围。
#这里用Bash 3.0的特性简化了,不然就得用Bash的循环来完成了:
redis-cli -h 192.168.202.131 -p 7000 cluster addslots {0..5461}
redis-cli -h 192.168.202.131 -p 7001 cluster addslots {5462..10922}
redis-cli -h 192.168.202.131 -p 7002 cluster addslots {10923..16383}

 

    2.4 查看集群节点ID,目的是后面分配主从会用到

cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.202.131 -p 7000
cluster nodes

         查看的信息如下:

0ba73a42688039745f71adc4eb9bd33d96ec6067 192.168.202.131:7002 master - 0 1465648931751 2 connected 10923-16383
6815d0291ec49f0a96c5ab6bf9f8dd622c16a9e5 192.168.202.131:7000 myself,master - 0 0 5 connected 0-5461
12352c839c530280a41da265ac821bc1014e8162 192.168.202.131:7001 master - 0 1465648929712 1 connected 5462-10922
3b7c9618bf909f88247f171184ba24841d5a87f4 192.168.202.131:7004 master - 0 1465648927677 4 connected
081afc3f41c603e6364d77a9ec63840cdf90f4f3 192.168.202.131:7003 master - 0 1465648926652 3 connected
7250093127bc8bce64a5f47b2dd13b4ac8c3fa4c 192.168.202.131:7005 master - 0 1465648930733 0 connected

 

    2.5 分配主从关系

#将节点192.168.202.131:7003设置为192.168.202.131:7000的从节点,6815d0291ec49f0a96c5ab6bf9f8dd622c16a9e5是192.168.202.131:7000的标识
cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.202.131 -p 7003
cluster replicate 6815d0291ec49f0a96c5ab6bf9f8dd622c16a9e5
quit
#将节点192.168.202.131:7004设置为192.168.202.131:7001的从节点,12352c839c530280a41da265ac821bc1014e8162 是192.168.202.131:7001的标识
cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.202.131 -p 7004
cluster replicate 12352c839c530280a41da265ac821bc1014e8162
quit
#将节点192.168.202.131:7005设置为192.168.202.131:7002的从节点,0ba73a42688039745f71adc4eb9bd33d96ec6067 是192.168.202.131:7002的标识
cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.202.131 -p 7005
cluster replicate 0ba73a42688039745f71adc4eb9bd33d96ec6067
quit

  

 

3.redis命令

    3.1 redis常见命令

集群
CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
节点
CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。
CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
槽(slot)
CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。
CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。
CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。
CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。

CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。
CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。

 

    3.2 客户端常用命令(待完善)

        3.2.1 清理数据

flushdb // 清除当前数据库的所有keys
flushall // 清除所有数据库的所有keys

cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.173.23 -p 6379
flushall
cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.173.23 -p 6380
flushall
cd /opt/redis-3.2.0/src/
redis-cli -h 192.168.173.24 -p 6380
flushall

 

分享到:
评论

相关推荐

    redis-trib.rb是官方提供的Redis Cluster的管理工具

    redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准备相关的依赖环境。

    redis 集群安装 ruby 资源报

    redis集群 安装所需 jar ruby-2.2.2.tar.gz

    完整搭建redis-cluster

    完整搭建redis-cluster,全过程配合网页一起使用,效果更佳

    Ruby RedisCluster

    Ruby RedisCluster

    RedisCluster

    参照网上资源,自己尝试搭建的 Windows 下 Redis集群搭建Demo.

    ruby和redis接口

    此工具为ruby和redis接口,用于搭建redisCluster集群,好用!

    Rediscluster1.zip

    Ruby的windows版本安装包和Redis的Ruby驱动rubygems,在官网下载太慢,这个亲测好用。

    redis-cluster redis伪集群文件

    搭建redis集群文件,内含六个redis,文件配置已经全部修改好了,1、先在服务器安装下yum install ruby 和 yum install rubygems 2、然后解压文件上传到linux服务器 3、./redis-cluster-start-all.sh 开启reids 4、...

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504)原忘记配置文件了

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,一键Redis-Cluster集群工具等,64位请自行替换相关资源包即可,相关文章见:...

    redis-windows-cluster搭建指南

    redis-windows-cluster搭建指南,包括Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem和创建Redis集群的工具redis-trib.rb等所需软件,以及搭建指导文档

    redis-cluster.rar

    Redis ruby集群工具,包括Redis x32 ruby redis-trib.rb rubygems-3.0.6.zip Redis ruby集群工具,包括Redis x32 ruby redis-trib.rb rubygems-3.0.6.zip Redis ruby集群工具,包括Redis x32 ruby redis-trib.rb ...

    使用Ruby脚本部署Redis Cluster集群步骤讲解

    今天小编就为大家分享一篇关于使用Ruby脚本部署Redis Cluster集群步骤讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    Redis-Cluster实战--3.安装准备-Ruby安装(含视频)

    NULL 博文链接:https://carlosfu.iteye.com/blog/2242578

    Redis Essentials

    Scale Redis to multiple servers with Twemproxy, Redis Sentinel, and Redis Cluster A fast-paced guide, full of real-world examples to help you get the best out of the features offered by Redis Who This...

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504)

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,一键Redis-Cluster集群工具等,64位请自行替换相关资源包即可,相关文章见:

    CentOS7.x 离线安装redis-cluster所需包

    改压缩包中含了centos7.x离线安装redis-cluster的所有相关文件,包括ruby-2.4.1.tar.gz,rubygems-2.7.6.tgz,zlib-1.2.11.tar.gz,redis-4.0.2.gem,tcl8.6.8-src.tar.gz

    redis-3.2.1.gem

    安装Redis集群所需的ruby包 redis cluster必备 redis-3.2.1.gem文件,网上的很多都失效了,专门用于redis3.2.1版本的

    redis5离线安装文件包,包含redis-5.0.14.tar.gz和redis-4.6.0.gem

    sudo yum -y install gcc gcc-c++ tcl zlib zlib-devel ruby ruby-devel rubygems rpm-build # 下载 redis-3.2.1.gem然后本地安装 sudo gem install -l ./redis-3.2.1.gem port 6379 daemonize yes #bind自己的ip ...

    windows环境下redis集群的搭建

    05、启动这6个redis 06、安装ruby环境(rubyinstaller-2.2.4-x64.exe),注意(安装所有模块),后台需要使用此环境。 07、下载ruby环境下Redis的驱动“redis-3.2.2.gem”。 08、把“redis-3.2.2.gem”放到ruby环境下...

Global site tag (gtag.js) - Google Analytics