只适用于5.*的redis版本,低于的版本 看其他的把,不要浪费时间。
目前redis为官网最新版本5.0.3
打开官网https://redis.io/
当前最小版本为5.0.3 版本 下载最新版本http://download.redis.io/releases/redis-5.0.3.tar.gz
为什么要使用redis集群呢?
自动的分割不同的数据在不同的节点中,
当集群中某个节点故障的时候 不影响继续操作。
redids cluster 需要开放的tcp端口 ,如客户端连接端口 6379 ,则需要开放6379 和16379,在端口上加10000(节点间通信)
集群中共有slot 16384个,会分配到集群中的节点中。如有三个master节点
salve节点会全量复制master各slot的数据,当master宕机后,slave会成为新的master
集群最少需要3个master,官方推荐 3master,3salve。
上传到目录/usr/local/redis/redis-5.0.3.tar.gz
解压文件 tar -zvxf redis-5.0.3.tar.gz
进入到/usr/local/redis/redis-5.0.3
make
make install PREFIX=/usr/local/redis
这个时候在会生成执行命令/usr/local/redis/bin
在/usr/local/redis/ 分别创建 目录 mkdir 7000 7001 7002 7003 7004 7005
----------------------redis.conf----------------------
vim /usr/local/redis/redis-5.0.3/redis.conf设置下面几个值即可
#后台运行
daemonize yes
#开启集群
cluster-enabled true
#根据你启用的节点来命名,最好和端口保持一致,这个是用来保存其他节点的名称,状态等信息的
cluster-config-file nodes-7000.conf
#单位毫秒如果一个master节点在多少毫秒内不可达,那么久被认为宕机了
cluster-node-timeout 15000
#监听端口,根据你实际监听的端口
port 7000
#aof机制
appendonly yes
#绑定的ip
bind 192.168.1.226
然后把redis.conf分别 拷贝到/usr/local/redis/redis-5.0.3/7000 到 /usr/local/redis/redis-5.0.3/7005几个文件夹中
然后分别到对应的目录下 把redis.conf 执行 vim
:%s/7000/7002/g
把7000替换为7002
全局替换 和 目录保持一致, 比如目录是 7003则 替换为7003
----------------------redis.conf----------------------
创建目录 创建后的目录如图 /usr/local/redis/都在这个目录下
进入bin目录
分别执行./redis-server ../7000/redis.conf
将六个节点分别执行
ps-ef|grep redis 看下是否启动成功6个节点
执行命令
redis-cli --cluster create 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 --cluster-replicas 1
redis 5.x的集群创建不需要ruby环境了
--cluster-replicas 1 命令的意思是创建master的时候同时创建一个slave
会创建一个3master 3slaver的集群
yes 后
看到这说明集群都创建完了