redis主從與集群搭建


redis搭建主從

條件:yum安裝(3.2.1)與編譯安裝(5.0.0)都可以

環境:我這里在同一台主機上搭建,當然也可以兩台。

1) 復制redis.conf的主配置文件並命令為slave.conf

2)配置slave.conf

bind 192.168.253.153(主節點ip一致)

slaveof 192.168.253.153   6379    (主節點的ip與端口)

port  6389 (自定義)

3)重啟服務

redis-server  文件名(如果不在目錄下,就需要帶上目錄)

4)測試

進入主從節點的redis數據庫中,在主節點上添加等操作,如果從節點能夠讀出來,說明配置成功。

redis-cli  -p 6379 -h 192.168.253.10

redis-cli  -p 6389 -h 192.168.253.10            #配置的端口和ip

 redis集群

環境:兩台主機(一台3個主節點,一台三個從節點) 或者一台主機(3台主節點,3台從節點)

條件:編譯安裝,yum安裝的如果時3.2版本或者更早之前很可能會行不通,報錯:

Unrecognized option or bad number of args for: '--cluster'                #此錯誤原因為參數錯誤或者缺少redis cluster

我這里選擇一台主機配置集群:

1)創建一個conf目錄

mkdir conf

2)創建6個.conf結尾的文件

touch {7000,7001,7002,7003,7004,7005}.conf

3)添加配置內容

port 7000       #綁定端口
bind 192.168.253.135  #綁定對外連接提供的ip
daemonize yes           #開啟守護進程
pidfile 7000.pid          #進程文件名
cluster-enabled yes    #是否是集群
cluster-config-file 7000_node.conf    #集群配置文件
cluster-node-timeout 15000             #集群連接超時時間
appendonly yes                    #數據持久化類型

不同配置文件之間只需更改:port  ;pidfile  ;cluster-config-file(如果是不同主機上配置,bind也需更改)

4)寫一個執行腳本:

#!/bin/bash
for i in `seq 0 5`
do
        redis-server 700$i.conf
done

bash a.sh來開啟服務

ps -ef | grep redis 來查看是否開啟服務

5)早版本需要安裝ivm和ruby來做集群操作,現在我們只需要執行以下命令:

redis-cli --cluster create 192.168.253.153:7000 192.168.253.153:7001 192.168.253.153:7002 192.168.253.153:7003 192.168.253.153:7004 192.168.253.153:7005 --cluster-replicas 1

出現以下內容后yes確認接受。

6)測試

進入數據庫:redis-cli  -p7000 -c -h 192.168.253.153

每一次更改等操作會跳轉節點,主節點如果宕機,會由其他兩個節點從從節點中選一個來頂替。

 

拓展:2)、3)、4)步可以通過以下腳本來實現:

#!/bin/bash
for i in `seq 7000 7005`
do
        touch "$i".conf
        echo -e " port "$i"\nbind 192.168.253.153\ndaemonize yes \npidfile "$i".pid\ncluster-enabled yes\ncluster-config-file "$i"_node.conf\ncluster-node-timeout 15000\nappendonly yes" > "$i".conf
        redis-server "$i".conf
done

 


免責聲明!

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



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