zoukankan      html  css  js  c++  java
  • Redis5.0 3台主机三主三从部署Cluster集群

    1、下载安装

    [root@ip101 redis-5.0.4]# pwd
    /opt/app/redis-5.0.4
    [root@ip101 redis-5.0.4]# ls
    00-RELEASENOTES  BUGS  CONTRIBUTING  COPYING  deps  INSTALL  Makefile  MANIFESTO  README.md  redis.conf  runtest  runtest-cluster  runtest-sentinel  sentinel.conf  src  tests  utils
    [root@ip101 redis-5.0.4]# pwd
    /opt/app/redis-5.0.4
    [root@ip101 redis-5.0.4]# make
    ........................................................
        LINK redis-cli
        CC redis-benchmark.o
        LINK redis-benchmark
        INSTALL redis-check-rdb
        INSTALL redis-check-aof
    
    Hint: It's a good idea to run 'make test' ;)
    
    make[1]: Leaving directory `/opt/app/redis-5.0.4/src'
    [root@ip101 redis-5.0.4]# pwd
    /opt/app/redis-5.0.4
    [root@ip101 redis-5.0.4]# ls
    00-RELEASENOTES  BUGS  CONTRIBUTING  COPYING  deps  INSTALL  Makefile  MANIFESTO  README.md  redis.conf  runtest  runtest-cluster  runtest-sentinel  sentinel.conf  src  tests  utils
    [root@ip101 redis-5.0.4]# make install 
    
    [root@ip101 redis-5.0.4]# make uninstall#默认安装到了/usr/local/bin/目录下,更改为redis放置目录
    cd src && make uninstall
    make[1]: Entering directory `/opt/app/redis-5.0.4/src'
    rm -f /usr/local/bin/{redis-server,redis-benchmark,redis-cli,redis-check-rdb,redis-check-aof,redis-sentinel}
    make[1]: Leaving directory `/opt/app/redis-5.0.4/src'
    [root@ip101 redis-5.0.4]# 
    [root@ip101 redis-5.0.4]# make PREFIX=/opt/app/redis-5.0.4 install
    cd src && make install
    make[1]: Entering directory `/opt/app/redis-5.0.4/src'
    
    Hint: It's a good idea to run 'make test' ;)
    
        INSTALL install
        INSTALL install
        INSTALL install
        INSTALL install
        INSTALL install
    make[1]: Leaving directory `/opt/app/redis-5.0.4/src'
    [root@ip101 redis-5.0.4]# pwd
    /opt/app/redis-5.0.4
    [root@ip101 redis-5.0.4]# ls #安装了bin工具文件夹
    00-RELEASENOTES  bin  BUGS  CONTRIBUTING  COPYING  deps  INSTALL  Makefile  MANIFESTO  README.md  redis.conf  runtest  runtest-cluster  runtest-sentinel  sentinel.conf  src  tests  utils
    

    2、创建相关文件夹

    [root@ip101 redis-5.0.4]# mkdir -p /opt/app/redis-5.0.4/cluster/6379
    [root@ip101 redis-5.0.4]# mkdir -p /opt/app/redis-5.0.4/cluster/6380
    
    [root@ip101 redis-5.0.4]# pwd
    /opt/app/redis-5.0.4
    [root@ip101 redis-5.0.4]# ls
    00-RELEASENOTES  BUGS     CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-sentinel  src    utils
    bin              cluster  COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  sentinel.conf     tests
    [root@ip101 redis-5.0.4]# pwd
    /opt/app/redis-5.0.4
    [root@ip101 redis-5.0.4]# cp redis.conf /opt/app/redis-5.0.4/cluster/6379
    [root@ip101 redis-5.0.4]# cp redis.conf /opt/app/redis-5.0.4/cluster/6380
    [root@ip101 redis-5.0.4]#
    
    

    3、vi /opt/app/redis-5.0.4/cluster/6379/redis.conf

    # 绑定服务器IP地址
    bind 192.168.8.101
    
    # 绑定端口号,必须修改,以此来区分Redis实例
    port 6379
    
    # 后台运行
    daemonize yes
    
    # 修改pid进程文件名,以端口号命名
    pidfile /var/run/redis-6379.pid
    
    # 修改日志文件名称,以端口号为目录来区分
    logfile /opt/app/redis-5.0.4/cluster/6379/redis.log
    
    # 修改数据文件存放地址,以端口号为目录名来区分
    dir /opt/app/redis-5.0.4/cluster/6379/
    
    # 启用集群
    cluster-enabled yes
    
    # 配置每个节点的配置文件,同样以端口号为名称
    cluster-config-file nodes-6379.conf
    
    # 配置集群节点的超时时间,可改可不改
    cluster-node-timeout 15000
    
    # 启动AOF增量持久化策略
    appendonly yes
    
    # 发生改变就记录日志
    appendfsync always
    

    vi /opt/app/redis-5.0.4/cluster/6380/redis.conf

    # 绑定服务器IP地址
    bind 192.168.8.101
    
    # 绑定端口号,必须修改,以此来区分Redis实例
    port 6380
    
    # 后台运行
    daemonize yes
    
    # 修改pid进程文件名,以端口号命名
    pidfile /var/run/redis-6380.pid
    
    # 修改日志文件名称,以端口号为目录来区分
    logfile /opt/app/redis-5.0.4/cluster/6380/redis.log
    
    # 修改数据文件存放地址,以端口号为目录名来区分
    dir /opt/app/redis-5.0.4/cluster/6380/
    
    # 启用集群
    cluster-enabled yes
    
    # 配置每个节点的配置文件,同样以端口号为名称
    cluster-config-file nodes-6380.conf
    
    # 配置集群节点的超时时间,可改可不改
    cluster-node-timeout 15000
    
    # 启动AOF增量持久化策略
    appendonly yes
    
    # 发生改变就记录日志
    appendfsync always
    

    4、ip102,ip103仿效ip101进行安装和配置

    # 绑定服务器IP地址
    bind 192.168.8.102
    ---------------
    # 绑定服务器IP地址
    bind 192.168.8.102
    

    5、ip101,ip102,ip103配置环境变量

    export REDIS_HOME=/opt/app/redis-5.0.4
    export PATH=$REDIS_HOME/bin:$PATH
    source /etc/profile
    

    6、ip101、ip102、ip103启动redis

    [root@ip101 redis-5.0.4]# redis-server /opt/app/redis-5.0.4/cluster/6379/redis.conf 
    [root@ip101 redis-5.0.4]# redis-server /opt/app/redis-5.0.4/cluster/6380/redis.conf   
    [root@ip101 redis-5.0.4]# ps aux|grep redis
    root      12323  0.1  0.2 144480  2548 ?        Ssl  05:01   0:00 redis-server 192.168.8.101:6379 [cluster]
    root      12334  0.4  0.2 144480  2548 ?        Ssl  05:01   0:00 redis-server 192.168.8.101:6380 [cluster]
    root      12343  0.0  0.0 112660   976 pts/0    S+   05:01   0:00 grep --color=auto redis
    [root@ip101 redis-5.0.4]# 
    

    7、创建集群

    redis-cli --cluster create 192.168.8.101:6379 192.168.8.101:6380 192.168.8.102:6379 192.168.8.102:6380 192.168.8.103:6379 192.168.8.103:6380 --cluster-replicas 1
    #################################################################################
    [root@ip101 redis-5.0.4]# redis-cli --cluster create 192.168.8.101:6379 192.168.8.101:6380 192.168.8.102:6379 192.168.8.102:6380 192.168.8.103:6379 192.168.8.103:6380 --cluster-replicas 1
    >>> Performing hash slots allocation on 6 nodes...
    Master[0] -> Slots 0 - 5460
    Master[1] -> Slots 5461 - 10922
    Master[2] -> Slots 10923 - 16383
    Adding replica 192.168.8.102:6380 to 192.168.8.101:6379
    Adding replica 192.168.8.103:6380 to 192.168.8.102:6379
    Adding replica 192.168.8.101:6380 to 192.168.8.103:6379
    M: 3784c7f8683faf1adce14c43c4274300fff33c79 192.168.8.101:6379
       slots:[0-5460] (5461 slots) master
    S: 8181ed88dd5fa1b1165a0b3a4c632de508d5766a 192.168.8.101:6380
       replicates a88b9d61503decf0a4b599c169c693add15b2534
    M: dfb1bf054d740fa7d3c5487278457034f17ca617 192.168.8.102:6379
       slots:[5461-10922] (5462 slots) master
    S: bb5ae386877fda949e10f88f051a9006299fba21 192.168.8.102:6380
       replicates 3784c7f8683faf1adce14c43c4274300fff33c79
    M: a88b9d61503decf0a4b599c169c693add15b2534 192.168.8.103:6379
       slots:[10923-16383] (5461 slots) master
    S: c36284d8e41f05352dbd4b9c8e88be3d9ef24aba 192.168.8.103:6380
       replicates dfb1bf054d740fa7d3c5487278457034f17ca617
    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 192.168.8.101:6379)
    M: 3784c7f8683faf1adce14c43c4274300fff33c79 192.168.8.101:6379
       slots:[0-5460] (5461 slots) master
       1 additional replica(s)
    S: 8181ed88dd5fa1b1165a0b3a4c632de508d5766a 192.168.8.101:6380
       slots: (0 slots) slave
       replicates a88b9d61503decf0a4b599c169c693add15b2534
    S: bb5ae386877fda949e10f88f051a9006299fba21 192.168.8.102:6380
       slots: (0 slots) slave
       replicates 3784c7f8683faf1adce14c43c4274300fff33c79
    S: c36284d8e41f05352dbd4b9c8e88be3d9ef24aba 192.168.8.103:6380
       slots: (0 slots) slave
       replicates dfb1bf054d740fa7d3c5487278457034f17ca617
    M: dfb1bf054d740fa7d3c5487278457034f17ca617 192.168.8.102:6379
       slots:[5461-10922] (5462 slots) master
       1 additional replica(s)
    M: a88b9d61503decf0a4b599c169c693add15b2534 192.168.8.103:6379
       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、查看集群状态

    [root@ip101 redis-5.0.4]# redis-cli --cluster check 192.168.8.101:6379
    192.168.8.101:6379 (3784c7f8...) -> 0 keys | 5461 slots | 1 slaves.
    192.168.8.102:6379 (dfb1bf05...) -> 0 keys | 5462 slots | 1 slaves.
    192.168.8.103:6379 (a88b9d61...) -> 0 keys | 5461 slots | 1 slaves.
    [OK] 0 keys in 3 masters.
    0.00 keys per slot on average.
    >>> Performing Cluster Check (using node 192.168.8.101:6379)
    M: 3784c7f8683faf1adce14c43c4274300fff33c79 192.168.8.101:6379
       slots:[0-5460] (5461 slots) master
       1 additional replica(s)
    S: 8181ed88dd5fa1b1165a0b3a4c632de508d5766a 192.168.8.101:6380
       slots: (0 slots) slave
       replicates a88b9d61503decf0a4b599c169c693add15b2534
    S: bb5ae386877fda949e10f88f051a9006299fba21 192.168.8.102:6380
       slots: (0 slots) slave
       replicates 3784c7f8683faf1adce14c43c4274300fff33c79
    S: c36284d8e41f05352dbd4b9c8e88be3d9ef24aba 192.168.8.103:6380
       slots: (0 slots) slave
       replicates dfb1bf054d740fa7d3c5487278457034f17ca617
    M: dfb1bf054d740fa7d3c5487278457034f17ca617 192.168.8.102:6379
       slots:[5461-10922] (5462 slots) master
       1 additional replica(s)
    M: a88b9d61503decf0a4b599c169c693add15b2534 192.168.8.103:6379
       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.
    [root@ip101 redis-5.0.4]# 
    

    9、使用集群

    随意找到一个端口进行连接

    [root@ip101 redis-5.0.4]# redis-cli -c -h 192.168.8.102 -p 6380
    192.168.8.102:6380> set key1 value1
    -> Redirected to slot [9189] located at 192.168.8.102:6379
    OK
    192.168.8.102:6379> get key1
    "value1"
    192.168.8.102:6379> 
    
  • 相关阅读:
    Git 远程仓库 git remote
    同一台电脑关于多个SSH KEY管理
    dotnet core on Linux 环境搭建及入门demo
    Cannot load JDBC driver class 'com.mysql.jdbc.Driver '
    Mac OS 配置Maven
    Linux中profile、bashrc、bash_profile之间的区别和联系
    如何在Mac的Finder中显示/usr、/tmp、/var等隐藏目录
    Mac OS X 下查看和设置JAVA_HOME
    SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
    事件
  • 原文地址:https://www.cnblogs.com/xidianzxm/p/10838778.html
Copyright © 2011-2022 走看看