Redis4.0.2集群环境搭建

                                               Redis集群安装配置

为了实现redis高可用性。使用三台虚拟机来实现redis的集群环境安装

1.redis集群架构图

Redis版本 redis-4.0.2

三台服务器:分别为192.168.112.128、192.168.112.129、192.168.112.131

           

 

 

 

 

2.软件安装

1)         tar  -zxvf  redis-4.0.2.tar.gz

2)         cd redis-4.0.2

3)         make && make install

3.集群环境安装

1)         首先在192.168.112.128机器上 /opt/renzl/redis 目录下创建 redis_cluster 目录;

                   mkdir redis_cluster

2)         进入redis_cluster目录,分别创建7000、7001两个文件夹

            mkdir 7000 

3)         然后拷贝redis.conf文件到7000目录下

cp  /opt/renzl/redis-4.0.2/redis.conf  /opt/renzl/redis

第一个路径为解压路径

第二个路径为redis安装路径

4)         别的机器全部执行以上命令或者在一台机器配置完成通过scp命令复制,进行修改

5)         所有机器安装完成后进行如下配置以192.168.112.128  7000为例

vim /opt/renzl/redis/redis_cluster/7000/redis.conf

port  7000                                        //端口7000,        
bind 192.168.112.128                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes                               //redis后台运行
pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,可选
cluster-enabled  yes                           //开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000
cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

6)         重复以上操作,直至所有的配置文件修改完成

7)         分别启动redis服务

redis-server redis_cluster/7000/redis.conf  //实际路径自己调整

每台机器的两个端口启动

8)         通过命令查看是否启动成功

ps -ef | grep redis
正常启动完成后,开始创建集群

9)         创建集群

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,复制到一台服务器上如:192.168.112.128

cp /opt/renzl/redis-4.0.2/src  /opt/renzl/redis

10)      在执行命令前,需要安装ruby 安装过程忽略,但是必须安装ruby2.2以上版本,否则在创建集群时会提示版本有问题。

11)      通过命令来创建集群环境

./redis-trib.rb create --replicas  1  192.168.112.128:7000(所有启动的redis实例,使用空格隔开)

给定 redis-trib.rb 程序的命令是 create,表示创建一个新的集群。选项 --replicas 1 表示为集群中的每个主节点创建一个从节点。之后跟着的其他参数则是实例的地址列表, 指定使用这些地址所指示的实例来创建新集群。

12)      创建成功

“All 16384 slots covered.”表示集群中的 16384 个槽都有至少一个主节点在处理, 集群运作正常。从打印出来的信息也可以看出,7000,7002,7004是主节点,其它三个是从节点。

13)      通过客户端连接redis服务器

./redis-cli -h 192.168.112.128 -c -p 7000

加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。

14)      集群验证

set name renzl

 

 

会用CRC16算法来取模得到所属的slot,然后将这个key 分到哈希槽区间的节点上,

如果这个时候能过命令来获取将得到如下变化:

连接会自动切换到192.168.112.131:7002上

 

 

posted on 2017-12-12 09:17  云野  阅读(296)  评论(0编辑  收藏  举报