因为只有一台虚拟机, 所以我创建了6个集群节点在一台机器上。 三主 三副
1.创建目录
新建一个redis 集群的文件夹, 在下面创建6个集群分别的文件夹 8001,8002,8003,8004,8005,8006
2.将conf文件拷贝到各自的文件夹中并且进行修改。
把之前的redis.conf配置文件copy到8001下,修改如下内容:
(1)daemonize yes
(2)port 8001(分别对每个机器的端口号进行设置)
(3)dir /usr/local/rediscluster/8001/(指定数据文件存放位置,必须要指定不同的目 录位置,不然会丢失数据)
(4)cluster-enabled yes(启动集群模式)
(5)cluster-config-file nodes-8001.conf(集群节点信息文件,这里800x好和port对 应上)
(6)cluster-node-timeout 5000
(7) # bind 127.0.0.1(去掉bind绑定访问ip信息)
(8) protected-mode no (关闭保护模式)
(9)appendonly yes 如果要设置密码需要增加如下配置:
(10)requirepass **** (设置redis访问密码)
(11)masterauth **** (设置集群节点间访问密码,跟上面一致)
然后将文件拷贝到其他的目录中。并且更改port 可以使用 批量替换 :%s/8001/8005/g
3.分别启动redis 实例
分别启动6个redis实例,然后检查是否启动成功 (1)/usr/redis-5.0.2/src/redis-server /usr/local/redis-cluster/800*/redis.conf (2)ps -ef | grep redis 查看是否启动成功
4.用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redistrib.rb实现)
)/usr/redis-5.0.2/src/redis-cli -a **** --cluster create --cluster-replicas 1 192.168.31.128:8001 192.168.31.128:8002 192.168.31.128:8003 192.168.31.128:8004 192.168.31.128:8005 192.168.31.128:8006 代表为每个创建的主服务器节点创建一个从服务器 节点
-a **** 这个指的是密码
--cluster-replicas 1 这个指的是从机的数量
后面的就是hostname 和 port 端口号了。
Unrecognized option or bad number of args for: '--cluster-replics' : 这个错误代表参数没有打对
5.验证集群
/usr/local/redis-5.0.2/src/redis-cli -a **** -c -h 192.168.0.61 -p 800*
进行验证: cluster info(查看集群信息)、cluster nodes(查看节点列表)
6.关闭集群
可以使用redis-cli shutdown
/usr/local/redis/bin/redis-cli -a ****-c -h 192.168.31.128 -p 8001 shutdown