windows下 redis 集群服务搭建

一. 下载最新的redis 版本

笔者是3.2.100

下载地址:https://github.com/MicrosoftArchive/redis

下载ruby 并安装:https://rubyinstaller.org/downloads/

下载集群脚本:http://download.redis.io/releases/

中的linux 版本号为3.2.10 的包中的 src 目录下找到 redis-trib.rb 这个脚本 ,把它copy 到本地redis 安装目录下(这个集群脚本必须要用ruby 进行执行),注意一定要版本对应,不然在后面启动不了集群

二. 配置redis集群最小配置:

# 修改配置文件中的属性:
    port 7001(对应文件夹的端口号)
	cluster-enabled yes
	cluster-config-file nodes.conf
	cluster-node-timeout 5000
	appendonly yes

三. redis 以后台服务启动:

1. 进入 DOS窗口

2. 在进入Redis的安装目录

3. 输入:

// 安装命令
redis-server --service-install cluster/7100/redis.7100.conf --service-name redis7100

// 卸载命令
redis-server --service-uninstall --service-name redis7100

redis-server --service-install ./6001/redis.windows.conf --service-name redis6001

redis-server --service-install ./6002/redis.windows.conf --service-name redis6002

redis-server --service-install ./6003/redis.windows.conf --service-name redis6003

redis-server --service-install ./6004/redis.windows.conf --service-name redis6004

redis-server --service-install ./6005/redis.windows.conf --service-name redis6005

redis-server --service-install ./6006/redis.windows.conf --service-name redis6006

4.  输入:redis-server --service-start ( 启动服务 )

5. 输入:redis-server --service-stop (停止服务)

启动指定的配置文件redis-server --service-start redis.windows-service.conf


# redis 一些常用命令:
连接: redis-cli -h 127.0.0.1 -p 6001

info(查看 Redis 服务器的全部信息)
keys *(查看当前存储的所有 key)
get <keyname>(查看指定 key 的内容)
del <keyname>(删除指定 key 的内容)
set <keyname> <value>(设置指定 key 的内容)
flushdb(删除 当前数据库 中的所有 key)
flushall(删除 所有数据库 中的所有 key)
info 指令:查看 Redis 服务器的全部信息
info server   // 查看服务器基本信息
info memory   // 查看内存使用情况

四: 在ruby 命令行中安装redis :

gem install redis

五:分配主从:

比如

Master slave

6001 6004

6002 6005

6003 6006

启动集群命令如下:

# 选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点
#--replicas 1的意思是每个master有1个slave
redis-trib.rb create --replicas 1 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006

如果不能启动,原因是redis 版本与 redis-trib.rb 的版本对应不上导致,笔者开始也犯了这个错误 , 我拿了5.0.4 的脚本进行执行,所以启动不了集群,以下是我启动错误提示

正常启动成功界面:

然后控制台列出了 集群的主从配置,让你确认,输入yes 即可。

六:关于集群相关命令

最后查看集群节点信息:

redis-cli -c -h 127.0.0.1 -p 6001 cluster nodes

或者登录到集群中,进行查看:

登录:redis-cli -c -p 6001 -h 127.0.0.1

查看: cluster info

集群的一些命令:
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   // 将节点的配置文件保存到硬盘里面

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 槽中的键

关于 redis-trib.rb 中对集群的一些操作命令:

# 删除某个节点
说明:
如果是删除从(Slave)节点,上述命令即可。
如果是删除主(Master)节点,则要看情况:
如果主节点上有从节点,则要将从节点删除或转移到其它主节点上去,该主节点才能被删除。
如果主节点上有槽(Slot),则要将槽删除或转移到其它主节点上去,该主节点才能被删除。

redis-trib.rb del-node <ip>:<port> 'node_id'   // 单引号内放置节点id

#转移槽的方法:
redis-trib.rb reshard <ip>:<port>   // 取消分配的槽(Slot)的节点

参考:

https://blog.csdn.net/yaomingyang/article/details/79045853

https://www.jianshu.com/p/26e61d1161af

http://doc.redisfans.com/topic/cluster-tutorial.html

发布了54 篇原创文章 · 获赞 31 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/u012149894/article/details/89361281
今日推荐