redis集群搭建

搭建redis集群,拓扑规划

在这里插入图片描述在这里插入图片描述

步骤一:准备集群环境

[root@redisA ~]# yum -y install gcc gcc-c++ make 
[root@redisA redis]# tar -xf redis-4.0.8.tar.gz 
[root@redisA redis]# cd redis-4.0.8/
[root@redisA redis-4.0.8]# make && make install 

[root@redisA redis-4.0.8]# ./utils/install_server.sh

Installation successful!        //安装成功

[root@redisA redis-4.0.8]# ss -antlp | grep 6379    //查看时有端口

修改配置文件,6台redis服务器都要修改(以51为例子)

[root@redisA redis-4.0.8]# /etc/init.d/redis_6379 stop        
//停止已经开启的redis服务

[root@redisA redis-4.0.8]# vim /etc/redis/6379.conf
...
bind 192.168.4.51            //修改ip
port 6351            //不允许相同,只指定物理接口的ip
daemonize yes             //以守护进程方式运行
pidfile /var/run/redis_6351.pid 
cluster-enabled yes         //是否启用集群,前提是以守护进程方式运行
cluster-config-file nodes-6351.conf        
//存储集群信息的配置文件,自动生成,不允许相同
cluster-node-timeout 5000            //集群节点通信超时时间
...

[root@redisA redis-4.0.8]# /etc/init.d/redis_6379 start   //启动服务

[root@redisA redis-4.0.8]# ss -antlp | grep 6351   //查看有端口

[root@redisA redis-4.0.8]# ps -C redis

查看集群信息

[root@redisA redis-4.0.8]# redis-cli  -h 192.168.4.51 -p 6351
192.168.4.51:6351> ping
PONG

192.168.4.51:6351> cluster info
192.168.4.51:6351> cluster nodes

步骤二:创建集群(在任意一台上执行创建集群的脚本都可以)这里在51上面执行

需要安装两个软件包

1)部署ruby脚本运行环境(在51上面执行)

[root@redisA redis-cluster]# yum -y install  ruby rubygems

[root@redisA redis-cluster]# rpm -ivh –nodeps  ruby-devel-2.0.0.648-30.el7.x86_64.rpm

[root@redisA redis-cluster]# which gem
/usr/bin/gem
[root@redisA redis-cluster]# gem install redis 

2)生成创建集群的脚本

[root@redisA redis-cluster]# cd /root/redis/redis-4.0.8/src/
[root@redisA src]# cp redis-trib.rb /usr/local/bin/

3)创建集群

[root@redisA src]# redis-trib.rb  create --replicas 1 \ 
192.168.4.51:6351  192.168.4.52:6352 \ 
192.168.4.53:6353 192.168.4.54:6354  \ 
192.168.4.55:6355 192.168.4.56:6356
//--replicas 1 给每一个主配置一个从库

4)查看集群信息,任意一台主机访问本机的redis服务查看即可
cluster info 查看集群信息
cluster nodes 查看集群节点信息

[root@redisA log]# redis-cli  -h  192.168.4.52  -p  6352 

192.168.4.52:6352> CLUSTER INFO     //状态
192.168.4.52:6352> CLUSTER NODES        //查看集群节点信息

5)测试集群
命令:redis-cli -c -h ip地址 -p 端口

[root@redisA log]# redis-cli  -c -h 192.168.4.51 -p 6351

**

集群不能用的情况:

有半数或者半数以上的主库机器挂掉,集群就不能用了 把一个从库升级成主,没有从库,集群不能用(前提是:有半数或者半数以上的主库机器挂掉) 一个主库挂掉,它的从库自动顶替为主库,正常使用(前提是:有半数或者半数以上的主库机器能用),挂掉的主库修复好后,会成为从库,不会抢占为主

6)集群节点选举策略(三主,三从)
停止某个主库的redis服务,对应的从库会自动升级为主库

[root@redisA log]# redis-cli  -c -h 192.168.4.51 -p 6351
192.168.4.51:6351> CLUSTER  nodes   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值