国内服务器
亚洲服务器
欧洲服务器
北美洲服务器
南美洲服务器
大洋洲服务器
非洲服务器

首页>>IDC资讯

如何搭建docker redis5.0 cluster集群

发表时间:2022-05-31 09:01:25

本文是关于如何构建docker redis5.0集群的。桂哥网络觉得很实用,就分享给大家参考,跟着桂哥网络看了看。

系统环境:ubuntu16.04LTS

在本文中,六个docker容器用于构建一个单机集群测试。如果实际环境中有很多容器,容器的数量、端口号和集群ip地址可以相应地修改。每台机器都可以按照以下步骤进行相同的操作。

拉取redis官方镜像

创建配置文件和数据目录

创建目录

mkdir~/redis_cluster

Cd~/redis_cluster新建一个模板文件sudvim redis _ cluster.tmpl,填写以下内容:

#redis端口

port${PORT}

#关闭保护模式

受保护-modeno

#打开群集

成簇染料

#群集节点配置

cluster-config-filenodes.conf

#超时

群集-节点-timeout5000

#集群节点IPhost模式为主机IP

集群-公告-ip10.10.100.197

#集群节点端口7000-7005

集群通告端口${PORT}

集群-公告-总线-port1${PORT}

#打开仅附加备份模式

appendonlyyes是

#每秒备份

appendfsynceverysec

#压缩文件时是不是要同步

no-appendfsync-on-rewriteno

#当当前aof文件大小超过前一个aof文件大小的100%时,将再次重写

自动重写百分比100

#默认情况下,重写前AOF文件的最小大小为64mb

auto-aof-rewrite-min-size 5120 MB

#关闭快照备份

保存''批量创建配置文件和数据目录,终端运行以下命令:

for ortin ` seq 70007005 `;do

mkdir-p./${port}/conf

PORT=$ { port } envsubst。/redis _ cluster . tmpl ./$ { port }/conf/redis . conf

mkdir-p ./$ { port }/data;

完成批量启动 redis 容器

集装箱Ip地址采用主机模式:

for ortin ` seq 70007005 `;do

dockerrun-d-it - memory=1G

-v ~/redis _ cluster/$ { port }/conf/redis . conf :/usr/local/etc/redis/redis . conf

-v ~/redis _ cluster/$ { port }/data :/data

-restartalways-name redis-$ { port }-nethost

-sysctlnet . core . soma xconn=1024 redis 33605.0 redis-server/usr/local/etc/redis/redis . conf;

在这里完成,-memory=1G将单个docker容器占用的内存大小限制为1G,这将被进程杀死。警告.无交换时内存受限.可能在运行时出现,可以忽略。如果不需要限制内存,可以去掉memory参数。

创建集群

随意输入其中一个容器:

dockersec-it redis-7000 bash输入并执行以下命令来创建集群:

集群创建10.10.100,10.10.100,10.100,160700110 . 10。56060 . 6666666666

sudoaptinstallredis-tools输入yes后,创建集群,退出docker,然后登录其中一个节点以验证集群的可用性:

/p>
redis-cli-c-p7000

输入cluster nodes查看集群状态

127.0.0.1:7000>clusternodes
06851aa134d50096d82a434eced9194233b5204e10.10.100.197:7003@17003slave8b33f273386c9504ef8bd10b005e24825b3b9596015676719010004connected
a42297b65f7101fc9e4941ef8a0e65080d1b633810.10.100.197:7005@17005slave0aa20378d14e3ef0859815196cbafa67e1001d0e015676719015816connected
e7b6a35b1e92f94c225c507ea19f7f0318f0d1c310.10.100.197:7002@17002master-015676719025823connected10923-16383
0aa20378d14e3ef0859815196cbafa67e1001d0e10.10.100.197:7000@17000myself,master-015676719010001connected0-5460
8b33f273386c9504ef8bd10b005e24825b3b959610.10.100.197:7001@17001master-015676719023832connected5461-10922
fe355eed99100197f43d1216d1de82643dd496a510.10.100.197:7004@17004slavee7b6a35b1e92f94c225c507ea19f7f0318f0d1c3015676719013805connected

设置集群密码

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

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

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

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

forportin`seq70007005`;do
chmoda+w./${port}/conf/redis.conf;
done

下面用一台做示例:

登录一个节点:

redis-cli-c-p7000

设置密码:

127.0.0.1:7000>configsetmasterauth123456
OK
127.0.0.1:7000>configsetrequirepass123456
OK
127.0.0.1:7000>auth123456
OK
127.0.0.1:7000>configrewrite
OK

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

集群写入数据简单测试

随便登录一个集群节点:

redis-cli-c-p7003-a123456

写入数据:

127.0.0.1:7003>setva1
->Redirectedtoslot[7800]locatedat10.10.100.197:7001
OK
10.10.100.197:7001>getva
"1"
10.10.100.197:7001>delva
(integer)1

可以看到,集群中任意节点写入数据,在其他任意节点都能读到。

至此,redis 集群搭建完成。

其他注意事项

forportin`seq70007005`;do
dockerstopredis-${port};
dockerrmredis-${port};
done

感谢各位的阅读!关于“如何搭建docker redis5.0 cluster集群”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


上一篇 下一篇
最新文章

如何提高云服务器的安全系数

香港独立IP空间有什么优势

香港空间影响百度收录吗

为啥要租用美国VPS

VPS的缺点有哪些

香港vps作用在哪里

VPS的优点有哪些

外贸网站为啥选择美国vps

VPS能建多少个网站

VPS要如何选择位置

相关文章

海外服务器访问关停原因 海外服务器访问变慢的

传统企业广域网如何向SDWAN转型?

云主机怎么防范cc攻击

网站选择域名时需要考虑哪几个方面问题

做东南亚外贸用什么服务器?新加坡服务器合适

轻量应用云服务器优点有多少

香港独立ip云服务器好处有哪些

国外vps主机租赁价格多少

美国VPS主机优点有多少

斯里兰卡弹性云主机的弹性优势

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!