日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

redis在linux搭建集群,Linux/Centos 7 redis4 集群搭建

發(fā)布時間:2023/12/4 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis在linux搭建集群,Linux/Centos 7 redis4 集群搭建 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景說明:

項目初期使用AWS的ElastiCache?Redis作為系統(tǒng)的數(shù)據(jù)緩存,近期由于數(shù)據(jù)量和QPS加大,導(dǎo)致Redis存在壓力,進行了兩次的單點垂直升級,緩解了目前的壓力。項目組進行了數(shù)據(jù)和費用的評估,考慮到日后升級,決定使用Redis Cluster集群方案,使用三個Master節(jié)點搭建集群。(不使用3Master+3Slave)

前期準備:

1、Redis 安裝包:本次使用Redis 4.0.8版本進行搭建

下載地址:http://download.redis.io/releases/redis-4.0.8.tar.gz

2、Ruby環(huán)境,本次使用yum安裝 :yum install -y ruby rubygems

3、下載Ruby Redis工具包,本次使用3.3.3版本(后續(xù)說明版本問題)

采用離線下載:wget https://rubygems.org/downloads/redis-3.3.3.gem

4、在AWS上啟動3個EC2實例,實例類型為:t2.medium(雙核4g,40g SSD存儲)

ip分別為:172.31.3.71、172.31.3.72、172.31.3.73

開始搭建:

1、安裝Redis:指定安裝目錄到:/workspace/libs/redis

tar xvfz redis-4.0.8.tar.gz

cd redis-4.0.8

make && make install? PREFIX=/workspace/libs/redis

2、配置Redis:在/workspace/libs/redis下創(chuàng)建conf目錄,用于存放配置文件

拷貝??redis-4.0.8目錄下的redis.conf到/workspace/libs/redis/conf下

修改配置如下:

?注意:不能設(shè)置密碼,否則集群啟動時會連接不上

port? 7001? ? ? //配置端口

//根據(jù)本機所在的IP或hostname去配置 node1 node2 node3

bind 本機ip //172.31.3.71,172.31.3.72,172.31.3.73

daemonize? ? yes? ? ? ? ? ? ? ? ?//redis后臺運行

//pidfile文件對應(yīng)7000,7001,7002

pidfile? /var/run/redis_7001.pid

cluster-enabled? yes? ? ? ? ? ? ? ? ? ??????????//開啟集群

//集群的配置? 配置文件首次啟動自動生成 7001

cluster-config-file? /workspace/libs/redis/conf/nodes_7001.conf

//請求超時? 默認15秒,可自行設(shè)置

cluster-node-timeout? 15000

appendonly? yes? ? ? ?????????//aof日志開啟? 本次使用aof

//禁用rdb 注釋掉save

#save 900 1

#save 300 10

#save 60 10000

3、安裝Ruby Redis工具包:安裝:gem install -l ./redis-3.3.3.gem

4、啟動Redis:

cd?/workspace/libs/redis

/workspace/libs/redis/bin/redis-server /workspace/libs/redis/conf/redis.conf

查看當前目下是否生成appendonly.aof 文件和 ./conf/下是否生成:nodes-7001.conf

根據(jù)配置生成appendonly.aof文件

根據(jù)配置生成nodes-7001.conf文件

5、啟動集群:

拷貝redis-4.0.8/src下的文件redis-trib.rb到/workspace/libs/redis/bin/目錄下

cd?/workspace/libs/redis/bin/

./redis-trib.rb create 172.31.3.71:7001 172.31.3.72:7002 172.31.3.73:7003

啟動集群

6、 檢查集群:

./redis-trib.rb info 172.31.3.71:7001

./redis-trib.rb check 172.31.3.71:7001

info查看集群key和slot的信息

檢查集群的狀態(tài)

7、 添加節(jié)點:添加172.31.3.74:7004節(jié)點

./redis-trib.rb add-node 172.31.3.74:7004 172.31.3.71:7001

添加172.31.3.74:7004節(jié)點

?注意:如果172.31.3..74:7004以前添加到集群過,重新添加的話,會報錯: [ERR] Node 172.31.3..74:7004 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

需要先刪除/workspace/libs/redis目錄下的appendonly.aof和conf下的nodes-7004.conf文件,再重新執(zhí)行

8、刪除節(jié)點:刪除節(jié)點4d3e007b38bf89aede64d0facc15124d9d605511(masterId)

./redis-trib.rb del-node 172.31.3.71:7001 4d3e007b38bf89aede64d0facc15124d9d605511

刪除172.31.3.74:7004節(jié)點

9、移動槽位:

./redis-trib.rb reshard 172.31.3.71:7001

從172.31.3.73:7003移動10個槽位到172.31.3.71:7001去

關(guān)閉槽位:多個節(jié)點(7001,7002)的1234槽位被打開,需要手動依次關(guān)閉

./redis-cli -h 172.31.3.71 -p 7001 -c

172.31.3.71:7001> CLUSTER SETSLOT 1234 stable

./redis-cli -h 172.31.3.72 -p 7002 -c

172.31.3.72:7002> CLUSTER SETSLOT 1234 stable

10、數(shù)據(jù)導(dǎo)入:導(dǎo)入外部節(jié)點:172.31.3.70:6379

./redis-trib.rb import --copy --from 172.31.3.70:6379 172.31.3.71:7001

功能測試:

./redis-cli -h 172.31.3.71 -p 7001 -c

172.31.3.71:7001> set aaa aaa

set aaa 自動重定向到172.31.3.72:7002

172.31.3.71:7001> get aaa

get aaa

遇到問題:

1、ruby-redis版本兼容問題:

之前使用redis-4.0.0.rc1.gem安裝,在移槽的時候,發(fā)生異常,導(dǎo)致槽位打開,需要手動關(guān)閉。

解決辦法:安裝redis-3.3.3.gem版本

2、從ElastiCache?Redis導(dǎo)入到集群中,報錯:Migrating ????????D342A51BFE16FC943B2B9EADEC9414C4D38114FE_131141 to 172.31.3.71:7001: ERR unknown ????????command 'migrate'

網(wǎng)上搜了一遍,有人提到AWS 的ElastiCache?Redis 不支持migrate方法,目前只能通過代碼遷移

參考鏈接:

https://redis.io/topics/cluster-tutorial

https://www.cnblogs.com/feiyun126/p/7248989.html

總結(jié)

以上是生活随笔為你收集整理的redis在linux搭建集群,Linux/Centos 7 redis4 集群搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。