最全Redis三主三从集群环境搭建教程

        本人在实际开发中因为业务的需求,需要用到redis缓存机制,首先需要搭建一个集群的环境(毕竟实际环境中是不会采用单节点或者一主一从模式,为了保证高可用),虽然网上有大量的帖子,但都感觉不是很全面,安装搭建的过程中总是会出现各种各样的问题,这里因本人亲测成功,将搭建的过程记录下来,一同学习进步

1.首先需要下载redis的源码包,因为这里的安装是以源码编译的方式安装的(另外两种是yum和rpm,可以自己了解一下)

官网下载即可。这里下载的版本是  redis-3.0.7.tar.gz

2.下载好源码包可以通过Xftp文件上传的工具将压缩包上传到linux环境中,这里存放在linux环境的 /usr/local/software路径下(software是存放所有搭建环境的安装包的一个文件,自己创建定义名字即可),上传之后如下图:

3.创建搭建集群环境的目录以及文件夹

cd  /usr/local

mkdir  redis-cluster集群环境搭建的文件目录)

4.因为是三主三从的集群模式,所以需要六个节点,这里在redis-cluster文件下创建六个子文件,以六个节点各自的端口号命名;例如:

mkdir 6001;

mkdir 6002;

mkdir 6003;

mkdir 6004;

mkdir 6005;

mkdir 6006;

5.前期工作都准备就绪,下面开始编译安装redis.

cd /usr/local  路径下创建一个文件

mkdir  install  (用来存放源码编译包)

6.解压到对应的安装目录

tar -zxvf redis-3.0.7.tar.gz -C /usr/local/install

7.解压缩完毕,找到对应的文件redis-3.0.7进行相应的编译,当然若是自己的计算机第一次编译,还是需要安装gcc的编译环境

yum install gcc-c++

安装完毕之后再进行相应的编译

cd redis-3.0.7

make

8.创建存放安装包的文件

mkdir  redis

9.编译完成进行相应的安装

make PREFIX=/usr/local/redis install

安装完毕会在redis目录下看到一个bin文件

10.源码包编译文件中拷贝一个配置文件

cd  /usr/local/install/redis-3.0.7

cp  redis.conf  /usr/local/redis

至此基本的redis安装完毕

11.切换到redis的安装目录,对bin文件和redis.conf进行压缩打包

tar -zcvf bin.tar.gz bin redis.conf

12.分别将打包好的bin.tar.gz拷贝到准备集群环境的文件目录下,六个节点拷贝六份,这里之所以这么做,是为了便于后面稍微方便的redis启动,当然后面用一个脚本一同启动所有的节点方式更好,这里就先简单粗暴的这么拷贝了。

cp bin.tar.gz /usr/local/redis-cluster/6001;

cp bin.tar.gz /usr/local/redis-cluster/6002;

cp bin.tar.gz /usr/local/redis-cluster/6003;

cp bin.tar.gz /usr/local/redis-cluster/6004;

cp bin.tar.gz /usr/local/redis-cluster/6005;

cp bin.tar.gz /usr/local/redis-cluster/6006;

13.解压

tar -zxvf bin.tar.gz

14.接下来需要对六个配置文件做出相应的修改,这里简单说明,六个文件的修改参数基本一致,下面以端口号6001的为例,其余五个配置的时候基本参考6001,只是各自的端口号需要按照各自的来修改,下面是配置文件的配置:

vim  redis.conf

14.1)设置redis会后台启动.找到daemonize no 修改为 daemonize yes。

14.2)找到port参数,修改为对应节点目录的端口号;本次修改为6001目录下的,所以修改为6001。

14.3)找到bind参数,改为自己本机的ip地址,如:bind 192.168.1.101

14.4)找到dir参数,此参数为本地存放数据文件的路径,改为自己本地保存文件的路径即可,这里改为:dir /usr/local/redis-cluster/6001/

14.5)启动集群模式。找到cluster-enabled 参数,修改为 cluster-enabled yes。

14.6)找到appendonly  noc参数,修改为appendonly  yes 

14.7)设置集群的配置文件路径 ,cluster-config-file nodes600*.conf。(600*代表每个节点的目录对应的位置),本次修改为6001,如:cluster-config-file nodes-6001.conf

配置文件基本修改完毕,其余五个配置文件参考此文件做出相应的修改,其实主要修改各自文件的端口号即可,找到6001的地方改为各自文件的端口号,其余配置保持不变

15.因为redis集群环境的搭建需要依赖ruby,所以还需要安装ruby的环境

安装ruby
  yum install ruby
  yum install rubygems

这两步基本不会出错,重点来了,第三步下载安装安装ruby和redis的接口程序时候报错了

        gem install redis

意思就是安装redis需要ruby版本最低是2.2.2,而centos yum库中ruby版本支持到2.0.0,所以需要手动安装。解决办法是 先安装rvm,再把ruby版本提升至更高的版本

16.安装curl

yum install curl

17.安装RVM

curl -L get.rvm.io | bash -s stable 

(本人在执行这一步的时候第一次没有成功,不知道是否是网络的原因,重试了第二次就可以了,所以建议参考者不成功的时候也可以多尝试一下)

18.强制加载一下rvm

source /usr/local/rvm/scripts/rvm

19.查看rvm库中已知的ruby版本

rvm list known

如下图展示

20.选择一个版本进行安装

rvm install 2.4.1

此安装过程比较漫长,需要耐心等待

21.等到安装成功之后,再执行使用一个ruby版本

rvm use 2.4.1

至此符合要求的ruby环境安装完毕

可以输入  ruby --version  命令检查安装好的最新版本号

22.ruby环境安装完毕之后再次安装ruby和redis的接口程序

gem install redis

这一次肯定会看到安装成功的界面了,那么恭喜你,你已经基本成功了,不过还需要接下来简单的几步来实现集群;若还是不成功,建议参考一下这篇文章,笔者参考的就是这篇文章:

https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-centos-6-with-rvm

23.将六个节点的redis-server服务全部启动起来,这里采用的是后台启动,具体启动命令为,

首先

cd /usr/local/redis-cluster/6001

然后 

./bin/redis-server ./redis.conf

六个节点都是同样的启动方式(这里说一下,这种启动方式略显麻烦,后面可以自己写一个脚本,双击之后六个节点全部启动)

24.查看六个节点的服务是否全部启动成功

25.接下来就是将六个节点连接起来构建起来集群,cd到源码包编译的路径下面,找到src

cd  /usr/local/install/redis-3.0.7/src

执行如下脚本

./redis-trib.rb create --replicas 1 192.168.1.101:6001 192.168.1.101:6002 192.168.1.101:6003 192.168.1.101:6004 192.168.1.101:6005 192.168.1.101:6006

 这时候需要输入一个yes确认的命令确认组件集群,如下图:

26.集群组建成功,我们连接任意一个节点,这里笔者以6003为例:

cd  /usr/local/redis-cluster/6003

./bin/redis-cli -c -h 192.168.1.101 -p 6003

如下图连接成功

27.输入命令"cluster info" 或者"cluster nodes "可以查看集群状态;如下图可以看到集群已经搭建完毕。

 

至此redis集群环境搭建完毕。

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值