在Redis 5中进行Cluster的构建

使用Redis 5来构建集群

我想测试一下在本地环境中使用ElastiCache进行故障转移等验证,但由于缺乏相关的详细资料,所以我将留下备忘录。

环境

操作系统:CentOS 7
主节点:3个
从节点:3个

我们将在1个操作系统上建立一个主服务器和一个从服务器。

因为我尝试创建两个Master时被责备了,所以我改成了三个。
使用ElastiCache的话,本来可以做两个分片的。

前提

    • firewalldが止まってるか、6379、6380、16379、16380が解放されいる

 

    selinuxが無効になっている

安装

由于默认的yum存储库中没有Redis 5,因此需要添加epel和remi存储库。

yum -y install epel-release
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

请确认 redis 包的版本。
如果 Version 大于等于 5,则可以。

yum info redis --enablerepo=remi

然后进行安装。

yum -y install redis --enablerepo=remi

设定

为了在服务器上启动两个Redis,我们需要准备两个配置文件。

mkdir -p /opt/redis/6379 /opt/redis/6380

cp -p /etc/redis.conf /opt/redis/6379/
cp -p /etc/redis.conf /opt/redis/6380/

我们将覆盖设置以使其在6380端口上运行。

sed -i 's/6379/6380/g' /opt/redis/6380/redis.conf

将集群模式设置为“On”,并更改监听网络端口。

sed -i 's/# cluster-enabled yes/cluster-enabled yes/g' /opt/redis/6379/redis.conf
sed -i 's/# cluster-enabled yes/cluster-enabled yes/g' /opt/redis/6380/redis.conf
sed -i 's/# cluster-config-file/cluster-config-file/g' /opt/redis/6379/redis.conf
sed -i 's/# cluster-config-file/cluster-config-file/g' /opt/redis/6380/redis.conf

sed -i 's/bind 127.0.0.1/bind {{ listenするIPアドレス }} 127.0.0.1/g' /opt/redis/6379/redis.conf
sed -i 's/bind 127.0.0.1/bind {{ listenするIPアドレス }} 127.0.0.1/g' /opt/redis/6380/redis.conf

如果需要的话,请设置maxmemory。

开启

没有什么特别的要提及的。
如果想要在systemd中控制启动,请参阅其他文章。

redis-server /opt/redis/6379/redis.conf &
redis-server /opt/redis/6380/redis.conf &

构建集群

大师的构建

首先要建立主节点。
在4之前似乎是使用redis-trib.rb来建立的,但是从5开始要使用redis-cli来进行。

redis-cli --cluster create 192.168.10.1:6379 192.168.10.2:6379 192.168.10.3:6379

我可以设置上面的配置吗?(输入“是”来确认)。

当你看到它时,请输入”是”。

确认状态

我們需要確認目前的狀況。如果在 cluster nodes 命令中返回了3行結果,那就代表一切正常。

redis-cli cluster nodes
b4134b8ae3d45099b89e80f723ffbd6f92802e9d 192.168.10.3:6379@16379 master - 0 1548208242137 3 connected 10923-16383
6db9b1aac4d272849300bb48d63ecd95c4c1ec94 192.168.10.2:6379@16379 master - 0 1548208241129 2 connected 5461-10922
237bbdb084091869e837a3ddf90e10f59f31ee64 192.168.10.1:6379@16379 myself,master - 0 1548208240000 1 connected 0-5460

奴隶的注册

接下来,我们要注册一个Slave。这次我们按照以下方式设置。

192.168.10.1:6379 → 192.168.10.2:6380
192.168.10.2:6379 → 192.168.10.3:6380
192.168.10.3:6379 → 192.168.10.1:6380

192.168.10.1:6379 → 192.168.10.2:6380
192.168.10.2:6379 → 192.168.10.3:6380
192.168.10.3:6379 → 192.168.10.1:6380

redis-cli --cluster add-node 192.168.10.2:6380 192.168.10.1:6379 --cluster-slave
redis-cli --cluster add-node 192.168.10.3:6380 192.168.10.2:6379 --cluster-slave
redis-cli --cluster add-node 192.168.10.1:6380 192.168.10.3:6379 --cluster-slave

确认状态

再次确认集群的状态。

redis-cli cluster nodes
237bbdb084091869e837a3ddf90e10f59f31ee64 192.168.10.1:6379@16379 master - 0 1548208917915 1 connected 0-5460
f0255000fa18959cb273e1a1555eb84884e261e9 192.168.10.3:6380@16380 slave 6db9b1aac4d272849300bb48d63ecd95c4c1ec94 0 1548208918921 2 connected
b4134b8ae3d45099b89e80f723ffbd6f92802e9d 192.168.10.3:6379@16379 master - 0 1548208916000 3 connected 10923-16383
6ff367f62dc46a07a8030c2985e1fbcb9f899c68 192.168.10.2:6380@16380 slave 237bbdb084091869e837a3ddf90e10f59f31ee64 0 1548208918000 1 connected
763bff12eea4ca5c821a6a5b9eeafdf8f44bf5b0 192.168.10.1:6380@16380 slave b4134b8ae3d45099b89e80f723ffbd6f92802e9d 0 1548208917000 3 connected
6db9b1aac4d272849300bb48d63ecd95c4c1ec94 192.168.10.2:6379@16379 myself,master - 0 1548208918000 2 connected 5461-10922

请提供更多上下文,以便我正确地为您进行翻译。

广告
将在 10 秒后关闭
bannerAds