redis-cluster(集羣)

redis-cluster(集羣)

簡介

  • redis cluster是Redis的分佈式解決方案,在3.0版本推出後有效地解決了redis分佈式方面的需求,在3.0以前爲了解決容量高可用用方面的需求基本上只能經過客戶端分片+redis sentinel或者代理(twemproxy、codis)方案解決、redis cluster很是優雅地解決了redis集羣方面的問題
  • 功能
    • 高性能
    • 線性擴容
    • 高可用

搭建redis-cluster集羣

  1. 建立6個節點,用於存儲數據,信息都除了端口不一樣都是同樣的node

    vim redis-7000.conf
    # 插入信息
    
    port 7000
    daemonize yes
    dir "/opt/redis/data"
    logfile "7000.log"
    dbfilename "dump-7000.rdb"
    cluster-enabled yes                      #開啓集羣模式
    cluster-config-file nodes-7000.conf  #集羣內部的配置文件
  2. 啓動6個數據庫實例redis

    redis-server redis-7000.conf 
    redis-server redis-7001.conf 
    redis-server redis-7002.conf 
    redis-server redis-7003.conf 
    redis-server redis-7004.conf 
    redis-server redis-7005.conf
  3. 檢查其日誌和進程狀態數據庫

    # 查看日誌
    cat 7000.log
    
    # 查看redis服務端  進程號
    netstat -tunlp|grep redis
    
    ps -ef |grep redis
  4. 開啓分配redis集羣狀態,以及槽位分配,編程

    • 對redis集羣管理的工具備幾種,有豆瓣公司開源的codis工具,還有ruby
  5. 準備ruby的編程環境並下載,vim

    # 1.下載ruby的源碼包
    wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
    # 2. 解壓ruby源碼
    tar -xvf ruby-2.3.1.tar.gz
    # 3. cd 到ruby-2.3.1,編譯
    ./configure --prefix=/opt/ruby/
    # 4 安裝 
    make && make install
    # 將其加入環境變量中
    vim /etc/profile
    插入內容
    export PATH=$PATH:/opt/ruby/bin 
    # 讀出該文件,使其生效
    source /etc/profile
  6. 安裝ruby操做redis模塊ruby

    # 1. 下載ruby操做redis的模塊
    wget http://rubygems.org/downloads/redis-3.3.0.gem
    # 2. 安裝
    gem install -l redis-3.3.0.gem
    # 3. 搜索建立redis集羣的命令
    find /opt  -name  redis-trib.rb
    搜索結果:
    /opt/redis-4.0.10/src/redis-trib.rb
  7. 一鍵建立redis集羣分佈式

    /opt/redis-4.0.10/src/redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
    # 參數解析
    --replicas  進行身份受權 
    後面的1  表明,每一個主節點,只有一個從節點
    
    
    # redis-5.03版本建立集羣的命令爲下
    redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
  8. 查看集羣節點,是否能正常寫入數據工具

    redis-cli -p 7000 -c
    # 參數解析
    -p   指定數據庫端口
    -c   指定開啓集羣模式
  9. 查看集羣狀態性能

    redis-cli -p 7000 cluster info  
    
    redis-cli -p 7000 cluster nodes  #等同於查看nodes-7000.conf文件節點信息
    
    集羣主節點狀態
    redis-cli -p 7000 cluster nodes | grep master
    集羣從節點狀態
    redis-cli -p 7000 cluster nodes | grep slave
  10. 查看集羣狀態代理

    [root@localhost /opt/redis/data]#redis-cli -p 7000 cluster info
    cluster_state:ok
    cluster_slots_assigned:16384
    cluster_slots_ok:16384
    cluster_slots_pfail:0
    cluster_slots_fail:0
    cluster_known_nodes:6
    cluster_size:3
    cluster_current_epoch:6
    cluster_my_epoch:1
    cluster_stats_messages_ping_sent:531
    cluster_stats_messages_pong_sent:586
    cluster_stats_messages_sent:1117
    cluster_stats_messages_ping_received:581
    cluster_stats_messages_pong_received:531
    cluster_stats_messages_meet_received:5
    cluster_stats_messages_received:1117
相關文章
相關標籤/搜索