docker redis5.0 cluster集群搭建的实现

2020-06-17 07:31:43易采站长站整理

安装redis-cli命令(如已有可跳过此步):


sudo apt install redis-tools

输入yes后,集群创建完毕,exit退出 docker,接着登录其中一个节点,验证集群可用性:


redis-cli -c -p 7000

输入cluster nodes查看集群状态


127.0.0.1:7000> cluster nodes
06851aa134d50096d82a434eced9194233b5204e 10.10.100.197:7003@17003 slave 8b33f273386c9504ef8bd10b005e24825b3b9596 0 1567671901000 4 connected
a42297b65f7101fc9e4941ef8a0e65080d1b6338 10.10.100.197:7005@17005 slave 0aa20378d14e3ef0859815196cbafa67e1001d0e 0 1567671901581 6 connected
e7b6a35b1e92f94c225c507ea19f7f0318f0d1c3 10.10.100.197:7002@17002 master - 0 1567671902582 3 connected 10923-16383
0aa20378d14e3ef0859815196cbafa67e1001d0e 10.10.100.197:7000@17000 myself,master - 0 1567671901000 1 connected 0-5460
8b33f273386c9504ef8bd10b005e24825b3b9596 10.10.100.197:7001@17001 master - 0 1567671902383 2 connected 5461-10922
fe355eed99100197f43d1216d1de82643dd496a5 10.10.100.197:7004@17004 slave e7b6a35b1e92f94c225c507ea19f7f0318f0d1c3 0 1567671901380 5 connected

设置集群密码

设置密码为什么不在上面的步骤,利用模板文件批量创建配置文件的时候就写进去?

无论是在 redis5.x 版本,还是以前的 redis 版本利用 ruby 创建集群的方式,在redis-cli –cluster create创建集群的环节没有密码参数配置,所以我们需要创建完集群再设置密码。

我们用config set方式分别为每一个节点设置相同的密码(不需要重启 redis,且重启后依然有效),在此之前先给所有 redis 配置文件加w权限,不然密码无法保存到文件。

注意当前路径依然是在~/redis_cluster/:


for port in `seq 7000 7005`; do
chmod a+w ./${port}/conf/redis.conf;
done

下面用一台做示例:

登录一个节点:


redis-cli -c -p 7000

设置密码:


127.0.0.1:7000> config set masterauth 123456
OK
127.0.0.1:7000> config set requirepass 123456
OK
127.0.0.1:7000> auth 123456
OK
127.0.0.1:7000> config rewrite
OK

后面几台执行同样的操作即可。

集群写入数据简单测试

随便登录一个集群节点:


redis-cli -c -p 7003 -a 123456

写入数据:


127.0.0.1:7003> set va 1
-> Redirected to slot [7800] located at 10.10.100.197:7001
OK
10.10.100.197:7001> get va
"1"
10.10.100.197:7001> del va
(integer) 1