• Linux(CentOS7) 环境搭建 Redis5.0.8 集群


    本篇文章,阐述从Centos7 min版 ,从0搭建redis集群

    如果Centos7 最小化安装没有ifconfig这个命令:

    yum install net-tools

    安装完成之后

    安装rz sz 工具 :yum -y install lrzsz

    将下载好的 redis 安装包和 ruby 安装包上传到linux 解压

    tar zxvf  redis-stable.tar.gz          

    tar zxvf  ruby-2.6.6.tar.gz

    yum install gcc-c++

    make MALLOC=libc

    yum install -y tcl

    make test

    make install PREFIX=/usr/local/redis

     cd redis-stable

     cp redis.conf /usr/local/redis/bin/

    vi redis.conf 

    daemonize yes

    前端启动:./redis-server

    后端启动: ./redis-server redis.conf  

    客户端操作: ./redis-cli 

    #############################单机版Redis搭建完成##################################

    [root@localhost local]# mkdir redis-cluster

    修改配置文件
    [root@localhost redis]# cp -r bin/ /usr/local/redis-cluster/
    [root@localhost redis]# cd /usr/local/redis-cluster/
    [root@localhost redis-cluster]# mv bin/ redis01
    [root@localhost redis-cluster]# vi redis01/redis.conf

    bind 127.0.0.1 192.168.198.132
    port 6001
    cluster-enabled yes

    复制6份

    [root@localhost redis-cluster]# cp -r redis01/ redis02
    [root@localhost redis-cluster]# cp -r redis01/ redis03
    [root@localhost redis-cluster]# cp -r redis01/ redis04
    [root@localhost redis-cluster]# cp -r redis01/ redis05
    [root@localhost redis-cluster]# cp -r redis01/ redis06

    修改对应端口 6002 6003 6004 6005 6006

    [root@localhost redis-cluster]# touch start.sh

    cd redis01
    ./redis-server redis.conf
    cd ..
    cd redis02
    ./redis-server redis.conf
    cd ..
    cd redis03
    ./redis-server redis.conf
    cd ..
    cd redis04
    ./redis-server redis.conf
    cd ..
    cd redis05
    ./redis-server redis.conf
    cd ..
    cd redis06
    ./redis-server redis.conf
    cd ..

    脚本授权:
    [root@localhost redis-cluster]# chmod +x start.sh

    启动redis实例
    [root@localhost redis-cluster]# ./start.sh
    9546:C 16 Apr 2020 07:43:44.197 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    9546:C 16 Apr 2020 07:43:44.197 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=9546, just started
    9546:C 16 Apr 2020 07:43:44.197 # Configuration loaded
    9548:C 16 Apr 2020 07:43:44.204 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    9548:C 16 Apr 2020 07:43:44.204 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=9548, just started
    9548:C 16 Apr 2020 07:43:44.204 # Configuration loaded
    9550:C 16 Apr 2020 07:43:44.210 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    9550:C 16 Apr 2020 07:43:44.210 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=9550, just started
    9550:C 16 Apr 2020 07:43:44.210 # Configuration loaded
    9555:C 16 Apr 2020 07:43:44.221 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    9555:C 16 Apr 2020 07:43:44.221 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=9555, just started
    9555:C 16 Apr 2020 07:43:44.221 # Configuration loaded
    9560:C 16 Apr 2020 07:43:44.226 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    9560:C 16 Apr 2020 07:43:44.226 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=9560, just started
    9560:C 16 Apr 2020 07:43:44.226 # Configuration loaded
    9565:C 16 Apr 2020 07:43:44.236 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    9565:C 16 Apr 2020 07:43:44.236 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=9565, just started
    9565:C 16 Apr 2020 07:43:44.236 # Configuration loaded

    查看redis实例进程
    [root@localhost redis-cluster]# ps aux|grep redis
    root 9454 0.1 0.2 144092 2216 ? Ssl 07:21 0:02 ./redis-server 127.0.0.1:6379
    root 9547 0.1 0.2 144540 2588 ? Ssl 07:43 0:00 ./redis-server 127.0.0.1:6001 [cluster]
    root 9549 0.1 0.2 144540 2588 ? Ssl 07:43 0:00 ./redis-server 127.0.0.1:6002 [cluster]
    root 9554 0.1 0.2 144540 2588 ? Ssl 07:43 0:00 ./redis-server 127.0.0.1:6003 [cluster]
    root 9556 0.1 0.2 144540 2588 ? Ssl 07:43 0:00 ./redis-server 127.0.0.1:6004 [cluster]
    root 9561 0.1 0.2 144540 2584 ? Ssl 07:43 0:00 ./redis-server 127.0.0.1:6005 [cluster]
    root 9566 0.1 0.2 144540 2584 ? Ssl 07:43 0:00 ./redis-server 127.0.0.1:6006 [cluster]
    root 9579 0.0 0.0 112712 964 pts/0 R+ 07:44 0:00 grep --color=auto redis

    移动redis管理工具到集群中
    [root@localhost redis-stable]# cd src/
    [root@localhost src]# ll *.rb
    -rwxr-xr-x. 1 1000 1000 3600 Mar 12 23:07 redis-trib.rb
    [root@localhost src]# cp redis-trib.rb /usr/local/redis-cluster/
    [root@localhost src]# cp redis-cli /usr/local/redis-cluster/

    安装ruby
    [root@localhost local]# mkdir ruby
    [root@localhost ruby-2.6.6]# ./configure
    [root@localhost ruby-2.6.6]# make
    [root@localhost ruby-2.6.6]# make PREFIX=/usr/local/ruby install
    [root@localhost ~]# cd ruby-2.6.6
    [root@localhost ruby-2.6.6]# ruby -version
    ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]
    Traceback (most recent call last):
    -e:1:in `<main>': undefined local variable or method `rsion' for main:Object (NameError)
    [root@localhost ruby-2.6.6]#

    启动集群:
    [root@localhost redis-cluster]# ./redis-cli --cluster create 192.168.198.132:6001 192.168.198.132:6002 192.168.198.132:6003 192.168.198.132:6004 192.168.198.132:6005 192.168.198.132:6006 --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.198.132:6005 to 192.168.198.132:6001
    Adding replica 192.168.198.132:6006 to 192.168.198.132:6002
    Adding replica 192.168.198.132:6004 to 192.168.198.132:6003
    >>> Trying to optimize slaves allocation for anti-affinity
    [WARNING] Some slaves are in the same host as their master
    M: 507c435cb94b5d37fd35949cba52ac3306dec9b5 192.168.198.132:6001
       slots:[0-5460] (5461 slots) master
    M: 635d950f173541311e09481aa9d323cbfb6e52a9 192.168.198.132:6002
       slots:[5461-10922] (5462 slots) master
    M: 36b583765b542ba35fa8e8378bc3c2c669291c16 192.168.198.132:6003
       slots:[10923-16383] (5461 slots) master
    S: 7904d00a56fde596e5e674de47e99f7034a2bfbd 192.168.198.132:6004
       replicates 635d950f173541311e09481aa9d323cbfb6e52a9
    S: 1b413d7209108340bb863f38c060712cf0aa1563 192.168.198.132:6005
       replicates 36b583765b542ba35fa8e8378bc3c2c669291c16
    S: d43812094132d7f978d73dcef6261d3c1b3449cf 192.168.198.132:6006
       replicates 507c435cb94b5d37fd35949cba52ac3306dec9b5
    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.198.132:6001)
    M: 507c435cb94b5d37fd35949cba52ac3306dec9b5 192.168.198.132:6001
       slots:[0-5460] (5461 slots) master
       1 additional replica(s)
    S: 1b413d7209108340bb863f38c060712cf0aa1563 127.0.0.1:6005
       slots: (0 slots) slave
       replicates 36b583765b542ba35fa8e8378bc3c2c669291c16
    M: 635d950f173541311e09481aa9d323cbfb6e52a9 127.0.0.1:6002
       slots:[5461-10922] (5462 slots) master
       1 additional replica(s)
    S: 7904d00a56fde596e5e674de47e99f7034a2bfbd 127.0.0.1:6004
       slots: (0 slots) slave
       replicates 635d950f173541311e09481aa9d323cbfb6e52a9
    S: d43812094132d7f978d73dcef6261d3c1b3449cf 127.0.0.1:6006
       slots: (0 slots) slave
       replicates 507c435cb94b5d37fd35949cba52ac3306dec9b5
    M: 36b583765b542ba35fa8e8378bc3c2c669291c16 127.0.0.1:6003
       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@localhost redis-cluster]# redis-cli -h 192.168.198.132 -c -p 6001
    -bash: redis-cli: command not found
    [root@localhost redis-cluster]# ./redis-cli -h 192.168.198.132 -c -p 6001
    192.168.198.132:6001> set a 1000
    -> Redirected to slot [15495] located at 127.0.0.1:6003
    OK
    127.0.0.1:6003> get a
    "1000"
    127.0.0.1:6003>

    测试完成!

    ##############################Redis集群搭建完成#####################################

    参考文档:https://blog.csdn.net/yuhuochengshi/article/details/102610562

  • 相关阅读:
    crtmpserver流媒体服务器的介绍与搭建
    RTMP流媒体服务器 crtmpserver
    red5-server源码:https://github.com/Red5/red5-server
    C++实现RTMP协议发送H.264编码及AAC编码的音视频
    linux 下Time_wait过多问题解决
    Tomcat调优配置技巧集锦
    Tomcat调优总结
    LeetCode题解之 Longest Common Prefix
    LeetCode题解之Longest Continuous Increasing Subsequence
    LeetCode题解之Longest Increasing Subsequence
  • 原文地址:https://www.cnblogs.com/zhanh247/p/12709727.html
Copyright © 2020-2023  润新知