前言:这两天心血来潮,准备使用Redis来做缓存存储,因之前没有使用过,故在网络上搜索了相关资料及感谢各位博友的帖子。最终完成了Redis的安装与集群配置,作此记录

环境:

1.Centos 7、

2.Redis 4.0.1 

3.VMware


安装Redis:

下载Redis包、解压、安装

[root@localhost /]# cd /usr/local
[root@localhost local]# wget http://download.redis.io/releases/redis-4.0.1.tar.gz
[root@localhost local]# tar -zxvf redis-4.0.1
[root@localhost local]# cd redis-4.0.1
[root@localhost redis-4.0.1]# make
[root@localhost redis-4.0.1]# make install PREFIX=/usr/local/redis

创建Redis节点:

在server1上的redis目录下创建redis-cluster目录

[root@localhost redis]# mkdir redis-cluster

在redis-cluster目录下创建各节点目录,如:

[root@localhost redis-cluster]# mkdir 7000 7001 7002

把redis-4.0.1目录下的redis.conf文件分别复制到7000、7001、7002目录下:

[root@localhost redis-4.0.1]# cp redis.conf /usr/local/redis/redis-cluster/7000
[root@localhost redis-4.0.1]# cp redis.conf /usr/local/redis/redis-cluster/7001
[root@localhost redis-4.0.1]# cp redis.conf /usr/local/redis/redis-cluster/7002

分别修改这三个目录下的redis.conf文件:

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

然后在其它的server上按照上面几个步骤配置即可。

启动各服务器上的各节点的redis:

[root@localhost bin]# ./redis-server /usr/local/redis/redis-cluster/7000/redis.conf
[root@localhost bin]# ./redis-server /usr/local/redis/redis-cluster/7001/redis.conf
[root@localhost bin]# ./redis-server /usr/local/redis/redis-cluster/7002/redis.conf

查询各redis节点进程:、

[root@localhost bin]# ps -ef |grep redis     //redis 是否启动成功
[root@localhost bin]# netstat -tnlp | grep redis    //监听redis端口

redis集群的proxy模式搭建 redis 集群 配置_Redis


关闭防火墙:

通过firewall-cmd --state命令查看防火墙启动状态:runnig :开启 ,not running:关闭

注意:Centos 7关闭防火墙与Centos 6有所不同

今天先到这里,明天继续。。。。。。

接着昨天。。。。。。。。。。。



构建集群

安装Ruby:

Redis提供了建构集群工具:redis-trib.rb,这是用Ruby开发的,所以我们需要安装Ruby来执行redis-trib.rb,在Centos 7中,通过yum来安装ruby的版本是2.0,在执行:gem install redis时提示:“redis requires Ruby version >= 2.2.2”,所以我们需要安装高版本的,如:2.2、2.3、2.4。。。


创建集群:

我们通过Redis提供的redis-trib.rb来进行创建,首先进入到redis-4.0.1目录下的src目录:

[root@localhost src]# ./redis-trib.rb create --replicas 1 192.168.0.200:7000 192.168.0.200:7001 192.168.0.200:7002 192.168.0.201:7003 192.168.0.201:7004 192.168.0.201:7005
前三个端口7000、7001、7002是192.168.0.200的三个节点,后三个是192.168.0.201服务的三个节点

说明:--replicas参数指定集群中每个主节点配备几个从节点,这里设置为1。

       这里因为测试,只用了2台机器,如果部署节点使用不同的IP地址,redis-trib-rb会尽可能保证主从节点不分配在同一台机器下,

       因此会重新排序节点表顺序。节点列表顺序用于确定主从角色,先主节点之后是从节点。

执行上面的命令后:

redis集群的proxy模式搭建 redis 集群 配置_Redis_02

会提示输入yes,继续

redis集群的proxy模式搭建 redis 集群 配置_redis集群的proxy模式搭建_03

注:由于我已经安装了集群,我这里就不再重复安装,所以这两张图是借用别人的,请谅解。


验证集群

首先我们先连接到第一台服务器上如:

##加参数 -C 可连接到集群,因为 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略,-p 参数为端口号
[root@localhost bin]# ./redis-cli -h 192.168.0.200 -c -p 7000


在这个节点是设置一个Key和Value

然后在另一台服务器连接7004接点:

redis集群的proxy模式搭建 redis 集群 配置_redis集群的proxy模式搭建_04

在其它几个节点中通过第一个服务器节点上设置的key值name来获取key对应的值。

OK,集群搭建成功。