zoukankan      html  css  js  c++  java
  • ubtuntu redis 集群部署/搭建(官方原始方案)

    1. 安装ruby环境

    apt-get install ruby
    gem install redis

    2. 安装redis

    参考文章:ubuntu 使用命令安装最新的redis版本

    3. 创建集群文件及文件夹

    mkdir redis-cluster
    cd redis-cluster
    mkdir 9000 9001 9002 9003 9004 9005

    结果如下图所示:

    13.png

    4. 拷贝redis.conf

    ubuntu  redis配置文件路径

    cd /etc/redis

     进入redis配置文件目录,将redis.conf复制redis-cluster文件夹中

    cp redis.conf /home/user/redis-cluster

    4.1主要修改信息如下:

    port 9000  # 端口号和文件夹名一样
    bind 127.0.0.1 # 绑定的ip 可以使用127.0.0.1 也可以使用192.168.0.1
    dir /home/user/redis-cluster/9000 # 备份文件名存储位置
    cluster-enabled yes # 开启集群
    cluster-config-file nodes-9000.conf  # 配置文件名
    appendonly yes # 开启

    不同信息在redis.conf位置:

    4.2 ip绑定 绑定本机ip

    21.png

    4.2修改端口号

    22.png

    4.3 开启

    26.png

    4.4 数据存储位置

    dbfilename 备份文件名

    23.png

    4.5 开启集群

    24.png

    4.6 配置文件名

    25.png

    然后分别将redis0cluster中redis.conf配置文件复制到新建的6个文件夹中(9000,9001,9002,9003,9004,9005)

    复制redis.conf配置文件

    cp redis.conf /home/user/redis-cluster/9000
    cp redis.conf /home/user/redis-cluster/9001
    cp redis.conf /home/user/redis-cluster/9002
    cp redis.conf /home/user/redis-cluster/9003
    cp redis.conf /home/user/redis-cluster/9004
    cp redis.conf /home/user/redis-cluster/9005

    5. 分别启动redis-server

    redis-server /home/user/redis-cluster/9000/redis.conf 
    redis-server /home/user/redis-cluster/9001/redis.conf 
    redis-server /home/user/redis-cluster/9002/redis.conf 
    redis-server /home/user/redis-cluster/9003/redis.conf 
    redis-server /home/user/redis-cluster/9004/redis.conf 
    redis-server /home/user/redis-cluster/9005/redis.conf

    6. 查看redis-server是否正常启动

    ps -ef|grep redis-server

    结果如下

    27.png

    7. 创建redis集群

    redis-trib.rb(能否创建集群主要靠它)存放的路径

    cd /usr/share/doc/redis-tools/examples/

    复制redis-trib.rb到指定目录

    cp redis-trib.rb /home/user/redis-cluster/

    redis集群启动

    启动集群命令

    ./redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005

    结果如下:

    >>> ./redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005
    >>> Creating cluster  # 自动输入的命令
    >>> Performing hash slots allocation on 6 nodes...
    Using 3 masters:
    127.0.0.1:9000
    127.0.0.1:9001
    127.0.0.1:9002
    Adding replica 127.0.0.1:9004 to 127.0.0.1:9000
    Adding replica 127.0.0.1:9005 to 127.0.0.1:9001
    Adding replica 127.0.0.1:9003 to 127.0.0.1:9002
    >>> Trying to optimize slaves allocation for anti-affinity
    [WARNING] Some slaves are in the same host as their master
    M: 56b766b9e4b8447c2f0645e16b82283f6c7c11d7 127.0.0.1:9000
       slots:0-5460 (5461 slots) master
    M: 89af1208bca79d22f9c051bb86d40de1ebaf92b4 127.0.0.1:9001
       slots:5461-10922 (5462 slots) master
    M: c95629b3e17abaf3b0cef022359b49f4498a4d8a 127.0.0.1:9002
       slots:10923-16383 (5461 slots) master
    S: 736a7abdbec3fd16bd610900cfed8ecd7f9b008b 127.0.0.1:9003
       replicates 56b766b9e4b8447c2f0645e16b82283f6c7c11d7
    S: 5f94b10bfe0ba249767da82161bdfdb14b5092aa 127.0.0.1:9004
       replicates 89af1208bca79d22f9c051bb86d40de1ebaf92b4
    S: 58481f44f290203a644503946b3d6f2b9bd53916 127.0.0.1:9005
       replicates c95629b3e17abaf3b0cef022359b49f4498a4d8a
    Can I set the above configuration? (type 'yes' to accept): yes
    >>> Nodes configuration updated
    >>> Assign a different config epoch to each node
    >>> Sending CLUSTER MEET messages to join the cluster
    Waiting for the cluster to join....
    >>> Performing Cluster Check (using node 127.0.0.1:9000)
    M: 56b766b9e4b8447c2f0645e16b82283f6c7c11d7 127.0.0.1:9000
       slots:0-5460 (5461 slots) master
       1 additional replica(s)
    S: 736a7abdbec3fd16bd610900cfed8ecd7f9b008b 127.0.0.1:9003
       slots: (0 slots) slave
       replicates 56b766b9e4b8447c2f0645e16b82283f6c7c11d7
    S: 5f94b10bfe0ba249767da82161bdfdb14b5092aa 127.0.0.1:9004
       slots: (0 slots) slave
       replicates 89af1208bca79d22f9c051bb86d40de1ebaf92b4
    S: 58481f44f290203a644503946b3d6f2b9bd53916 127.0.0.1:9005
       slots: (0 slots) slave
       replicates c95629b3e17abaf3b0cef022359b49f4498a4d8a
    M: 89af1208bca79d22f9c051bb86d40de1ebaf92b4 127.0.0.1:9001
       slots:5461-10922 (5462 slots) master
       1 additional replica(s)
    M: c95629b3e17abaf3b0cef022359b49f4498a4d8a 127.0.0.1:9002
       slots:10923-16383 (5461 slots) master
       1 additional replica(s)
    [OK] All nodes agree about slots configuration.
    >>> Check for open slots...
    >>> Check slots coverage...
    [OK] All 16384 slots covered.

    8. 连接集群

    redis-cli -c -h 127.0.0.1 -p 9000

    注意:如果遇到MOVED 5798错误

    请阅读:http://www.chenxm.cc/post/695.html

    总结:

    这是一篇完整的Redis集群部署,只要按照文章中的步骤做,那么保证你能成功搭建一个redis集群。

    接下来可能就是动态扩容、增加节点和减少节点,重新分配槽大小等,当然,还有最重要的就是怎么和我们程序结合起来,以及如何更好的把 Redis 缓存集群发挥出应有的效果,这些才是最重要的。

  • 相关阅读:
    c:forTokens标签循环输出
    jsp转long类型为date,并且格式化
    spring中@Param和mybatis中@Param使用区别(暂时还没接触)
    734. Sentence Similarity 有字典数组的相似句子
    246. Strobogrammatic Number 上下对称的数字
    720. Longest Word in Dictionary 能连续拼接出来的最长单词
    599. Minimum Index Sum of Two Lists两个餐厅列表的索引和最小
    594. Longest Harmonious Subsequence强制差距为1的最长连续
    645. Set Mismatch挑出不匹配的元素和应该真正存在的元素
    409. Longest Palindrome 最长对称串
  • 原文地址:https://www.cnblogs.com/chenxinming-top/p/9598049.html
Copyright © 2011-2022 走看看