Redis3.0+的Cluster模式部署

下載和安裝Redis

在終端執(zhí)行以下命令來下載,解壓,編譯redis

wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar xzf redis-3.2.1.tar.gz
cd redis-3.2.1
make

創(chuàng)建多個(gè)Redis實(shí)例的配置

mkdir cluster-test
cd cluster-test
mkdir 7000 7001 7002 7003 7004 7005

這5個(gè)目錄分別存放1個(gè)redis實(shí)例的配置,以7000為例:

cd 7000
touch redis.conf
mkdir logs
cd logs
touch redis.log

向redis.config中寫入以下內(nèi)容:

# 監(jiān)聽7000端口
port 7000
# 打開cluster模式
cluster-enabled yes
# 指定cluster模式輸出的配置文件路徑
cluster-config-file /root/redis-3.2.1/cluster-test/7000/nodes.conf
# cluster節(jié)點(diǎn)的超時(shí)時(shí)間
cluster-node-timeout 5000
appendonly yes
# 使用后臺啟動
daemonize yes
# 實(shí)例的日志輸出路徑
logfile "/root/redis-3.2.1/cluster-test/7000/logs/redis.log"

其它5個(gè)實(shí)例的配置同理。

創(chuàng)建啟動腳本并執(zhí)行啟動

為了方便依次啟動這6個(gè)實(shí)例,可以創(chuàng)建一個(gè)啟動腳本在cluster-test目錄下,名為startcluster.sh。內(nèi)容如下:

../src/redis-server ./7000/redis.conf
../src/redis-server ./7001/redis.conf
../src/redis-server ./7002/redis.conf
../src/redis-server ./7003/redis.conf
../src/redis-server ./7004/redis.conf
../src/redis-server ./7005/redis.conf

然后運(yùn)行腳本:

sh startcluster.sh

運(yùn)行下面命令查看是否啟動成功:

ps -ef | grep redis

使用create-cluster腳本創(chuàng)建一個(gè)Redis Cluster

在redis安裝目錄下找到utils/create-cluster/目錄下有create-cluster命令。
執(zhí)行:

create-cluster start
create-cluster create

在第2步后輸入yes來接受cluster的布局
若要停止cluster,執(zhí)行:

create-cluster stop

使用redis-cli測試cluster可用性

連接cluster中的一個(gè)實(shí)例(7000端口的實(shí)例,-c 表示cluster模式):

./redis-cli -p 7000 -c

set和get一些數(shù)據(jù)可以發(fā)現(xiàn),cluster的實(shí)例會根據(jù)key計(jì)算出其對應(yīng)的slot,然后重定向到負(fù)責(zé)該slot的對應(yīng)的redis實(shí)例來處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容