linux中redis集群简单搭建

本文详细介绍了在Linux环境下搭建Redis集群的过程,包括单机版安装、集群配置、启动及测试等关键步骤。

                                    Linux中redis集群搭建

在此我也不再叙述redis集群的投票容错什么数据分配等等一堆废话,既然需要搭建redis集群,想必多多少少也会对redis集群的一些机制有所了解的。(不了解想要了解的可以去网上搜一下redis集群有很多资料的)redis集群走起。

搭建redis集群初步准备工作

  • 1.创建一个redis-cluster文件与各个端口节点文件

            mkdir redis-cluster,我在此创建的端口分别是7000-7005 所以要依次创建7000文件到7005文件 mkdir 7000 ... 7005

  • 2.复制单机版到指定的节点文件

          因为我将redis安装到了/usr/local/redis文件下,进入/usr/local/redis目录下有一个bin文件,将bin文件复制到各个端口节点      文件中

        cd  /usr/local/redis  cp  bin/  7000/  -r  ...

  • 删除原数据文件

        进入到各个节点文件的bin目录下 依次执行

      rm -rf  dump.rdb

  • 修改配置文件redis.conf文件

      vi redis.conf

       将各个端口文件里的 port :6379 依次改为各个端口的7000-7005

        # cluster-enabled yes 打开 

        # cluster-config-file nodes-6379.conf  打开 并将nodes-6379.conf 改为你想要的名字(不能和其他几个文件里的一样)

            daemonize no  将no 改为yes

            appendonly no 将no 改为yes

      可能会因为版本不同有的选项没有

  • 创建命令文件

      为了方便启动关闭在此创建几个命令文件 退到redis-cluster文件目录下

     启动redis节点文件 vi start-all.sh

cd 7000
./bin/redis-server ./bin/redis.conf
cd ..
cd 7001
./bin/redis-server ./bin/redis.conf
cd ..
cd 7002
./bin/redis-server ./bin/redis.conf
cd ..
cd 7003
./bin/redis-server ./bin/redis.conf
cd ..
cd 7004
./bin/redis-server ./bin/redis.conf
cd ..
cd 7005
./bin/redis-server ./bin/redis.conf

esc :wq 退出

sh start-all.sh 启动,然后执行ps aux|grep redis 查看以下这些端口是否开启

root       1671  0.1  0.2 135216  2956 ?        Ssl  15:27   0:07 ./src/redis-server *:7000 [cluster]
root       1675  0.1  0.2 135316  2956 ?        Ssl  15:27   0:07 ./src/redis-server *:7001 [cluster]
root       1679  0.1  0.2 135316  2972 ?        Ssl  15:27   0:07 ./src/redis-server *:7002 [cluster]
root       1683  0.1  0.2 134008  2688 ?        Ssl  15:27   0:06 ./src/redis-server *:7003 [cluster]
root       1685  0.1  0.2 134004  2708 ?        Ssl  15:27   0:06 ./src/redis-server *:7004 [cluster]
root       1689  0.1  0.2 134008  2716 ?        Ssl  15:27   0:06 ./src/redis-server *:7005 [cluster]
root       1794  0.0  0.1  11920  1152 pts/0    S+   15:45   0:00 ./7000/src/redis-cli -p 7000 -c
root       2008  0.0  0.0 112720   976 pts/1    R+   16:55   0:00 grep --color=auto redis
 

启动成功。

关闭命令 vi shutdown-all.sh

7000 /redis-cli -p 7000 shutdown

7001/redis-cli -p 7001 shutdown

7002/redis-cli -p 7002 shutdown

7003/redis-cli -p 7003 shutdown

7004/redis-cli -p 7004 shutdown

7005/redis-cli -p 7005 shutdown

esc :wq 退出

将bin文件下的redis-trib.rb 复制到 redis-cluster目录中 

cp redis-trib.rb /var/tool/redis-cluster/

  • 集群马上要启动了

​​​​​​​安装ruby

yum install ruby 

安装redis接口 我在此配置了一下咱国内的镜像

gem sources --remove https://rubygems.org/

gem sources -a https://gems.ruby-china.org/

gem install redis --version 3.0.0

或者自己也可以去redis-3.0.0.gem 然后执行

gem install redis-3.0.0.gem

哈哈!终于可以启动redis集群了,等下,咱还是和上边一样创建一个启动文件吧方便吗!

vi start.sh

./redis-trib.rb create --replicas 1 192.168.140.130:7000 192.168.140.130:7001 192.168.140.130:7002 192.168.140.130:7003 192.168.140.130:7004 192.168.140.130:7005
esc :wq 退出 

sh start.sh 启动

   slots:0-5460 (5461 slots) master
M: db455daff299d07bdd5225b94eafc5292cab1cb7 192.168.140.130:7001
   slots:5461-10922 (5462 slots) master
M: dc411bf1cfd6b9fc29d22c4df8946a21860b35b1 192.168.140.130:7002
   slots:10923-16383 (5461 slots) master
S: 65479600b14a90d665f88bab8235d6f4ec914821 192.168.140.130:7003
   replicates a0a19d6755e6ef36f9c73ce07cc2608a5e17a82c
S: eba08ffa6607214d77650c71084fad979e9a805d 192.168.140.130:7004
   replicates db455daff299d07bdd5225b94eafc5292cab1cb7
S: 4441c1e9e8ed99ca93eb5d196716bfad3cc65ffc 192.168.140.130:7005
   replicates dc411bf1cfd6b9fc29d22c4df8946a21860b35b1
Can I set the above configuration? (type 'yes' to accept):在此输入yes

.....

[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
看到这个就说明启动成功了,恭喜你!开心不!

启动成功了那咱测试一下呗!万一不行呢?

在redis-cluster 目录下输入 ./7000/src/redis-cli -p 7000 -c 一定要有端口和-c 启动

127.0.0.1:7000> 
输入 set 1 100 

-> Redirected to slot [9842] located at 192.168.140.130:7001
OK
192.168.140.130:7001> 
诶看到没,自动切换到7001了咋回事?

192.168.140.130:7001> get 1
"100"
192.168.140.130:7001> 
不过我get一样可以获取到,那为啥明明是7000 咋变为7001啦!

哈哈!因为redis集群是自动分片切换的。

到此结束

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值