Redis 單機安裝和哨兵模式集群安裝的實現(xiàn)
前言:
本文使用的是操作系統(tǒng)為:linux centos7
本文使用的Redis版本為:redis-5.0.13
其他系統(tǒng)或者版本也可以按照以下步驟安裝
1、Redis單機版安裝
1.1:下載安裝包
官網(wǎng)地址:Redis
下載地址為:https://download.redis.io/releases/redis-5.0.13.tar.gz
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
解壓完成后進入解壓后的文件夾會看到如下的文件內(nèi)容
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:執(zhí)行make命令,編譯redis代碼
make
一般會出現(xiàn)一下錯誤,不要慌,由于 redis 是用 C 語言開發(fā),安裝之前必先確認是否安裝 gcc 環(huán)境(gcc -v),如果沒有安裝,執(zhí)行以下命令進行安裝 yum install -y gcc
gcc環(huán)境安裝成功后,執(zhí)行 make distclean 清楚之間的make記錄,然后重新 make
1.4:安裝并指定安裝目錄
make install PREFIX=/usr/local/redis
1.5:配置環(huán)境變量
vi /etc/profile #在最后面加上以下內(nèi)容 export REDIS_HOME=/usr/local/redis export PATH=$PATH:$REDIS_HOME/bin #使環(huán)境變量生效 source /etc/profile
1.6:讓redis作為服務(wù)進行后臺啟動
1.6.1:從 redis 的源碼目錄中復(fù)制 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
1.6.3:后臺啟動,并且鏈接redis測試, 執(zhí)行一下命令啟動redis
redis-server /usr/local/redis/bin/redis.conf
然后執(zhí)行 redis-cli 連接redis,然后set get 數(shù)據(jù)測試
至此,單機版redis已經(jīng)安裝成功了?。?!
1.7:redis關(guān)閉服務(wù)
redis-cli shutdown
2、Redis 集群版安裝
說明本文的redis集群版本,使用的是主從復(fù)制的集群版本安裝
2.1:基本的集群拓撲圖如下
2.2:修改redis-sentinel的配置文件 sentinel.conf
#sentinel-1 配置文件修改內(nèi)容 port 26379 sentinel monitor mymaster 192.168.33.100 6379 2 #sentinel-2 配置文件修改內(nèi)容 port 26380 sentinel monitor mymaster 192.168.33.100 6379 2 #sentinel-3 配置文件修改內(nèi)容 port 26380 sentinel monitor mymaster 192.168.33.100 6379 2
sentinel monitor <master-name> <ip> <redis-port> <quorum> 配置文件說明:該配置是告訴sentinel去監(jiān)聽地址為ip:port的一個master,這里的master-name可以自定義,quorum是一個數(shù)字,指明當(dāng)有多少個sentinel認為一個master失效時,master才算真正失效。master-name只能包含英文字母,數(shù)字,和“.-_”這三個字符需要注意的是master-ip 要寫真實的ip地址而不要用回環(huán)地址(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 服務(wù)
2.5:分別啟動 sentinel-1, sentinel-2, sentinel-3
cd /usr/local/redis/bin redis-sentinel sentinel.conf
2.6:驗證集群效果
2.6.1:連接到主redis服務(wù),查看集群情況,可以看到有當(dāng)前redis為master,其他兩臺redis服務(wù)為slave
redis-cli -h 192.168.33.100 -p 6379 info replication #得到以下內(nèi)容 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主服務(wù)
redis-cli -h 192.168.33.100 -p 6379 shutdown
2.6.3:查看sentinel服務(wù)的日志,可以看到redis主服務(wù)宕機,sentinel服務(wù)主動切換6381為主redis服務(wù)
2.6.4:再次啟動6379端口 redis 服務(wù)查看集群情況,可以看到,6379已經(jīng)變?yōu)閺姆?wù)了
至此,哨兵模式的高可用主從復(fù)制集群已經(jīng)搭建好了
到此這篇關(guān)于Redis 單機安裝和哨兵模式集群安裝的實現(xiàn)的文章就介紹到這了,更多相關(guān)Redis 哨兵模式集群安裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Win10下 Redis啟動 錯誤1067導(dǎo)致進程意外終止的解決方法
這篇文章主要介紹了Win10下 Redis啟動 錯誤1067導(dǎo)致進程意外終止的完美解決方案,需要的朋友可以參考下2018-01-01Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解
本文主要介紹了Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05Redis集群增加節(jié)點與刪除節(jié)點的方法詳解
這篇文章主要給大家介紹了關(guān)于Redis集群增加節(jié)點與刪除節(jié)點的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09深入解析RedisJSON之如何在Redis中直接處理JSON數(shù)據(jù)
JSON已經(jīng)成為現(xiàn)代應(yīng)用程序之間數(shù)據(jù)傳輸?shù)耐ㄓ酶袷?然而,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在處理JSON數(shù)據(jù)時可能會遇到性能瓶頸,本文將詳細介紹RedisJSON的工作原理、關(guān)鍵操作、性能優(yōu)勢以及使用場景,感興趣的朋友一起看看吧2024-05-05RedisDesktopManager遠程連接redis的實現(xiàn)
本文主要介紹了RedisDesktopManager遠程連接redis的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Redis實現(xiàn)驗證碼發(fā)送并限制每日發(fā)送次數(shù)的示例代碼
本文主要介紹了Redis實現(xiàn)驗證碼發(fā)送并限制每日發(fā)送次數(shù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Redis+aop實現(xiàn)接口防刷(冪等)的解決方案
在高并發(fā)場景下,可能會因為網(wǎng)絡(luò)或者服務(wù)器原因,造成延遲,同時就是有可能會有人用腳本大量訪問你的接口,造成資源崩潰,所以本文給大家介紹了Redis+aop實現(xiàn)接口防刷(冪等)的解決方案,需要的朋友可以參考下2024-03-03