溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Redis的安裝及部署

發(fā)布時(shí)間:2021-08-26 15:05:52 來源:億速云 閱讀:152 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要介紹“Redis的安裝及部署”,在日常操作中,相信很多人在Redis的安裝及部署問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Redis的安裝及部署”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

一、安裝Redis

本文檔基于CentOS 7.6.1810編寫而成,由于Linux發(fā)行版眾多,安裝過程可能有些許不同,僅供參考

1、下載Redis源碼:wget http://download.redis.io/releases/redis-4.0.14.tar.gz

2、解壓:tar xzf redis-4.0.14.tar.gz

3、進(jìn)入目錄:cd redis-4.0.14/

4、編譯:make -j 4(4表示使用4核編譯,默認(rèn)是1核,請(qǐng)根據(jù)實(shí)際情況修改參數(shù))

看到如下提示時(shí)表示編譯成功

Redis的安裝及部署

二、部署單機(jī)版Redis

1、使用cd命令切換目錄到Redis主目錄下

2、創(chuàng)建一個(gè)文件夾用于存放單機(jī)版的數(shù)據(jù)和配置:mkdir single

3、拷貝一份配置文件到single文件夾:cp redis.conf single/redis.conf

4、切換到single目錄:cd single/

5、使用你熟悉的編輯器修改redis.conf文件

可能需要修改的配置如下:

第69行:bind 127.0.0.1(白名單配置,只允許指定IP的客戶端連接,注釋掉表示允許所有客戶端)

第88行:protected-mode yes(yes表示只允許本地連接)

第92行:port 6379(端口號(hào))

第136行:daemonize no(改成yes表示后臺(tái)運(yùn)行)

第158行:pidfile /var/run/redis_6379.pid(后邊的數(shù)字改成跟端口號(hào)一致)

第171行:logfile ""(日志路徑,指定為${redis.home}/single/redis.log,必須為絕對(duì)路徑,${redis.home}表示redis的安裝目錄,必須配置)

第218行:RDB持久化配置,全部注釋掉并加上save ""表示關(guān)閉RDB持久化
save 900 1(每900秒內(nèi)有1個(gè)key修改則進(jìn)行持久化)
save 300 10(每300秒內(nèi)有10個(gè)key修改則進(jìn)行持久化)
save 60 10000(每60秒內(nèi)有10000個(gè)key修改則進(jìn)行持久化)

第263行:dir ./(表示RDB文件的保存目錄,需要修改為single的絕對(duì)路徑,否則會(huì)保存在src中,必須配置)

第500行:requirepass foobared(設(shè)置redis的密碼,注釋掉表示不需要)

第559行:maxmemory <bytes>(redis最大占用內(nèi)存,根據(jù)實(shí)際情況配置,單位是字節(jié),如果注釋掉則不限制內(nèi)存,但是還是受系統(tǒng)可用內(nèi)存限制)

第590行:maxmemory-policy noeviction(緩存清除策略,當(dāng)內(nèi)存占用滿的時(shí)候,會(huì)觸發(fā)這個(gè)策略,清空一部分key,默認(rèn)不清除,而是對(duì)寫請(qǐng)求報(bào)錯(cuò))
主要是兩個(gè)策略:
volatile-lru:使用LRU算法清除帶有過期時(shí)間的緩存,LRU即清除長(zhǎng)時(shí)間未使用的緩存
volatile-lfu:使用LFU算法清除帶有過期時(shí)間的緩存,LFU即清除很少使用的緩存

第672行:appendonly no(是否開啟AOF持久化)

6、在single目錄下新建一個(gè)文件:touch start.sh并加入以下內(nèi)容

#!/bin/sh
#注意這個(gè)目錄是指你實(shí)際的redis安裝目錄
cd /home/iceberg/Program/redis-4.0.12
src/redis-server single/redis.conf

授予其可執(zhí)行權(quán)限chmod 777 start.sh,運(yùn)行即可啟動(dòng)

7、關(guān)閉redis

不要使用Kill -9的方法強(qiáng)制關(guān)閉Redis,不僅是Redis,任何程序都不應(yīng)該使用這個(gè)方式關(guān)閉!這會(huì)使得程序預(yù)設(shè)的清理代碼不執(zhí)行?。?!

在single目錄下新建一個(gè)文件:touch stop.sh并加入以下內(nèi)容

#!/bin/sh
cd /home/iceberg/Program/redis-4.0.12
src/redis-cli -p 6379 shutdown

三、部署主從版Redis

1、使用cd命令切換目錄到Redis主目錄下

2、創(chuàng)建一個(gè)文件夾用于存放主從版的數(shù)據(jù)和配置:mkdir replication

3、進(jìn)入目錄:cd relication

4、創(chuàng)建兩個(gè)文件夾:mkdir master slave

5、切換到主目錄,把配置文件分別拷貝到master和slave,cp redis.conf replication/master/redis.conf、cp redis.conf replication/slave/redis.conf

6、主從的配置大部分與單機(jī)版相同,必須修改的地方如下

第92行:port 6379(端口號(hào),主從的端口號(hào)必須不一樣)
第171行:logfile ""(日志路徑,指定為${redis.home}/replication/master或者slave/redis.log,必須為絕對(duì)路徑,${redis.home}表示redis的安裝目錄,必須配置)
第263行:dir ./(表示RDB文件的保存目錄,需要修改為master或者slave的絕對(duì)路徑,否則會(huì)保存在src中,必須配置)
第281行:slaveof <masterip> <masterport>(配置主節(jié)點(diǎn)的ip和端口號(hào))
第288行:masterauth <master-password>(如果主節(jié)點(diǎn)配置了密碼,這里也要配置相同的密碼,否則連不上)

7、啟動(dòng)和關(guān)閉腳本也與單機(jī)版相同

四、部署哨兵版Redis

1、使用cd命令切換目錄到Redis主目錄下

2、創(chuàng)建一個(gè)文件夾用于存放哨兵版的數(shù)據(jù)和配置:mkdir sentinel

3、首先配置好主從節(jié)點(diǎn),并啟動(dòng)

4、創(chuàng)建三個(gè)文件夾:mkdir sentinel1 sentinel2 sentinel3

5、復(fù)制sentinel.conf到三個(gè)文件夾中(注意這里的配置文件不是redis.conf!)

6、需要修改的地方如下

第21行:port 26379(端口號(hào))
第50行:dir /tmp(數(shù)據(jù)存儲(chǔ)目錄)
第69行:sentinel monitor mymaster 127.0.0.1 6379 2(配置哨兵監(jiān)控哪個(gè)主節(jié)點(diǎn),mymaster是主節(jié)點(diǎn)的別名,2表示主從切換至少需要2臺(tái)哨兵節(jié)點(diǎn)同意,一般為n/2+1,n表示哨兵節(jié)點(diǎn)數(shù))

7、在sentinel1文件夾中新建一個(gè)文件,touch start.sh,填入以下內(nèi)容

#!/bin/sh
#注意這個(gè)目錄是指你實(shí)際的redis安裝目錄
cd /home/iceberg/Program/redis-4.0.12
src/redis-sentinel sentinel/sentinel1/sentinel.conf

授予其可執(zhí)行權(quán)限chmod 777 start.sh,運(yùn)行即可啟動(dòng)

8、關(guān)閉Redis與單機(jī)版相同,配置對(duì)端口號(hào)即可

五、配置集群版Redis

1、使用cd命令切換目錄到Redis主目錄下

2、創(chuàng)建一個(gè)文件夾用于存放集群版的數(shù)據(jù)和配置:mkdir cluster

3、準(zhǔn)備前置環(huán)境

輸入以下命令即可,雖然官網(wǎng)說這是一個(gè)較老的版本,但是是可以用的

sudo yum install ruby

安裝完成后,輸入下列指令出現(xiàn)版本號(hào)則安裝成功

ruby -v

安裝rubygem redis依賴

wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l redis-3.3.0.gem

都安裝好之后,進(jìn)入{redis.home}/src目錄,執(zhí)行

./redis-trib.rb

出現(xiàn)下列信息則成功,

Redis的安裝及部署

4、新建六個(gè)文件夾(Redis集群最少三主三從),mkdir cluster1 cluster2 cluster3 cluster4 cluster5 cluster6,并復(fù)制redis.conf文件進(jìn)去

5、集群相關(guān)配置如下,其余跟單機(jī)模式相同

# 節(jié)點(diǎn)端口
port 6381
# 開啟集群模式
cluster-enable yes
# 節(jié)點(diǎn)超時(shí)時(shí)間,單位毫秒
cluster-node-timeout 15000
#集群內(nèi)部配置文件
cluster-config-file “nodes-6381.conf”

6、使用單機(jī)版的啟動(dòng)腳本將啟動(dòng)上述六個(gè)redis實(shí)例

7、切換到主目錄下,執(zhí)行(端口號(hào)自行修改)

# --replicas用于指定集群中每個(gè)主節(jié)點(diǎn)配備幾個(gè)從節(jié)點(diǎn)
src/redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386

結(jié)果如下

Redis的安裝及部署

輸入yes

Redis的安裝及部署

發(fā)現(xiàn)所有16384個(gè)槽都分配成功,集群創(chuàng)建完成

8、集群完整性檢查

集群完整性指所有的槽都必須分配到存活的主節(jié)點(diǎn)上,只要16384個(gè)槽有一個(gè)沒有分配給節(jié)點(diǎn)則表示集群不完整。我們可以使用redis-trib.rb check命令檢測(cè)任意一個(gè)節(jié)點(diǎn)即可完成檢查,輸入:

src/redis-trib.rb check 127.0.0.1:6381

Redis的安裝及部署

出現(xiàn)上述提示即表示集群完整

到此,關(guān)于“Redis的安裝及部署”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI