redis集群搭建

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

搭建环境:redis-4.0.10.tar.gz安装包、Red Hat Enterprise Linux 7(64位)

1、将redis安装包上传至服务器并解压缩至/usr/local路径下;

2、顺序执行下面命令:

    mkdir /usr/local/redis-cluster(创建运行路径)

    cd redis-cluster/

    mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data(服务端口对应数据持久化存储路径)

3、顺序执行下面命令:

    mkdir redis-cluster/bin(创建集中执行文件路径)

    cd /usr/local/redis-4.0.10/src(进入执行wen文件的路径)

    cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin/.(把将用到的各个执行文件集中复制到执行路径下)

4、执行cp /usr/local/redis-4.0.10/* /usr/local/redis-cluster/9001,将redis整体复制到9001实例下;

5、编辑redis.conf文件如下:

    port 9001(每个节点的端口号)

    daemonize yes(设置成后台守护模式)

    bind 172.23.129.222(绑定当前机器 IP)

    dir /usr/local/redis-cluster/9001/data/(数据文件存放位置)

    pidfile /var/run/redis_9001.pid(pid 9001和port要对应)

    cluster-enabled yes(启动集群模式)

    cluster-config-file nodes9001.conf(9001和port要对应)

    cluster-node-timeout 15000

6、执行复制操作:

    cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9002
    cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9003
    cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9004
    cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9005
    cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9006

7、顺序编辑900X下的每个redis.conf文件,将其中的9001替换成各自对应的900X;

8、启动各个节点:

    /usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/9001/redis.conf 
    /usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/9002/redis.conf 
    /usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/9003/redis.conf 
    /usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/9004/redis.conf 
    /usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/9005/redis.conf 
    /usr/local/redis-cluster/bin/redis-server /usr/local/redis-cluster/9006/redis.conf

9、查看启动状态:

10、查看ruby的版本,ruby --version,如果低于2.2执行下面的升级安装操作:

11、安装rvm:

12、执行source /usr/local/rvm/scripts/rvm使更新生效;

13、执行rvm list known命令后显示ruby的版本:

    # MRI Rubies
    [ruby-]1.8.6[-p420]
    [ruby-]1.8.7[-head] # security released on head
    [ruby-]1.9.1[-p431]
    [ruby-]1.9.2[-p330]
    [ruby-]1.9.3[-p551]
    [ruby-]2.0.0[-p648]
    [ruby-]2.1[.10]
    [ruby-]2.2[.10]
    [ruby-]2.3[.7]
    [ruby-]2.4[.4]
    [ruby-]2.5[.1]
    [ruby-]2.6[.0-preview2]
    ruby-head

    # for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2

    # JRuby
    jruby-1.6[.8]
    jruby-1.7[.27]
    jruby-9.1[.17.0]
    jruby[-9.2.0.0]
    jruby-head

    # Rubinius
    rbx-1[.4.3]
    rbx-2.3[.0]
    rbx-2.4[.1]
    rbx-2[.5.8]
    rbx-3[.100]
    rbx-head

    # TruffleRuby
    truffleruby[-1.0.0-rc2]

    # Opal
    opal

    # Minimalistic ruby implementation - ISO 30170:2012
    mruby-1.0.0
    mruby-1.1.0
    mruby-1.2.0
    mruby-1.3.0
    mruby-1[.4.0]
    mruby[-head]

    # Ruby Enterprise Edition
    ree-1.8.6
    ree[-1.8.7][-2012.02]

    # Topaz
    topaz

    # MagLev
    maglev-1.0.0
    maglev-1.1[RC1]
    maglev[-1.2Alpha4]
    maglev-head

    # Mac OS X Snow Leopard Or Newer
    macruby-0.10
    macruby-0.11
    macruby[-0.12]
    macruby-nightly
    macruby-head

    # IronRuby
    ironruby[-1.1.3]
    ironruby-head

14、执行rvm install 2.5.1开始安装;

15、如果ruby版本没有问题的话就可以继续执行命令gem install redis创建redis的集群;

16、构建redis集群:

    /usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 172.23.129.222:9001 172.23.129.222:9002 172.23.129.222:9003 172.23.129.222:9004 172.23.129.222:9005 172.23.129.222:9006

    replicas 1表示一个副本;

17、执行./redis-cli -c -h 172.23.129.222 -p 9001登录redis集群;

18、执行cluster info和cluster nodes查看集群的基本信息;

相关文章
|
3月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
315 2
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
320 6
|
2月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
7月前
|
存储 NoSQL 数据库
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
272 5
|
4月前
|
负载均衡 NoSQL Redis
【赵渝强老师】Redis的主从复制集群
Redis主从复制是指将一台Redis服务器的数据复制到其他Redis服务器,实现数据热备份、故障恢复、负载均衡及高可用架构的基础。主节点负责写操作,从节点同步数据并可提供读服务,提升并发处理能力。
145 5
|
3月前
|
存储 NoSQL 算法
Redis的集群架构与使用经验
本文介绍了Redis的集群架构与使用经验,包括主从复制、哨兵集群及Cluster分片集群的应用场景与实现原理。内容涵盖Redis主从同步机制、数据分片存储方式、事务支持及与Memcached的区别,并讨论了Redis内存用尽时的处理策略。适用于了解Redis高可用与性能优化方案。
|
7月前
|
存储 NoSQL Redis
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
8月前
|
存储 NoSQL 算法
Redis分片集群中数据是怎么存储和读取的 ?
Redis集群采用的算法是哈希槽分区算法。Redis集群中有16384个哈希槽(槽的范围是 0 -16383,哈希槽),将不同的哈希槽分布在不同的Redis节点上面进行管理,也就是说每个Redis节点只负责一部分的哈希槽。在对数据进行操作的时候,集群会对使用CRC16算法对key进行计算并对16384取模(slot = CRC16(key)%16383),得到的结果就是 Key-Value 所放入的槽,通过这个值,去找到对应的槽所对应的Redis节点,然后直接到这个对应的节点上进行存取操作