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、查看启动状态:

QQ%E6%88%AA%E5%9B%BE20180911194306.png?v

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

QQ%E6%88%AA%E5%9B%BE20180911190359.png?v

11、安装rvm:

QQ%E6%88%AA%E5%9B%BE20180911185433.png?v

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查看集群的基本信息;

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
22天前
|
存储 NoSQL 算法
09- Redis分片集群中数据是怎么存储和读取的 ?
Redis分片集群使用哈希槽分区算法,包含16384个槽(0-16383)。数据存储时,通过CRC16算法对key计算并模16383,确定槽位,进而分配至对应节点。读取时,根据槽位找到相应节点直接操作。
75 12
|
22天前
|
NoSQL Linux Redis
06- 你们使用Redis是单点还是集群 ? 哪种集群 ?
**Redis配置:** 使用哨兵集群,结构为1主2从,加上3个哨兵节点,总计分布在3台Linux服务器上,提供高可用性。
403 0
|
6天前
|
存储 监控 负载均衡
redis 集群 (主从复制 哨兵模式 cluster)
redis 集群 (主从复制 哨兵模式 cluster)
|
22天前
|
负载均衡 监控 NoSQL
Redis的几种主要集群方案
【5月更文挑战第15天】Redis集群方案包括主从复制(基础,读写分离,手动故障恢复)、哨兵模式(自动高可用,自动故障转移)和Redis Cluster(官方分布式解决方案,自动分片、容错和扩展)。此外,还有Codis、Redisson和Twemproxy等工具用于代理分片和负载均衡。选择方案需考虑应用场景、数据量和并发需求,权衡可用性、性能和扩展性。
199 2
|
22天前
|
存储 监控 负载均衡
保证Redis的高可用性是一个涉及多个层面的任务,主要包括数据持久化、复制与故障转移、集群化部署等方面
【5月更文挑战第15天】保证Redis高可用性涉及数据持久化、复制与故障转移、集群化及优化策略。RDB和AOF是数据持久化方法,哨兵模式确保故障自动恢复。Redis Cluster实现分布式部署,提高负载均衡和容错性。其他措施包括身份认证、多线程、数据压缩和监控报警,以增强安全性和稳定性。通过综合配置与监控,可确保Redis服务的高效、可靠运行。
195 2
|
6天前
|
存储 负载均衡 监控
redis 集群模式(redis cluster)介绍
redis 集群模式(redis cluster)介绍
|
22天前
|
存储 NoSQL Redis
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群(下)
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群
234 1
|
22天前
|
监控 NoSQL Redis
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群(上)
Redis源码、面试指南(5)多机数据库、复制、哨兵、集群
283 0
|
22天前
|
存储 监控 NoSQL
Redis哨兵&分片集群
Redis哨兵&分片集群
34 0
|
22天前
|
NoSQL 算法 Java
深入浅出Redis(八):Redis的集群模式
深入浅出Redis(八):Redis的集群模式