• Redis集群


    1.下载Redis安装包redis-5.0.5.tar.gz并放到/opt/目录下

    2.所有Redis集群节点解压Redis安装包
    tar -zxvf redis-5.0.5.tar.gz

    3.所有Redis集群节点安装Redis
    cd redis-5.0.5
    make && make install

    4.需要修改的配置参数
    port 6379
    bind 本机ip
    daemonize yes
    protected-mode yes
    cluster-enabled yes
    logfile ./redis-server.log
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    requirepass xxx (设置redis访问密码)
    masterauth xxx (设置集群节点间访问密码,跟上面一致)
    logfile "/opt/redis/redis-5.0.5/redis-server.log"
    5.启动所有Redis节点

    分别启动所有节点的redis
    [root@tdh5 redis-5.0.5]# src/redis-server ./redis.conf
    25453:C 30 Oct 2019 17:49:42.449 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    25453:C 30 Oct 2019 17:49:42.450 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=25453, just started
    25453:C 30 Oct 2019 17:49:42.450 # Configuration loaded
    [root@tdh5 redis-5.0.5]# ps -ef|grep redis-server
    root 25454 1 0 17:49 ? 00:00:00 src/redis-server 10.11.220.5:6379 [cluster]
    root 25525 8592 0 17:49 pts/0 00:00:00 grep --color=auto redis-server

    [root@tdh4 redis-5.0.5]# src/redis-server ./redis.conf
    1439:C 30 Oct 2019 17:50:17.521 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    1439:C 30 Oct 2019 17:50:17.522 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=1439, just started
    1439:C 30 Oct 2019 17:50:17.522 # Configuration loaded
    [root@tdh4 redis-5.0.5]# ps -ef|grep redis-server
    root 1440 1 0 17:50 ? 00:00:00 src/redis-server 10.11.220.4:6379 [cluster]
    root 2036 23022 0 17:50 pts/8 00:00:00 grep --color=auto redis-server

    [root@tdh3 redis-5.0.5]# src/redis-server ./redis.conf
    22512:C 30 Oct 2019 17:43:28.906 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    22512:C 30 Oct 2019 17:43:28.906 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=22512, just started
    22512:C 30 Oct 2019 17:43:28.906 # Configuration loaded
    [root@tdh3 redis-5.0.5]# ps -ef|grep redis
    root 22513 1 0 17:43 ? 00:00:00 src/redis-server 10.11.220.3:6379 [cluster]
    root 22881 9423 0 17:43 pts/1 00:00:00 grep --color=auto redis

    6.创建配置Redis集群
    [root@tdh3 redis-5.0.5]# redis1=10.11.220.3
    [root@tdh3 redis-5.0.5]# redis2=10.11.220.4
    [root@tdh3 redis-5.0.5]# redis3=10.11.220.5
    [root@tdh3 redis-5.0.5]# echo ${redis1}
    10.11.220.3
    [root@tdh3 redis-5.0.5]# echo ${redis2}
    10.11.220.4
    [root@tdh3 redis-5.0.5]# echo ${redis3}
    10.11.220.5
    如果需要配置密码:创建集群的时候可以指定面redis-cli --cluster create xxx:port xxx:port xxx:prot -a "password" --cluster-replicas 1
    [root@tdh3 redis-5.0.5]# redis-cli --cluster create ${redis1}:6379 ${redis2}:6379 ${redis3}:6379
    >>> Performing hash slots allocation on 3 nodes...
    Master[0] -> Slots 0 - 5460
    Master[1] -> Slots 5461 - 10922
    Master[2] -> Slots 10923 - 16383
    M: 628eb99674e16f34ab0620c4d2a4d18a3d5d9b03 10.11.220.3:6379
    slots:[0-5460] (5461 slots) master
    M: 3e4327ae7e6e144a6b9369c579adbce9de68d600 10.11.220.4:6379
    slots:[5461-10922] (5462 slots) master
    M: c907ef24bee29ced9091afa1f2b1b6dd89de6cff 10.11.220.5:6379
    slots:[10923-16383] (5461 slots) master
    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 10.11.220.3:6379)
    M: 628eb99674e16f34ab0620c4d2a4d18a3d5d9b03 10.11.220.3:6379
    slots:[0-5460] (5461 slots) master
    M: c907ef24bee29ced9091afa1f2b1b6dd89de6cff 10.11.220.5:6379
    slots:[10923-16383] (5461 slots) master
    M: 3e4327ae7e6e144a6b9369c579adbce9de68d600 10.11.220.4:6379
    slots:[5461-10922] (5462 slots) master
    [OK] All nodes agree about slots configuration.
    >>> Check for open slots...
    >>> Check slots coverage...
    [OK] All 16384 slots covered.

    [root@tdh4 redis-5.0.5]# src/redis-cli -h 10.11.220.3 -p 6379 -c -a XXXX
    10.11.220.3:6379> SET myname transwarp
    -> Redirected to slot [12807] located at 10.11.220.5:6379
    OK
    10.11.220.5:6379> GET myname
    "transwarp"
    关闭集群
    只需要分别关闭各个Redis服务即可
    ./src/redis-cli -a xxxxxx shutdown

    #查看redis-server的版本
    redis-server --version
    #查看redis-cli的版本
    redis-cli --version
    #10master 节点
    [root@tdh3 redis-5.0.5]# ./src/redis-cli --cluster create ${redis1}:6379 ${redis2}:6379 ${redis3}:6379 ${redis4}:6379 ${redis5}:6379 ${redis6}:6379 ${redis7}:6379 ${redis8}:6379 ${redis9}:6379 ${redis10}:6379
    >>> Performing hash slots allocation on 10 nodes...
    Master[0] -> Slots 0 - 1637
    Master[1] -> Slots 1638 - 3276
    Master[2] -> Slots 3277 - 4914
    Master[3] -> Slots 4915 - 6553
    Master[4] -> Slots 6554 - 8191
    Master[5] -> Slots 8192 - 9829
    Master[6] -> Slots 9830 - 11468
    Master[7] -> Slots 11469 - 13106
    Master[8] -> Slots 13107 - 14745
    Master[9] -> Slots 14746 - 16383
    M: f98872ebbeee82185b2e62516ef5d301e92d25ff 10.11.220.3:6379
    slots:[0-1637] (1638 slots) master
    M: ed7989e22ab91d0066612c3d5178132f1e67f439 10.11.220.4:6379
    slots:[1638-3276] (1639 slots) master
    M: 0d14ec66bf7c6194894abf0052b90ce851cc0fd8 10.11.220.5:6379
    slots:[3277-4914] (1638 slots) master
    M: 06284060f638688f75d7cdd7f0a3215b939de467 10.11.220.7:6379
    slots:[4915-6553] (1639 slots) master
    M: 0270bf3509823824e380d26c2098a729f29eceb6 10.11.220.8:6379
    slots:[6554-8191] (1638 slots) master
    M: 067feffdf194774f78b9a7b304ad4c9e93192716 10.11.220.9:6379
    slots:[8192-9829] (1638 slots) master
    M: b93ad1b0f12f7399ea80c3246c680baa1dcd798e 10.11.220.10:6379
    slots:[9830-11468] (1639 slots) master
    M: 1dcfa7fb696910f6512b414186b1c40534ce79db 10.11.220.14:6379
    slots:[11469-13106] (1638 slots) master
    M: f979c57a9c087089a13a4a91f45e750a9476e65b 10.11.220.15:6379
    slots:[13107-14745] (1639 slots) master
    M: 10efa00adb81684cadec457506f83f3a03018fe3 10.11.220.16:6379
    slots:[14746-16383] (1638 slots) master
    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 10.11.220.3:6379)
    M: f98872ebbeee82185b2e62516ef5d301e92d25ff 10.11.220.3:6379
    slots:[0-1637] (1638 slots) master
    M: b93ad1b0f12f7399ea80c3246c680baa1dcd798e 10.11.220.10:6379
    slots:[9830-11468] (1639 slots) master
    M: 06284060f638688f75d7cdd7f0a3215b939de467 10.11.220.7:6379
    slots:[4915-6553] (1639 slots) master
    M: 0270bf3509823824e380d26c2098a729f29eceb6 10.11.220.8:6379
    slots:[6554-8191] (1638 slots) master
    M: 0d14ec66bf7c6194894abf0052b90ce851cc0fd8 10.11.220.5:6379
    slots:[3277-4914] (1638 slots) master
    M: 10efa00adb81684cadec457506f83f3a03018fe3 10.11.220.16:6379
    slots:[14746-16383] (1638 slots) master
    M: f979c57a9c087089a13a4a91f45e750a9476e65b 10.11.220.15:6379
    slots:[13107-14745] (1639 slots) master
    M: 067feffdf194774f78b9a7b304ad4c9e93192716 10.11.220.9:6379
    slots:[8192-9829] (1638 slots) master
    M: 1dcfa7fb696910f6512b414186b1c40534ce79db 10.11.220.14:6379
    slots:[11469-13106] (1638 slots) master
    M: ed7989e22ab91d0066612c3d5178132f1e67f439 10.11.220.4:6379
    slots:[1638-3276] (1639 slots) master
    [OK] All nodes agree about slots configuration.
    >>> Check for open slots...
    >>> Check slots coverage...
    [OK] All 16384 slots covered.
    [root@tdh3 redis-5.0.5]# ./src/redis-cli -h 10.11.220.3 -p 6379 -c
    10.11.220.3:6379> cluster info
    cluster_state:ok
    cluster_slots_assigned:16384
    cluster_slots_ok:16384
    cluster_slots_pfail:0
    cluster_slots_fail:0
    cluster_known_nodes:10
    cluster_size:10
    cluster_current_epoch:10
    cluster_my_epoch:1
    cluster_stats_messages_ping_sent:88
    cluster_stats_messages_pong_sent:100
    cluster_stats_messages_sent:188
    cluster_stats_messages_ping_received:91
    cluster_stats_messages_pong_received:88
    cluster_stats_messages_meet_received:9
    cluster_stats_messages_received:188
    10.11.220.3:6379> cluster nodes
    b93ad1b0f12f7399ea80c3246c680baa1dcd798e 10.11.220.10:6379@16379 master - 0 1572846420725 7 connected 9830-11468
    06284060f638688f75d7cdd7f0a3215b939de467 10.11.220.7:6379@16379 master - 0 1572846420000 4 connected 4915-6553
    0270bf3509823824e380d26c2098a729f29eceb6 10.11.220.8:6379@16379 master - 0 1572846418719 5 connected 6554-8191
    0d14ec66bf7c6194894abf0052b90ce851cc0fd8 10.11.220.5:6379@16379 master - 0 1572846417000 3 connected 3277-4914
    10efa00adb81684cadec457506f83f3a03018fe3 10.11.220.16:6379@16379 master - 0 1572846421729 10 connected 14746-16383
    f979c57a9c087089a13a4a91f45e750a9476e65b 10.11.220.15:6379@16379 master - 0 1572846422000 9 connected 13107-14745
    067feffdf194774f78b9a7b304ad4c9e93192716 10.11.220.9:6379@16379 master - 0 1572846420000 6 connected 8192-9829
    1dcfa7fb696910f6512b414186b1c40534ce79db 10.11.220.14:6379@16379 master - 0 1572846422732 8 connected 11469-13106
    ed7989e22ab91d0066612c3d5178132f1e67f439 10.11.220.4:6379@16379 master - 0 1572846418000 2 connected 1638-3276
    f98872ebbeee82185b2e62516ef5d301e92d25ff 10.11.220.3:6379@16379 myself,master - 0 1572846416000 1 connected 0-1637
    10.11.220.3:6379>

    https://my.oschina.net/jerval/blog/3080040

  • 相关阅读:
    大数据-storm理论
    大数据-hadoop理论
    大数据-spark理论(3)sparkSql,sparkStreaming,spark调优
    大数据-spark理论(2)算子,shuffle优化
    大数据-spark理论(1)初识,原理,搭建
    Linux Bash 文件加载顺序
    Git Flow 自动化发布
    IntelliJ 报错 Error occurred during initialization of VM
    Jenkins Pipeline Build 不下载最新的包
    【从零单排】Java 8 实战演练
  • 原文地址:https://www.cnblogs.com/songyuejie/p/12703571.html
Copyright © 2020-2023  润新知