redis集群部署(三主三从)

本文不从redis集群原理级别讲解集群部署的细节,只记载如何部署集群。

根据官方的建议,推荐的集群模式是:三主三从的集群部署方式。

本文所用的linux系统是centos 7,64位系统。redis的版本是redis-4.0.8.tar.gz。

本文的redis版本是4.0以上的,后续安装集群需要安装ruby软件包的,如你的redis版本是5.0以上的,请忽略本文。

6台linux的主机ip:

192.168.13.21、192.168.13.22、192.168.13.23、192.168.13.24、192.168.13.25、192.168.13.26。

redis对应的端口号:

6379 6380 6381 6382 6383 6384。

防火墙需要关闭,执行一下命令:

systemctl status firewalld.service  #查看防火墙

systemctl stop firewlld.service    #关闭防火墙

禁止firewall开机启动

systemctl disable firewalld.service

1、单redis安装

  1. 上传redis-4.0.8.tar.gz到服务器特定目录。
  2. 解压上述目录的tar.gz到/usr/local/java/这个目录:tar -zxvf redis-4.0.8.tar.gz -C /usr/local/java/。
  3. yum -y install gcc #如果没有gcc编译容器则需要安装。检查gcc环境是否安装好:rpm -qa | grep gcc。
  4. 在/usr/local/java/下,编译,获取可执行文件:make。编译时如果出错:zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory,请执行命令:make MALLOC=libc。
  5. 在/usr/local/java/下,安装:make install。
  6. 修改redis.conf文件。如果你只安装单机版的redis,有些配置需要改动,改动的地方有:
    1. protected-mode no。修改之后可以远程访问。
    2. daemonize yes。修改之后可以后台启动。
    3. bind 127.0.0.1,这个需要注释掉:#bind 127.0.0.1。
  7. 题外话,如果后续搭集群,请根据上述操作搭好六台机器。

2、创建集群

1、创建集群配置、log日志、数据所在的文件夹:/usr/local/java/redis-4.0.8/cluster-conf,六台机器请进行同样操作。

2、在该目录下,第一台机器创建6379文件夹,命令:mkdir 6379。第二至第六台,依序创建6379 6380 6381 6382 6383 6384文件夹。

3、复制配置文件到/root/svr/redis-3.2.9/cluster-conf/6379(6380|6381|6382|6383|6384)目录下:
cp /usr/local/java/redis-4.0.8/redis.conf  /usr/local/java/redis-4.0.8/cluster-conf/6379
cp /usr/local/java/redis-4.0.8/redis.conf  /usr/local/java/redis-4.0.8/cluster-conf/6380
cp /usr/local/java/redis-4.0.8/redis.conf  /usr/local/java/redis-4.0.8/cluster-conf/6381
cp /usr/local/java/redis-4.0.8/redis.conf  /usr/local/java/redis-4.0.8/cluster-conf/6382
cp /usr/local/java/redis-4.0.8/redis.conf  /usr/local/java/redis-4.0.8/cluster-conf/6383
cp /usr/local/java/redis-4.0.8/redis.conf  /usr/local/java/redis-4.0.8/cluster-conf/6384

4、修改6379目录下redis.conf配置文件,重点修改的参数如下:

port 6379
pidfile /var/run/redis_6379.pid
logfile "/usr/local/java/redis-4.0.8/cluster-conf/6379/redis.log"
dir /usr/local/java/redis-4.0.8/cluster-conf/6379/
cluster-config-file nodes-6379.conf

cluster-enabled yes
cluster-node-timeout 5000
appendonly yes

5、其它五台机器,请在相应配置文件下,把6379替换成6380、6381、6382、6383、6384。

6、启动每台机器的redis:

redis-server /usr/local/java/redis-4.0.8/cluster-conf/6379/redis.conf &

查看状态是否:ps -ef|grep redis

7、创建集群

./src/redis-trib.rb create --replicas 1 192.168.13.21:6379 192.168.13.22:6380 192.168.13.23:6381 192.168.13.24:6382 192.168.13.25:6383 192.168.13.26:6384

无法创建,提示错误信息。查看是没有安装ruby这个插件。集群创建的程序文件是redis-trib,rb是由ruby来编写的,需要安装插件:

yum install ruby 或者 yum install -y curl ruby

后续操作需要执行下该命令:gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

安装ruby完毕接着执行上面的创建集群命令,报错,这时候需要安装一些和ruby与reids相关程序包和类库。

yum install rubygems

gem install reids

执行完毕后,一般会报以下提示:

ERROR:  Error installing redis:
    redis requires Ruby version >= 2.2.2.

报错,提示ruby版本需要大于2.2.2版本。CentOS7 yum库中ruby的版本支持到 2.0.0,可gem 安装redis需要最低是2.2.2。

查看ruby的版本:

解决方法:升级ruby的版本。执行命令curl -L get.rvm.io | bash -s stable。

一般情况,由于某些原因,我们并不能正常访问该网站,所以需要执行一些操作。

通过修改hosts解决此问题。

查询该网站的真实IP

登录https://www.ipaddress.com/网站查询raw.githubusercontent.com的真实IP。

去hosts文件修改一些东西:

重启下该台服务器,执行curl -L get.rvm.io | bash -s stable命令。

有些时候,执行上述命令还需要执行一下操作:

根据提示增加引用

 curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

 curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

再一次获取rvm.io,就会成功。

查找配置文件:find / -name rvm.sh

使配置文件生效:source /etc/profile.d/rvm.sh

下载RVM依赖: rvm requirements

再次查看配置文件:find / -name rvm -print

查看rvm列表:rvm list known

安装  rvm 的 v2.4.6,速度较慢,耐心等待。

配置环境变量

删除旧版本的ruby

查看最终版本

[root@node001 ~]# ruby --version
ruby 2.4.6p354 (2019-04-01 revision 67394) [x86_64-linux]


执行命令:gem install reids

RVM (ruby-2.4.6)安装操作完毕。

六台服务器分别执行命令:

redis-server /usr/local/java/redis-4.0.8/cluster-conf/6379/redis.conf &
redis-server /usr/local/java/redis-4.0.8/cluster-conf/6380/redis.conf &
redis-server /usr/local/java/redis-4.0.8/cluster-conf/6381/redis.conf &
redis-server /usr/local/java/redis-4.0.8/cluster-conf/6382/redis.conf &
redis-server /usr/local/java/redis-4.0.8/cluster-conf/6383/redis.conf &
redis-server /usr/local/java/redis-4.0.8/cluster-conf/6384/redis.conf &

在21这台机执行命令:

./src/redis-trib.rb create --replicas 1 192.168.13.21:6379 192.168.13.22:6380 192.168.13.23:6381 192.168.13.24:6382 192.168.13.25:6383 192.168.13.26:6384

如有提示上图,代表集群安装成功。

下面测试集群效果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值