首頁 > 資料庫 > Redis > Redis單機安裝和哨兵模式群集安裝怎麼實現

Redis單機安裝和哨兵模式群集安裝怎麼實現

WBOY
發布: 2023-05-27 23:16:56
轉載
1549 人瀏覽過

1、Redis單機版安裝

1.1:下載安裝套件

cd /usr/local/src/
wget https://download.redis.io/releases/redis-5.0.13.tar.gz
登入後複製

#看到redis-5.0.13.tar.gz 檔案就說明下載成功了

# 1.2:解壓縮安裝套件

tar -zxvf redis-5.0.13.tar.gz
登入後複製

解壓縮完成後進入解壓縮後的資料夾會看到如下的檔案內容 

cd redis-5.0.13
ll
 
-rw-rw-r--.  1 root root 125833 Jul 22 02:07 00-RELEASENOTES
-rw-rw-r--.  1 root root     53 Jul 22 02:07 BUGS
-rw-rw-r--.  1 root root   2381 Jul 22 02:07 CONTRIBUTING
-rw-rw-r--.  1 root root   1487 Jul 22 02:07 COPYING
drwxrwxr-x.  6 root root    124 Jul 22 02:07 deps
-rw-rw-r--.  1 root root     11 Jul 22 02:07 INSTALL
-rw-rw-r--.  1 root root    151 Jul 22 02:07 Makefile
-rw-rw-r--.  1 root root   6888 Jul 22 02:07 MANIFESTO
-rw-rw-r--.  1 root root  20555 Jul 22 02:07 README.md
-rw-rw-r--.  1 root root  63088 Jul 22 02:07 redis.conf
-rwxrwxr-x.  1 root root    275 Jul 22 02:07 runtest
-rwxrwxr-x.  1 root root    280 Jul 22 02:07 runtest-cluster
-rwxrwxr-x.  1 root root    373 Jul 22 02:07 runtest-moduleapi
-rwxrwxr-x.  1 root root    281 Jul 22 02:07 runtest-sentinel
-rw-rw-r--.  1 root root   9710 Jul 22 02:07 sentinel.conf
drwxrwxr-x.  3 root root   4096 Jul 22 02:07 src
drwxrwxr-x. 11 root root    182 Jul 22 02:07 tests
drwxrwxr-x.  8 root root   4096 Jul 22 02:07 utils
登入後複製

1.3:執行make指令,編譯redis程式碼

make
登入後複製

通常會出現一下錯誤,不要慌,由於redis 是用C 語言開發,安裝之前必先確認是否安裝gcc 環境(gcc -v),如果沒有安裝,執行以下命令進行安裝  yum install -y gcc

Redis單機安裝和哨兵模式群集安裝怎麼實現

 gcc環境安裝成功後,執行 make distclean 清楚之間的make記錄,然後重新make

1.4:安裝並指定安裝目錄

make install PREFIX=/usr/local/redis
登入後複製

1.5:設定環境變數

vi /etc/profile
#在最后面加上以下内容
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin
#使环境变量生效
source /etc/profile
登入後複製

1.6:讓redis作為服務進行後台啟動

1.6.1:從redis 的原始碼目錄複製redis.conf 到redis 的安裝目錄

cp /usr/local/src/redis-5.0.13/redis.conf /usr/local/redis/bin/
登入後複製

1.6.2:修改redis.conf 文件,把daemonize no 改為daemonize yes,讓redis當守護執行緒啟動

cd /usr/local/redis/bin/
vi redis.conf
登入後複製

Redis單機安裝和哨兵模式群集安裝怎麼實現

1.6.3:後台啟動,並且連結redis測試, 執行一下指令啟動redis

redis-server /usr/local/redis/bin/redis.conf
登入後複製

然後執行redis-cli 連接redis,然後set get 資料測試

Redis單機安裝和哨兵模式群集安裝怎麼實現

至此,單機版redis已經安裝成功了! ! !

1.7:redis關閉服務

redis-cli shutdown
登入後複製

2、Redis 叢集版安裝

說明本文的redis叢集版本,使用的是主從複製的叢集版本安裝

#2.1:基本的叢集拓樸圖如下

Redis單機安裝和哨兵模式群集安裝怎麼實現

2.2:修改redis-sentinel的設定檔 sentinel.conf

#sentinel-1 配置文件修改内容
port 26379
sentinel monitor mymaster 192.168.33.100 6379 2
 
#sentinel-2 配置文件修改内容
port 26380
sentinel monitor mymaster 192.168.33.100 6379 2
 
#sentinel-3 配置文件修改内容
port 26380
sentinel monitor mymaster 192.168.33.100 6379 2
登入後複製

sentinel monitor 設定檔說明:這個設定是告訴sentinel去監聽位址為ip:port的一個master,這裡的master-name可以自訂,quorum是一個數字,指明當有多少個sentinel認為一個master失敗時,master才算真正失效。 master-name只能包含英文字母,數字,和「.-_」這三個字元需要注意的是master-ip 要寫真實的ip位址而不要用回環位址(127.0.0.1)。

2.3:修改redis-server的設定檔 redis.conf

# redis-1 的 redis.conf配置
port 6379
 
# redis-2 的 redis.conf配置
port 6380
replicaof 127.0.0.1 6379
 
# redis-3 的 redis.conf配置
port 6381
replicaof 127.0.0.1 6379
登入後複製

2.4:分別啟動redis-1,redis-2,redis-3 服務

2.5:分別啟動 sentinel-1, sentinel-2,sentinel-3

cd /usr/local/redis/bin
redis-sentinel sentinel.conf
登入後複製

2.6:驗證叢集效果

2.6.1:連線到主redis服務,檢視叢集情況,可以看到有目前redis為master,其他兩台redis服務為slave

redis-cli -h 192.168.33.100 -p 6379
info replication
#得到以下内容
role:master
connected_slaves:2
slave0:ip=192.168.33.101,port=6380,state=online,offset=246573,lag=1
slave1:ip=192.168.33.102,port=6381,state=online,offset=246706,lag=0
master_replid:bc4a9331019d765fe16199fcdcb357b4681a9f75
master_replid2:b41587d209ec96c2b2c634c1880fed7b12ded6e8
master_repl_offset:246839
second_repl_offset:221755
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:9553
repl_backlog_histlen:237287
登入後複製

2.6.2:停止redis主服務

redis-cli -h 192.168.33.100 -p 6379 shutdown
登入後複製

2.6.3:查看sentinel服務的日誌,可以看到redis主服務宕機,sentinel服務主動切換6381為主redis服務

Redis單機安裝和哨兵模式群集安裝怎麼實現

#2.6.4:再次啟動6379埠redis 服務查看叢集情況,可以看到,6379已經變成從服務了

Redis單機安裝和哨兵模式群集安裝怎麼實現

以上是Redis單機安裝和哨兵模式群集安裝怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板