神之右手,假装运维大大搭建redis分布式集群

2024-03-16 05:20

本文主要是介绍神之右手,假装运维大大搭建redis分布式集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

翻出尘封许久的阿里云机器来搭建redis分布式集群,使用俩台2核4G的机器,系统CentOS 64位,均已安装jdk1.8.1,接下来要安装的redis的版本是4.0.1,OK,开始安装。

  1. yum install -y tcl gcc zlib-devel openssl-devel

  2. 将redis-4.0.1.tar.gz上传到云服务器,解压缩,重命名为redis目录

  3. 进入redis目录,执行 make MALLOC=libc 命令,执行结束,有如下结果,检查一下上下日志,没有报错信息。

  4. 创建redis集群目录 cd  /opt mkdir redis-cluster;mkdir redis-cluster/nodes-{7100,7200,7300},并且创建每一个端口对应的配置文件redis.config,如图是其中一个端口对应的配置文件,其他俩个配置文件也进行创建和编辑。

  5. 此时可以启动三个redis实例试试看有么有成功啦,雀跃,哈哈哈,执行以下命令: cd /usr/local/redis/src/

    ./redis-server/opt/redis-cluster/nodes-7100/redis.conf

    ./redis-server/opt/redis-cluster/nodes-7200/redis.conf

    ./redis-server/opt/redis-cluster/nodes-7300/redis.conf

    可惜,天不遂人愿,报错了,redis启动进程没有成功,

    Creating Server TCP listening socket 47.96.137.34:7100: bind: Cannot assign requested address

    解决办法 bind 阿里云公网ip 修改为 bind 0.0.0.0

  6. 三个实例都启动成功。执行ps  -ef |grep redis 也可以看到三个redis实例的进程啦。而且也会在每个端口运行目录下生成一些文件。

     

     

  7. 我们继续在另外一台阿里云的机器上重复已上步骤,搭建三个redis实例。

  8. 执行 ruby -v 机器默认没有安装,那我们要安装下ruby,我们这里安装的版本是2.3.4 ,解压缩,重命名为ruby目录,进入ruby目录,执行以下命令:

    ./configure

    make && make install 这一步要好漫长好漫长的岁月,才能结束

    ruby -v

  9. 安装ruby-redis.gem 

    yum install -y zlib-devel openssl-devel

    cd /usr/local/redis gem install redis 悲催的这一行报错了

     

    解决办法:

     cd /usr/local/ruby/ext/zlibruby extconf.rb 

     make && make install 

     然而又报了新的错误

     解决办法:

        cd /usr/local/ruby/ext/openssl

    ruby extconf.rb 这一步会生成Makefile文件,将其中的${top_srcdir}d都替换成../..,搞定

10.终于 再次执行命令 gem install redis.成功了,感动到自己要哭,不容易啊

11.另外一台阿里云机器执行已上操作的时候却没有出现这些奇葩问题,而是一次性都通过了,中间唯一的区别就是yum install -y zlib-devel openssl-devel 这一步操作本身已经有了。

12.激动人心的时刻终于到了,终于可以敲击那个神秘的命令:

./redis-trib.rb create --replicas 1 xxx.xx.xx.xx:7100 xxx.xx.xx.xx:7200xxx.xx.xx.xx:7300 xxx.xx.xx.xx2:7100 xxx.xx.xx.xx:7200 xxx.xx.xx.xx:7300

此时还是出现了错误,居然卡在了join........

解决的办法是 要把阿里云的几个redis实例的端口放开,而且还有集群总线端口也要放开,等于实例端口+10000的端口也要放开。终于搞定,完美地将集群搭建好啦

13,执行命令  ./redis-cli -c -h xxx.xxx.xxx.xxx -p 7100 登上一台redis

     cluster info  查看集群情况 

终于完成了redis三主三从的搭建,毕竟不是运维白月光啊,还好最终完成啦,谨以此记录下来,如有错误,欢迎纠正,谢谢大家观看。

保持初心,静心,拾java之一粟。学习,整理,可以关注我的公众号   

                                                                                  

                            【 一溯初心 】 一起学习,一起成长,谢谢大家批评指正  。

这篇关于神之右手,假装运维大大搭建redis分布式集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/814417

相关文章

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

redis+lua实现分布式限流的示例

《redis+lua实现分布式限流的示例》本文主要介绍了redis+lua实现分布式限流的示例,可以实现复杂的限流逻辑,如滑动窗口限流,并且避免了多步操作导致的并发问题,具有一定的参考价值,感兴趣的可... 目录为什么使用Redis+Lua实现分布式限流使用ZSET也可以实现限流,为什么选择lua的方式实现

Redis中管道操作pipeline的实现

《Redis中管道操作pipeline的实现》RedisPipeline是一种优化客户端与服务器通信的技术,通过批量发送和接收命令减少网络往返次数,提高命令执行效率,本文就来介绍一下Redis中管道操... 目录什么是pipeline场景一:我要向Redis新增大批量的数据分批处理事务( MULTI/EXE

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Redis中的常用的五种数据类型详解

《Redis中的常用的五种数据类型详解》:本文主要介绍Redis中的常用的五种数据类型详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis常用的五种数据类型一、字符串(String)简介常用命令应用场景二、哈希(Hash)简介常用命令应用场景三、列表(L

Redis解决缓存击穿问题的两种方法

《Redis解决缓存击穿问题的两种方法》缓存击穿问题也叫热点Key问题,就是⼀个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击,本文给大家介绍了Re... 目录引言解决办法互斥锁(强一致,性能差)逻辑过期(高可用,性能优)设计逻辑过期时间引言缓存击穿:给