redis5.0 --- 3主6从集群搭建
redis下载:
https://redis.io/download
安装依赖
yum install gcc
下载redis-5.0.5.tar.gz 上传到ip为192.168.0.111 下的/usr/local/src/redis
3. 解压redis : tar -zxvf redis-5.0.5.tar.gz
4. 进入 /usr/local/src/redis/redis-5.0.5目录下
a . 编译并安装 : make & make install
b.创建cluster文件夹 : mkdir cluster
c.进入cluster 创建7000~7008文件夹 : mkdir 7000 7001 7002 7003 7004 7005 7006 7007 7008
d.进入redis-5.0.5目录,复制一份redis.conf文件到文件夹7000 ,并重命名为redis-7000.conf ]
cp redis.conf cluster/7000/redis-7000.conf
e.配置redis-7000.conf
1) 将69行的绑定ip注释掉 ,效果如下
2) 将88行的保护模式改为no(为不保护),并将92行的端口改成7000
3) 将136行改成yes(为后台进程模式)
4) 将 158行pid目录改成 7000的目录
/usr/local/src/redis/redis-5.0.5/cluster/7000/redis_7000.pid
5) 将253行的持久化文件存储的文件名改成 dump-7000.rdb(默认持久化文件方式)
6)将263还是那个的dir改成7000的目录
7) 这里将569行的最大内存改为30M
8) 将600行的内存管理策略改成 allkeys-lru (从全部数据中挑选最近最少使用的数据删除)
9) 将 835 行的 "#" 号去掉 (开启集群模式)
10) 将843 行的文件名改为nodes-7000.conf
11) 将端口为7000 配置好的文件复制到 7001~7008 ,并将文件名分别改为 7001~7008
12 ) 分别进入7001~7008 更改配置文件的7000为 对应的7001~7008
批量改端口 : %s/7000/7001/g --- 说明:将文件中的所有为7000的字符串改成7001
13 ) 分别启动7000~7008端口的redis服务
说明 : 进入cluster 目录下 用redis-server 7000/redis-7000.conf 启动端口为7000的redis服务,其他端口将此命令的7000 改为其他端口启动即可
redis启动情况如下
用redis-cli 搭建redis集群 (redis5.0 以前用ruby配置主从)
redis-cli --cluster create --cluster-replicas 2 192.168.0.111:7000 192.168.0.111:7001 192.168.0.111:7002 192.168.0.111:7003 192.168.0.111:7004 192.168.0.111:7005 192.168.0.111:7006 192.168.0.111:7007 192.168.0.111:7008
到下面的步骤时 必须输入yes
显示以下内容为集群创建成功
最后一步测试 :
1.进入 端口为7000的redis : redis-cli -p 7000
查看redis 信息 : info replication
说明: 端口为7000的redis服务为主服务器,从服务器为端口为7007和7008的redis服务
2 . 现在杀死端口为7000的redis主服务器 看redis 服务是否能从两个从服务器中推选出其中只以为主服务器 , 若能推选出 , 则集群环境搭建成功,否则 搭建失败
杀死 端口为7000的服务器
首先查看redis各端口的PID进程号
用kill -15 14672 命令杀死进程 端口7000 已被杀死:
然后进入端口为7007或者7008的redis服务
说明 : 7007端口为主服务器 从服务端口为7008
再次启动7000端口的服务
查看7007 是否为主服务器,7000和7008的redis服务是否为从服务器
进入端口为7007 的redis服务
如果在set值是出现
进入服务器时 用此命令 : redis-cli -c -p 7007
补充遗漏点 - redis 持久化策略 : https://www.jianshu.com/p/141391de2d3c