Redis三台虚拟机搭建三主三从:

首先准备好三台拥有redis环境的虚拟机

接下来就可以搭建三主三从的redis集群,为了缓解压力,不可能起六台虚拟机部署,所以一台虚拟机上就是一台主机一台从机,端口不一样,首先大致这样分配,

192.168.10.131这台机器上主机端口为6391,从机端口为6392;

192.168.10.132这台机器上主机端口为6393,从机端口为6394;

192.168.10.133这台机器上主机端口为6395,从机端口为6396;

但是最终启动是谁是谁的从机不一定,可能6394是6391的从机,这个是集群内部分配的

第一步:

首先在redis的安装路径下新建一个文件夹cluster

比如我的是这样,可以使用xftp新建,也可以使用命令(每一台都一样)

 

第二步:

在cluster目录下创建两个.conf文件夹,名字自己取,这里面配置的是主机以及从机的配置文件,启动的时候加载不同文件,则启动不同的机器

比如我的是这样:

 

对应内容:

 

上述截图命令如下,注意对应端口号位置都修改成自己的(每台虚拟机都需要改)

bind 0.0.0.0

daemonize yes

protected-mode no

port 6392

logfile "/usr/local/redis/redis-4.0.9/cluster/cluster6392.log"

pidfile /usr/local/redis/redis-4.0.9/cluster6392.pid

dir /usr/local/redis/redis-4.0.9/cluster

dbfilename dump6392.rdb

appendonly yes

appendfilename "appendonly6392.aof"

cluster-enabled yes

cluster-config-file nodes-6392.conf

cluster-node-timeout 5000

第三步:

在对应虚拟机的redis安装目录下执行

redis-server  cluster/redis-6391.conf

redis-server  cluster/redis-6391.conf

将服务起起来

执行ps -ef|grep redis

就可以看到如图所示,代表当前虚拟机上有两个redis服务,对应端口号后面的[cluster]表示是以集群的形式启动的(同样,三台虚拟机都是同样的操作)

 

第四步:

构建集群中的主从关系:

 ./redis-trib.rb create --replicas 1 192.168.10.131:6391 192.168.10.131:6392 192.168.10.132:6393 192.168.10.132:6394 192.168.10.133:6395 192.168.10.133:6396 

运行这个命令可以会出错,原因是没有安装ruby

接下来介绍一下ruby安装:

  1. 上传ruby的压缩包到linux的root目录下(切记ruby的版本需要高于2.0)

对应的安装包网上随便搜一下就可以下载,我这里以ruby-2.7.5.tar.gz为例

2.在root目录下  直接解压 ruby-2.7.5.tar.gz 即可

3.进入ruby解压目录执行命令(这里比较耗时,而且CPU基本上都是百分百跑满)

   3.1 ./configure

   3.2 make

   3.3 sudo make install

4.查看ruby版本信息

    ruby -v

5.需要安装redis 的gem环境(redis-3.2.0.gem这个安装包也是网上一搜就有)

   上传redis-3.2.0.gem 到linux的root目录下opt目录下

   然后在opt目录下执行命令

     gem install --local redis-3.2.0.gem

然后就可以进入redis安装目录的src目录下去配置redis集群(这里也要修改成自己的ip以及端口号)

     ./redis-trib.rb create --replicas 1 192.168.10.131:6391 192.168.10.131:6392 192.168.10.132:6393 192.168.10.132:6394 192.168.10.133:6395 192.168.10.133:6396 

 

如此,三主三从就搭建好了

可以通过 redis-cli -p 6391进入redis,用info replication查看当前虚拟机端口为6391的信息,(不建议用info,那样消息太多,看得眼花)

 

使用cluster nodes命令查看当前集群信息,可以看到谁是谁的从机,比如这里6391的id为

2e8b417656f1511473214724bcc0c0f5bba1ad77,可以看到6394这台从机后面对应的主机id就是2e8b417656f1511473214724bcc0c0f5bba1ad77,所以94这台从机就是91主机的从机

 

使用cluster info 查看集群信息,比如有6台机器等,

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值