Centos7搭建Redis集群(干货!)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Centos7搭建Redis集群(干货!),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3477字,纯文字阅读大概需要5分钟。
内容图文
![Centos7搭建Redis集群(干货!)](/upload/InfoBanner/zyjiaocheng/864/18bb8bb0fe024645b2cd2b5101fda1a3.jpg)
Redis集群搭建
搭建3组,每组一主一从。一共启动6个redis服务。
6台redis服务的端口从 8001 - 8006
前提你已经安装好了redis
1、创建集群目录
mkdir /usr/local/mysoftware/redis/cluster -p
2、把安装redis后产生的bin目录拷贝放到 /usr/local/mysoftware/redis下
cp 你redis生成后的bin目录 /usr/local/mysoftware/redis -r
3、切换到cluser 目录下
cd /usr/local/mysoftware/redis/cluster
4、在cluster目录下创建每个Redis服务对应的文件夹
mkdir 8001
mkdir 8002
mkdir 8003
mkdir 8003
mkdir 8004
mkdir 8005
mkdir 8006
5、把redis.conf文件拷贝到cluser目录下
cp 你redis.conf ./
6、修改redis.conf文件
vim redis.conf
修改内容如下:
7、把redis.conf 拷贝到8001-8006目录下
cp redis.conf ./8001/
cp redis.conf ./8002/
cp redis.conf ./8003/
cp redis.conf ./8004/
cp redis.conf ./8005/
cp redis.conf ./8006/
8、修改8002-8006文件夹下的redis.conf中的8001 改成自己对应的的800x
以8002为例
vim 8002/redis.conf
然后把所有出现的8001 改成8002,完成之后再保存退出。
同理修改8003、8004、8005、8006下的redis.conf文件
9、编写启动脚本
vim start.sh
内容如下:
#!/bin/bash
/usr/local/mysoftwares/redis/bin/redis-server /usr/local/mysoftwares/redis/cluster/8001/redis.conf
/usr/local/mysoftwares/redis/bin/redis-server /usr/local/mysoftwares/redis/cluster/8002/redis.conf
/usr/local/mysoftwares/redis/bin/redis-server /usr/local/mysoftwares/redis/cluster/8003/redis.conf
/usr/local/mysoftwares/redis/bin/redis-server /usr/local/mysoftwares/redis/cluster/8004/redis.conf
/usr/local/mysoftwares/redis/bin/redis-server /usr/local/mysoftwares/redis/cluster/8005/redis.conf
/usr/local/mysoftwares/redis/bin/redis-server /usr/local/mysoftwares/redis/cluster/8006/redis.conf
10、执行启动脚本
bash start.sh
查看进程
ps -ef | grep redis
11、创建集群
你启动了6个redis服务,此时的每个redis是没有关联的,所以这里需要指定。
cd ../ #先切到到上一级目录
./bin/redis-cli -a luanbu --cluster create 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003 127.0.0.1:8004 127.0.0.1:8005 127.0.0.1:8006 --cluster-replicas 1
注:参数解释
bin/redis-cli --help
-a是指定密码
因为我们一开始的配置文件中指定了密码,所以这里需要加上-a luanbu,不然操作不了。
–cluster
bin/redis-cli --cluster help
cluster有子命令,可以通过上面命令查看
–cluster-replicas 1
最后面的数字是指每个master带有多少个slave从结点。
这里最后的数是1,那就是每个master结点有一个slave从结点。如果最后的数字是2,那么代表每个master对应2个slave从结点。
这里就是建立关联的过程:我们一共是6个redis服务,然后我们配置 每个master对应1个从结点,那么 6 / 2 = 3,那么系统就会为我们分配3组,每组是一个master和一个slave。
12、连接测试
通过下面命令连接集群中的其中一个客户端。
./bin/redis-cli -c -p 8001 -a luanbu
注: -c是以集群模式启动客户端。默认是单机模式去连接redis服务
切记勿漏 -c 和-a参数。
redis集群一共有16384个插槽,我们一共是3组,每组对应5000多个连续插槽,每组在其插槽范围内操作。当我们进行set k v的时候,系统会根据k计算出对应的插槽号,如果插槽号在我们当前的8003中,那么一切ok,但是如果插槽号不在8003所管范围中,那么就会切换到其它例如8002或8001上去处理,如果你不使用-c,那么如果计算出的key插槽号不在我们当前8003所管理的插槽号范围时,且因为我们是非集群模式启动客户端,即此时是单机模式的客户端,此时我们就不能切换到对应的8003或8001上,即此时就会写操作失败。
13、模拟宕机,测试是否自动实现故障转移
8002是主结点,8004是8002的从结点。
这里模拟8002宕机,观察8004是否会自动升级为master结点。
结论:但master结点宕机后,slave结点会升级成master结点
14、模拟假设情况
结论:如果出现假死情况,原本的master 再次活过来后会变成slave。三十年河东、三十年河西,以前的随从变成现在自己的主人
15、查看产生的数据文件。
内容总结
以上是互联网集市为您收集整理的Centos7搭建Redis集群(干货!)全部内容,希望文章能够帮你解决Centos7搭建Redis集群(干货!)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。