利用docker部署redis集群

本文详细介绍如何从零开始搭建Redis集群,包括配置redis.conf文件、下载镜像并启动容器,以及通过ruby接口设置集群。适用于希望深入理解Redis集群原理及部署流程的技术人员。

目录

一、首先配置redis.conf文件,... 1

1、获取配置文件... 1

2、修改各配置文件的参数... 2

二、下载redis镜像、启动容器... 2

1、创建网络... 2

2、拉取镜像并启动容器... 2

三、设置redis集群... 3

1、安装ruby. 3

2、安装redis-cluster的ruby接口,并启动集群... 3

3、测试... 3

 

redis集群的安装:版本至少是3.2.8及其以上,这里以3.2.8版本为例说明

本次在本地主机启动6个redis容器,相当于6个节点,容器使用的ip: 192.168.100.101~106

本文档部署时建议直接复制粘贴

一、首先配置redis.conf文件,

1、获取配置文件

[root@cdh01 ~]# wget http://download.redis.io/releases/redis-3.2.8.tar.gz

[root@cdh01 ~]# tar xf redis-3.2.8.tar.gz

[root@cdh01 ~]# mkdir -p /myredis/conf/

[root@cdh01 ~]# for i in `seq 6`;do cp redis-3.2.8/redis.conf /myredis/conf/redis$i.conf;done

[root@cdh01 ~]# ls /myredis/conf/     #可以看到共6各文件,每个容器对应一个文件

redis1.conf  redis2.conf  redis3.conf  redis4.conf  redis5.conf  redis6.conf  

 

2、修改各配置文件的参数

a、修改监听

[root@cdh01 ~]# for i in `seq 6`;do sed -i "s/bind 127.0.0.1/bind 192.168.100.10$i/g" /myredis/conf/redis$i.conf;done

b、开启集群功能

[root@cdh01 ~]# for i in `seq 6`;do sed -i 's/# cluster-enabled yes/cluster-enabled yes/g' /myredis/conf/redis$i.conf;done

c、启动AOF增量持久化策略

[root@cdh01 ~]# for i in `seq 6`;do sed -i 's/appendonly no/appendonly yes/g' /myredis/conf/redis$i.conf;done

 

二、下载redis镜像、启动容器

1、创建网络

docker network create --subnet=192.168.100.0/24 staticnet  

docker network ls

2、拉取镜像并启动容器

[root@cdh01 ~]# docker pull redis:3.2.8

[root@cdh01 ~]# for i in `seq 6`;do docker run -d -v /myredis/conf/redis$i.conf:/usr/local/etc/redis/redis.conf -p 700$i:6379 --name myredis$i --net staticnet --ip 192.168.100.10$i redis:3.2.8 redis-server /usr/local/etc/redis/redis.conf;done

 

三、设置redis集群

1、安装ruby

 

首先安装rvm,然后用rvm安装ruby

a.安装rvm

http://rvm.io/rvm/security #查看最新的key,下面的key可能会失效

[root@150 ~]# gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

[root@150 ~]# \curl -sSL https://get.rvm.io | bash -s stable

[root@150 ~]# source /usr/local/rvm/scripts/rvm

b.查看RVM中ruby的版本

rvm list known | grep ruby

c.选择一个版本ruby版本安装,这边选择的是ruby 2.4.1

rvm install 2.4.1

d.使用ruby版本并设置为默认版本

rvm use 2.4.1 --default

e.将ruby和gem放入到全局变量

如果是按照前面安装的,ruby和gem的位置应该在/usr/local/rvm/rubies/ruby-2.4.1/bin/这个目录下,如果不在,可以使用whereis ruby 和 whereis  gem来查找,找到位置后,使用软链命令

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/gem  /usr/bin/

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby  /usr/bin/

到这里ruby就安装完成了

 

 

2、安装redis-cluster的ruby接口,并启动集群

[root@cdh01 ~]# gem install redis  #安装接口

[root@cdh01 ~]# ruby /root/redis-3.2.8/src/redis-trib.rb create --replicas 1 192.168.100.101:6379 192.168.100.102:6379 192.168.100.103:6379 192.168.100.104:6379 192.168.100.105:6379 192.168.100.106:6379

如果一切顺利,你会看到类似这样的消息: [OK] All 16384 slots covered

 

3、测试

本地连接可以用容器的ip

redis-cli -h 192.168.100.101 -c -p 6379

远程机器连接要使用宿主机的的ip

[root@bigdb01 ~]# redis-cli -h 172.16.20.90 -c -p 7004

 

结语:至此redis的单机与集群的安装和启动就成功了

 

转载于:https://www.cnblogs.com/chuangcc/p/10736521.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值