redis集群搭建詳細過程


redis版本:redis-5.0.3.tar.gz
操作系統:完全新安裝的centos7.6系統
使用一台虛擬機模擬6個redis節點,3個master,3個slave,虛擬機IP為192.168.220.11
和使用不同的IP創建集群基本過程一致,為了方便,就不創建多個虛擬機了。
開始搭建:

    yum install -y wget gcc
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    cd /opt
    wget http://download.redis.io/releases/redis-5.0.3.tar.gz
    tar zxvf redis-5.0.3.tar.gz
    mv redis-5.0.3 redis
    cd redis

解壓后目錄結構如下:


 
image.png

編譯安裝:

    make MALLOC=libc make install 
 
image.png

src目錄包含了redis server和redis cli的相關命令腳本,將該路徑加入到PATH環境變量當中,方便使用

    cd /opt/redis      
    mkdir cluster # 創建redis實例根目錄
    cd cluster
    mkdir 7001 # 創建具體redis實例相關目錄,指定其端口號為7001
    cd 7001
    cp /opt/redis/redis.conf . #復制配置文件,修改之后當作當前redis實例的啟動配置
    mkdir data # 創建數據存儲目錄

修改配置文件文件,最小化修改配置
下面為需要修改的配置項以及說明
port 7001 # 客戶端連接端口
bind 192.168.220.11 #實例綁定的IP地址
dir /opt/redis/cluster/7001/data # redis實例數據配置存儲位置
daemonize yes # 是否以后台進程的方式啟動redis實例
pidfile pidfile /var/run/redis_7001.pid # 指定該進程pidfile
cluster-enabled yes # 開啟集群模式
cluster-config-file # 集群中該實例的配置文件,該文件會在data目錄下生成
appendonly yes # 開啟aop日志
protected-mode no # 關閉保護模式
requirepass cyclone # master開啟密碼保護
masterauth cyclone # replica同master交互密碼

接下來按照同樣的方式創建7002,7003,7004,7005,7006的文件夾,修改配置文件

依次啟動redis實例
redis-server /opt/redis/cluster/7001/redis.conf
redis-server /opt/redis/cluster/7002/redis.conf
redis-server /opt/redis/cluster/7003/redis.conf
redis-server /opt/redis/cluster/7004/redis.conf
redis-server /opt/redis/cluster/7005/redis.conf
redis-server /opt/redis/cluster/7006/redis.conf
查看啟動結果


 
image.png

集群的創建,將redis實例聯系起來,創建一個集群
redis-cli -a cyclone --cluster create --cluster-replicas 1 192.168.220.11:7001 192.168.220.11:7002 192.168.220.11:7003 192.168.220.11:7004 192.168.220.11:7005 192.168.220.11:7006
輸出如下:


 
image.png

 
image.png

一些slave和master在相同的物理主機上,所以會出現一些警告,這個不影響。
連接到集群的某個節點:

redis-cli -a cyclone -c -h 192.168.220.11 -p 7001
 
image.png

查看集群相關信息:


 
image.png

查看集群節點信息:


 
image.png

集群相關操作:
1.關閉集群的某個節點,比如關閉端口號為7001的實例:
redis-cli -a cyclone -c -h 192.168.220.11 -p 7001 shutdown
查看結果


 
image.png

關閉之后,使用redis-server /opt/redis/cluster/7001/redis.conf命令可以將實例重新啟動,啟動完成之后,自動加入到集群當中


 
image.png

2.集群的關閉
逐個關閉redis實例進程即可
查找redis實例進程號

    ps -ef | grep redis
 
image.png

關閉redis進程,使用kill -9 ${進程號},如果需要關閉多個進程,進程號之間空格隔開即可

    kill -9 10252 10257 10262 10267 10272 10294

也可執行以下命令來關閉redis進程

    pkill -9 redis

3.redis集群的重新啟動
保留原來的數據:
逐個關閉redis實例,再逐個的啟動即可。
丟棄原來的數據:
關閉實例,清空實例中數據存放目錄的所有內容,然后逐個啟動實例,在任意一個實例上執行集群的創建命令即可,本質上就是創建一個新的集群
清空數據存儲目錄內容:

   rm -rf /opt/redis/cluster/7001/data/* rm -rf /opt/redis/cluster/7002/data/* rm -rf /opt/redis/cluster/7003/data/* rm -rf /opt/redis/cluster/7004/data/* rm -rf /opt/redis/cluster/7005/data/* rm -rf /opt/redis/cluster/7006/data/* 

啟動實例:

  redis-server /opt/redis/cluster/7001/redis.conf
  redis-server /opt/redis/cluster/7002/redis.conf
  redis-server /opt/redis/cluster/7003/redis.conf
  redis-server /opt/redis/cluster/7004/redis.conf
  redis-server /opt/redis/cluster/7005/redis.conf
  redis-server /opt/redis/cluster/7006/redis.conf

執行集群創建命令:

redis-cli -a cyclone --cluster create --cluster-replicas 1 192.168.220.11:7001 192.168.220.11:7002 192.168.220.11:7003 192.168.220.11:7004 192.168.220.11:7005 192.168.220.11:7006




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM