redis-5.0.6 裸机 三主从 cluster集群部署

前言:

准备三台物理机,每台分别部署两个redis节点,最后使用redis-cli命令创建三主三从集群

部署:

1、安装包下载

wget  http://download.redis.io/releases/redis-5.0.9.tar.gz
mv redis-5.0.9.tar.gz /usr/local/

2、依赖安装

yum  -y install gcc gcc-c++ kernel-devel automake autoconf libtool make

3、编译安装redis

tar -zxvf redis-5.0.9.tar.gz && cd /usr/local/redis-5.0.9
make MALLOC=libc
make install

redis-5.0.6 裸机 三主从 cluster集群部署_第1张图片

注意:如果单独使用make命令报错如下,重新解压压缩包覆盖/usr/local/redis-5.0.9

redis-5.0.6 裸机 三主从 cluster集群部署_第2张图片

4、三台物理机分别启用两个实例

举例一台机器,其他两台物理机同理

mkdir -r /home/disk1/redis-cluster/redis01 /home/disk1/redis-cluster/redis02

cp  /usr/local/redis-5.0.9/redis.conf /home/disk1/redis-cluster/redis01/
cp  /usr/local/redis-5.0.9/redis.conf /home/disk1/redis-cluster/redis02/

分别进入redis01和redis02目录修改redis.conf

你需要修改以下几处,其他根据具体情况自行修改

requirepass redispasswd
masterauth redispasswd    
#不配置这两项,redis集群master节点宕机对应slave不能切换为主
port 9001   #自定义多实例不一致即可
cluster-enabled yes  #是否启用redis集群
cluster-config-file /home/disk1/redis-cluster/redis01/nodes.conf  #redis02就改成02
pidfile /home/disk1/redis-cluster/redis01/redis.pid   
dir /home/disk1/redis-cluster/redis01/  
#数据持久化是否开启
save "" 
#save 900 1
#save 300 10
#save 60 10000
#redis默认开启RDB的,AOF则是默认关闭的。如果需要关闭RDB,将Redis完全作为一个缓存使用,需要修改配置项save。
appendonly no   
#指出是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失,因为redis本身同步数据文件是按上面的save条件来同步的,所以有的数据会在一段时间内只存在于内存中

启用redis多实例

redis-server  /home/disk1/redis-cluster/redis01/redis.conf &  
redis-server  /home/disk1/redis-cluster/redis92/redis.conf & 

其他两台机器同理分别启用两个实例,注意masterauth requirepass需配置一致的密码

5、建立redis-cluster集群

#这里要说明一下,网上很多文章都是用redis-trib,那是古时候的工具,还不支持redis有密码,用redis-cli来建立集群

Scaling with Redis Cluster | Redis

redis-cli -a redispasswd --cluster create IP1:PORT1 IP1:PORT2 IP2:PORT1 IP2:PORT2 IP3:PORT1 IP3:PORT2 --cluster-replicas 1
#--cluster-replicas 1 代表每个master一个副本,也就是三主三从

redis-5.0.6 裸机 三主从 cluster集群部署_第3张图片

6、验证集群建立是否成功及满足高可用条件 

redis-cli -a redispasswd -h IP1 -p PORT1 cluster info  
#查看集群状态是否ok

redis-cli -a redispasswd -h IP1 -p PORT1 cluster node
#查看是否是三主三从
#注意还要观察一下
 两个master是否不在一台物理机上
 一对master slave是否不在一台物理机上

如果都没问题,那就构建完成了具有初步高可用的redis-cluster集群,后续如果出现物理机宕机,恢复时手动调整master slave分配到节点就可以了

你可能感兴趣的:(数据库,redis)