前言
今天咱来搭建一下redis哨兵以及redis集群,给没搭过的朋友一个参考。话不多说,开始。
(1). 下载redis
我下载的是redis4.0版本,
解压后进行make,make后进入src目录下执行make install 看是否成功,如下说明成功
启动redis服务 redis-service
修改一下配置文件进行后台启动,如下改为yes
启动服务
显示服务已经起来了
然后连一下客户端验证一下能否正常使用,如图可以正常使用
搭建哨兵之前需要搭建主从,咱们先搭个一主二从,新建一个conf文件,存放所有的配置文件,把redis.conf复制三份到conf并改名。
修改6380和6381的配置文件的端口号为6380和6381 然后各自添加 slaveof 127.0.0.1 6379
然后启动三个服务
连接客户端测试一下主库放入数据,看一下从库是否能查到
从库可以查到,说明搭建的主从没问题。
哨兵的话打算起三个服务所以为了方便我们也把哨兵的配置文件放到conf下,把sentinel.conf复制到conf下并改名。
然后咱们把哨兵都起一下,三个哨兵都起来后显示如下页面
从日志可以看出哨兵已经起作用了,那怎么验证一下,咱把redis主给停掉试试。
再看一下哨兵日志,发现6380已经为主了
说明咱们搭建的哨兵还是可以使用的。
3.搭建集群
咱们搭建一个伪集群,主要是因为我就一个linux服务器,集群要求最少三个主从节点,所以咱们开6个端口分别为9000,9001,9002,9003,9004,9005,然后新建一个cluster目录,这个目录下咱们存放各个实例的配置文件。
首先修改配置文件把端口从6379修改为9000,9001,9002,9003,9004,9005。 然后把开启集群的注释给打开,我只修改了如下几个配置
1 | arduino复制代码port 9000 //每个配置文件绑定各自的端口号 |
然后全部启动,启动之前咱先看一下目前redis的启动情况,这是之前搭建哨兵的时候启动的。
然后启动9000-9005,如下启动成功
然后启动集群,5.0版本以下的启动集群需要借助ruby脚本,ok启动
哎西吧,报错了,缺少ruby环境,安装ruby环境 yum install ruby
安装完成后再次执行集群脚本命令,还是报错
解决嘛,报错因为没有redis接口,安装的redis接口的时候又报错了,显示ruby的版本太低,那就先解决ruby版本过低的问题,然而我低估了它,解决这个问题花的时间比搭哨兵和集群的时间还长,一步一坑啊。
网上都是执行这个命令
1 | perl复制代码gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |
然后都很顺利的进行下一步了,到我这就不行了,执行后显示
有人说可能是网的问题,然后添加阿里云的源再试试
1 | arduino复制代码gem sources -a http://mirrors.aliyun.com/rubygems/ |
然后执行还是不行,真是脑壳疼,后来看了个小哥的文章,里面说可以手动导入,感觉看见了救星赶紧操作一番。哎西吧最后终于好了,
参考文档www.cnblogs.com/wxzhe/p/107…
最后再次执行集群ruby命令显示
显示成功了,咱试一试进入9000客户端,一定要加 -c 不然集群不好使。
然后咱从9002查一下看能不能查出来
也没问题说明搭建的集群可以使用。
4.总结
redis的哨兵和集群搭建其实还是比较简单的,唯一的一个麻烦的事就是升级ruby的版本,所以如果想搭建集群的话还是推荐用5.0及以上版本吧,直接在客户端就可以执行集群命令。ok 就这样吧。下周见。
本文转载自: 掘金