redis6.0.+ 版本 集群搭建

Redis的5種使用方式兴泥,各自優(yōu)缺點(diǎn)分析:http://www.reibang.com/p/220b8d2c41c3

使用單機(jī)環(huán)境相种,不同端口成洗,搭建三主三從的集群叹谁。本文中使用的ip為同一ip考润,搭建的集群是一個(gè)偽集群。搭建真正集群時(shí)蓬蝶,調(diào)整redis-cli --cluster create中的ip即可。

本文的軟硬件環(huán)境:

ip:172.16.101.35

os:CentOS Linux release 7.7.1908 (Core)

redis:6.0.8

  1. 下載redis:http://download.redis.io/releases猜惋,本文中使用的為redis-6.0.8.tar.gz
  2. 編譯安裝

2.1 解壓redis-6.0.8.tar.gz

tar xzf redis-6.0.8.tar.gz

2.1 進(jìn)入redis-6.0.8目錄丸氛,執(zhí)行make,進(jìn)行編譯

cd redis-6.0.8 
make
若編譯報(bào)錯(cuò)著摔,可能是缺少編譯環(huán)境gcc和tcl

  1)安裝gcc缓窜,先清理掉上一步編譯產(chǎn)生的文件,執(zhí)行命令

  make distclean

  安裝gcc谍咆,執(zhí)行命令

  yum install gcc -y

  這里遇到一個(gè)問題:在安裝6.0.1版本make時(shí)會(huì)遇到這樣一個(gè)錯(cuò)誤禾锤,server.c:xxxx:xx: error: ‘xxxxxxxx’ has no member named ‘xxxxx

    原因:gcc編譯工具版本的問題,centos7默認(rèn)安裝的版本是4.8.5摹察,但是要求對應(yīng)版本要在5.3以上恩掷,查看gcc版本命令

    gcc -v

    解決方法:升級到5.3以上版本,依次執(zhí)行命令

    yum -y install centos-release-scl

    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

    scl enable devtoolset-9 bash

    echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile  --使永久生效

  2)安裝tcl供嚎,執(zhí)行命令

  yum install tcl -y

  重新編譯make

2.2 安裝

 make install PREFIX=/usr/local/redis

這時(shí)就會(huì)在/usr/local目錄下生成一個(gè)redis目錄黄娘,后面操作redis均使用此目錄下文件峭状,解壓編譯的目錄作為源目錄。

  1. 集群搭建

  2. 首先創(chuàng)建集群文件夾逼争,存放不同配置文件

cd /usr/local/redis 
mkdir redis-cluster 
cd redis-cluster 
mkdir 7291 7292 7293 7294 7295 7296
  1. 復(fù)制配置文件至 7291 目錄
cp /usr/local/redis/bin/redis.conf /usr/local/redis/redis-cluster/7291
  1. 修改7291下配置文件內(nèi)容优床,并將 bind 參數(shù)注釋,否則外部客戶端無法連接
port 7291 
daemonize yes 
protected-mode no 
dir /usr/local/redis/redis-cluster/7291/ 
cluster-enabled yes 
cluster-config-file nodes-7291.conf 
cluster-node-timeout 5000
 appendonly yes 
pidfile /var/run/redis_7291.pid
  1. 把7291下的redis.conf復(fù)制到其他5個(gè)目錄
cd /usr/local/redis/redis-cluster/7291
cp redis.conf ../7292 
cp redis.conf ../7293 
cp redis.conf ../7294 
cp redis.conf ../7295 
cp redis.conf ../7296
  1. 批量替換內(nèi)容
cd /usr/local/redis/redis-cluster 
sed -i 's/7291/7292/g' 7292/redis.conf 
sed -i 's/7291/7293/g' 7293/redis.conf 
sed -i 's/7291/7294/g' 7294/redis.conf 
sed -i 's/7291/7295/g' 7295/redis.conf 
sed -i 's/7291/7296/g' 7296/redis.conf
  1. 啟動(dòng)所有節(jié)點(diǎn)
cd /usr/local/redis/bin
 ./redis-server ../redis-cluster/7291/redis.conf
 ./redis-server ../redis-cluster/7292/redis.conf 
./redis-server ../redis-cluster/7293/redis.conf 
./redis-server ../redis-cluster/7294/redis.conf
 ./redis-server ../redis-cluster/7295/redis.conf 
./redis-server ../redis-cluster/7296/redis.conf
  1. 檢查進(jìn)程
ps -ef|grep redis 
root 10776 1 0 06:32 ? 00:00:21 ./redis-server *:7291 [cluster] 
root 10877 1 0 06:34 ? 00:00:23 ./redis-server *:7292 [cluster] 
root 10923 1 0 06:35 ? 00:00:22 ./redis-server *:7293 [cluster] 
root 10965 1 0 06:35 ? 00:00:22 ./redis-server *:7294 [cluster] 
root 11013 1 0 06:36 ? 00:00:23 ./redis-server *:7295 [cluster] 
root 11071 1 0 06:37 ? 00:00:22 ./redis-server *:7296 [cluster]
  1. 創(chuàng)建集群誓焦,注意胆敞! 使用絕對ip,不要使用127.0.0.1
./redis-cli --cluster create 172.16.101.35:7291 172.16.101.35:7292 172.16.101.35:7293 172.16.101.35:7294 172.16.101.35:7295 172.16.101.35:7296 --cluster-replicas 1
參數(shù)說明: --cluster-replicas 1:表示一個(gè)主節(jié)點(diǎn)有一個(gè)從節(jié)點(diǎn)杂伟,集群需要6個(gè)節(jié)點(diǎn)移层,結(jié)果為三主三從;如果為2稿壁,則表示一主兩從幽钢,同時(shí)需要9個(gè)節(jié)點(diǎn)
  1. 測試
./usr/local/redis/bin/redis-cli -p 7291 連接redis后,可使用如下命令管理集群
1傅是、集群命令
cluster info :打印集群的信息
cluster nodes :列出集群當(dāng)前已知的所有節(jié)點(diǎn)(node)匪燕,以及這些節(jié)點(diǎn)的相關(guān)信息。
cluster meet :將 ip 和 port 所指定的節(jié)點(diǎn)添加到集群當(dāng)中喧笔,讓它成為集群的一份子帽驯。
cluster forget <node_id> :從集群中移除 node_id 指定的節(jié)點(diǎn)(保證空槽道)。
cluster replicate <node_id> :將當(dāng)前節(jié)點(diǎn)設(shè)置為 node_id 指定的節(jié)點(diǎn)的從節(jié)點(diǎn)书闸。
cluster saveconfig :將節(jié)點(diǎn)的配置文件保存到硬盤里面尼变。
2、槽slot命令
cluster addslots [slot …] :將一個(gè)或多個(gè)槽(slot)指派(assign)給當(dāng)前節(jié)點(diǎn)浆劲。
cluster delslots [slot …] :移除一個(gè)或多個(gè)槽對當(dāng)前節(jié)點(diǎn)的指派嫌术。
cluster flushslots :移除指派給當(dāng)前節(jié)點(diǎn)的所有槽,讓當(dāng)前節(jié)點(diǎn)變成一個(gè)沒有指派任何槽的節(jié)點(diǎn)牌借。
cluster setslot node <node_id> :將槽 slot 指派給 node_id 指定的節(jié)點(diǎn)度气,如果槽已經(jīng)指派給另一個(gè)節(jié)點(diǎn),那么先讓另一個(gè)節(jié)點(diǎn)刪除該槽>膨报,然后再進(jìn)行指派磷籍。
cluster setslot migrating <node_id> :將本節(jié)點(diǎn)的槽 slot 遷移到 node_id 指定的節(jié)點(diǎn)中。
cluster setslot importing <node_id> :從 node_id 指定的節(jié)點(diǎn)中導(dǎo)入槽 slot 到本節(jié)點(diǎn)现柠。
cluster setslot stable :取消對槽 slot 的導(dǎo)入(import)或者遷移(migrate)院领。
3、鍵命令
cluster keyslot :計(jì)算鍵 key 應(yīng)該被放置在哪個(gè)槽上够吩。
cluster countkeysinslot :返回槽 slot 目前包含的鍵值對數(shù)量比然。
cluster getkeysinslot :返回 count 個(gè) slot 槽中的鍵
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市周循,隨后出現(xiàn)的幾起案子谈秫,更是在濱河造成了極大的恐慌扒寄,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拟烫,死亡現(xiàn)場離奇詭異该编,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)硕淑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門课竣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人置媳,你說我怎么就攤上這事于樟。” “怎么了拇囊?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵迂曲,是天一觀的道長。 經(jīng)常有香客問我寥袭,道長路捧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任传黄,我火速辦了婚禮杰扫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘膘掰。我一直安慰自己章姓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布识埋。 她就那樣靜靜地躺著凡伊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪窒舟。 梳的紋絲不亂的頭發(fā)上系忙,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音辜纲,去河邊找鬼笨觅。 笑死拦耐,一個(gè)胖子當(dāng)著我的面吹牛耕腾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杀糯,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼扫俺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了固翰?” 一聲冷哼從身側(cè)響起狼纬,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤羹呵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后疗琉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冈欢,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年盈简,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凑耻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柠贤,死狀恐怖香浩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情臼勉,我是刑警寧澤邻吭,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站宴霸,受9級特大地震影響囱晴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猖败,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一速缆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恩闻,春花似錦艺糜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尉剩,卻和暖如春真慢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背理茎。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工黑界, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人皂林。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓朗鸠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親础倍。 傳聞我的和親對象是個(gè)殘疾皇子烛占,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

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