windows下搭建redis集群及卸载

一、介绍
Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。

二、Redis集群

1、安装ruby环境:需要使用Ruby Gems 中的redis-trib.rb来创建和操作集群。
a.下载地址:https://rubyinstaller.org/downloads/
b.安装目录不允许包含空格;选中三个选项,这样将自动完成环境变量的配置。

c.完成后进入“CMD”输入“ruby -v”如显示版本则代表安装成功

2、Ruby Gems:通过此Ruby包管理来获取操作Redis集群的redis-trib.rb
a.https://rubygems.org/pages/download

b.解压安装包后,执行:ruby setup.rb,然后通过gem -v 验证安装是否成功。

windows下搭建redis集群及卸载_第1张图片

c.为了防止被墙,我们需要把镜像指向新的地址
gem sources --remove https://rubygems.org/ 删掉原来的源
gem sources -a https://gems.ruby-china.org/ 添加新源
gem sources -l 查看现有的源
gem install redis 安装redis依赖
如果出现 SSL Connect error时,是因为ruby 没有包含 SSL 证书,所以 https 的链接被服务器拒绝。

解决方法很简单,首先在这里下载证书 http://curl.haxx.se/ca/cacert.pem, 然后再环境变量里设置 SSL_CERT_FILE 这个环境变量,并指向 cacert.pem 文件。

windows下搭建redis集群及卸载_第2张图片

3、搭建Redis集群
要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。

主节点崩溃,从节点的Redis就会提升为主节点,代替原来的主节点工作,崩溃的主Redis回复工作后,会成为从节点

我的目录:

windows下搭建redis集群及卸载_第3张图片

a.创建Redis集群目录
在redis安装的根目录下创建6个以端口命名的文件夹7000,7001,7002,7003,7004,7005
b.拷贝解压的redis服务(https://github.com/MicrosoftArchive/redis/releases)到端口文件夹中
c.修改每个文件夹中的redis.windows.conf的配置:
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
appendonly yes
cluster-enabled 选项用于开实例的集群模式。
cluster-node-timeout 调整为  15000,那么在创建集群的时候,不会超时。
cluster-config-file nodes-7000.conf 是为该节点的配置信息,这里使用 nodes-端口.conf命名方法。服务启动后会在目录生成该文件。
(前面不要留空格,否则会出现Invalid argument during startup: unknown conf file parameter :  cluster-enabled问题)
d.集群脚本redis-trib.rb(redis源码的src中)放在redis目录中

e.创建各节点服务:

例:C:\RedisCluster\7000>redis-server.exe --service-install redis.windows.conf --service-name redis7000

f.启动每个节点并且执行集群构建脚本
启动各节点,切换到redis目录,在命令行中执行   
redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

在出现 Can I set the above configuration? (type 'yes' to accept):   请确定并输入 yes

4、卸载或重新安装Redis集群

如果需要修改端口号,则需要将原来的Redis各节点的服务器卸载,并重新安装
redis-server --service-uninstall --service-name redis7000
删除对应的数据文件 appendonly.aof和配置文件 nodes-7000.conf

5、两台机器创建6个节点

a.修改配置文件 bind 本机ip  //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法 b.创建集群(其余修改见上方
port  7000                                        //端口7000,7001,7002,    7006, 7007,7008
bind 本机ip                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
//daemonize    yes                               //redis后台运行
//pidfile  /var/run/redis-7000.pid          //pidfile文件对应7000,7001,7002
cluster-enabled  yes                           //开启集群  把注释#去掉
cluster-config-file  nodes-7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志

redis-trib.rb create --replicas 1 172.16.3.57:7000 172.16.3.57:7001 172.16.3.57:7002 172.16.9.218:7006 172.16.9.218:7007 172.16.9.218:7008

这个命令就代表把这些个redis实例创建为一个集群  上面命令中的1代表主节点和从节点的比值是多少,如果12个主节点,6个从节点那么我们的比值就是2,那么我们是3主3从,所以这个比值是1
(如果出现一直等待,查看接口是否互通,防火墙是否关闭)
5、验证
a.在一台机器上连接集群的7000(master)端口的节点,在另一台连接7007(salve)节点
C:\RedisCluster\7000>redis-cli -h 172.16.3.57 -c -p 7000
C:\RedisCluster\7007>redis-cli -h 172.16.9.218 -c -p 7007

b.在7007节点执行命令  set hello world 


c.在另外一台7001端口,查看 key 为 hello 的内容, get hello

windows下搭建redis集群及卸载_第4张图片

你可能感兴趣的:(redis)