宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見(jiàn)問(wèn)題
產(chǎn)品動(dòng)態(tài)
精選推薦

Redis Cluster模式部署(上)

管理 管理 編輯 刪除

Redis的哨兵模式基本已經(jīng)可以實(shí)現(xiàn)高可用,讀寫分離 ,但是在這種模式下每臺(tái) Redis 服務(wù)器都存儲(chǔ)相同的數(shù)據(jù),很浪費(fèi)內(nèi)存,所以在 redis3.0上加入了Cluster 集群模式,實(shí)現(xiàn)了 Redis 的分布式存儲(chǔ),也就是說(shuō)每臺(tái) Redis 節(jié)點(diǎn)上存儲(chǔ)不同的內(nèi)容。下面是Cluster 集群模式的一些特點(diǎn):

  • Sentinel模式基本可以滿足一般生產(chǎn)的需求,具備高可用性。但是當(dāng)數(shù)據(jù)量過(guò)大到一臺(tái)服務(wù)器存放不下的情況時(shí),主從模式或sentinel模式就不能滿足需求了,這個(gè)時(shí)候需要對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行分片,將數(shù)據(jù)存儲(chǔ)到多個(gè)Redis實(shí)例中。cluster模式的出現(xiàn)就是為了解決單機(jī)Redis容量有限的問(wèn)題,將Redis的數(shù)據(jù)根據(jù)一定的規(guī)則分配到多臺(tái)機(jī)器。
  • Cluster可以說(shuō)是sentinel+主從模式的結(jié)合體,通過(guò)cluster可以實(shí)現(xiàn)主從和master重選功能,所以如果配置兩個(gè)副本三個(gè)分片的話,就需要六個(gè)Redis實(shí)例。因?yàn)镽edis的數(shù)據(jù)是根據(jù)一定規(guī)則分配到cluster的不同機(jī)器的,當(dāng)數(shù)據(jù)量過(guò)大時(shí),可以新增機(jī)器進(jìn)行擴(kuò)容。
  • 使用集群,只需要將redis配置文件中的cluster-enable配置打開(kāi)即可,每個(gè)集群中至少需要三個(gè)主數(shù)據(jù)庫(kù)才能正常運(yùn)行,新增節(jié)點(diǎn)非常方便。

下面是Cluster 集群模式的架構(gòu)示意圖。

可以看到,Cluster集群模式有如下一些特點(diǎn):

  • 多個(gè)redis節(jié)點(diǎn)網(wǎng)絡(luò)互聯(lián),數(shù)據(jù)共享;
  • 所有的節(jié)點(diǎn)都是一主一從(也可以是一主多從),其中從不提供服務(wù),僅作為備用;
  • 不支持同時(shí)處理多個(gè)key(如MSET/MGET),因?yàn)閞edis需要把key均勻分布在各個(gè)節(jié)點(diǎn)上,并發(fā)量很高的情況下同時(shí)創(chuàng)建key-value會(huì)降低性能并導(dǎo)致不可預(yù)測(cè)的行為;
  • 支持在線增加、刪除節(jié)點(diǎn);
  • 客戶端可以連接任何一個(gè)主節(jié)點(diǎn)進(jìn)行讀寫。

#環(huán)境說(shuō)明

為了模擬Cluster 集群模式,我們需要準(zhǔn)備至少三臺(tái)機(jī)器,然后分別開(kāi)啟三個(gè)redis服務(wù),即每個(gè)節(jié)點(diǎn)都要是一主兩從模式。

| IP | 主機(jī)名 | 端口 | 節(jié)點(diǎn) | |---|---|---| | 192.168.182.110 | local-168-182-110 | 7001, 70002, 7003 | node1 | | 192.168.182.111 | local-168-182-111 | 7001, 70002, 7003 | node2 | | 192.168.182.112 | local-168-182-112 | 7001, 70002, 7003 | node3 |

#修改配置

接下來(lái),我們基于主從模式的配置進(jìn)行如下修改。

# 創(chuàng)建存儲(chǔ)目錄
mkdir -p /opt/software/redis-7.0.3/cluster/redis_{7001..7003}
cp /usr/local/redis/redis.conf /usr/local/redis/cluster_redis_7001.conf
cp /usr/local/redis/redis.conf /usr/local/redis/cluster_redis_7002.conf
cp /usr/local/redis/redis.conf /usr/local/redis/cluster_redis_7003.conf

chown -R redis:redis /usr/local/redis ;chown -R redis:redis /opt/software/redis-7.0.3/cluster

然后,修改位于/usr/local/redis/cluster_redis_7001.conf目錄的配置文件

cluster_redis_7001.conf。
# 【注意】節(jié)點(diǎn)不一樣,IP不一樣,記得修改這個(gè)bind配置
bind 192.168.182.110
port 7001
daemonize yes
pidfile "/var/run/cluster_redis_7001.pid"
logfile "/usr/local/redis/cluster_redis_7001.log"
dir "/opt/software/redis-7.0.3/cluster/redis_7001"
#replicaof 192.168.182.110 6379
masterauth "123456"
requirepass "123456"
appendonly yes
# 開(kāi)啟集群模式
cluster-enabled yes
# 雖然此配置的名字叫"集群配置文件",但是此配置文件不能人工編輯,它是集群節(jié)點(diǎn)自動(dòng)維護(hù)的文件,主要用于記錄集群中有哪些節(jié)點(diǎn)、他們的狀態(tài)以及一些持久化參數(shù)等,方便在重啟時(shí)恢復(fù)這些狀態(tài)。通常是在收到請(qǐng)求之后這個(gè)文件就會(huì)被更新。
cluster-config-file nodes_7001.conf
cluster-node-timeout 15000

然后,修改配置文件cluster_redis_7002.conf,位于/usr/local/redis/cluster_redis_7002.conf目錄下。

# 【注意】節(jié)點(diǎn)不一樣,IP不一樣,記得修改這個(gè)bind配置
bind 192.168.182.110
port 7002
daemonize yes
pidfile "/var/run/cluster_redis_7002.pid"
logfile "/usr/local/redis/cluster_redis_7002.log"
dir "/opt/software/redis-7.0.3/cluster/redis_7002"
#replicaof 192.168.182.110 6379
masterauth "123456"
requirepass "123456"
appendonly yes
# 配置yes則開(kāi)啟集群功能,此redis實(shí)例作為集群的一個(gè)節(jié)點(diǎn),否則,它是一個(gè)普通的單一的redis實(shí)例。
cluster-enabled yes
# 雖然此配置的名字叫"集群配置文件",但是此配置文件不能人工編輯,它是集群節(jié)點(diǎn)自動(dòng)維護(hù)的文件,主要用于記錄集群中有哪些節(jié)點(diǎn)、他們的狀態(tài)以及一些持久化參數(shù)等,方便在重啟時(shí)恢復(fù)這些狀態(tài)。通常是在收到請(qǐng)求之后這個(gè)文件就會(huì)被更新。
cluster-config-file nodes_7002.conf
cluster-node-timeout 15000

然后,繼續(xù)修改配置文件cluster_redis_7003.conf,文件目錄位于/usr/local/redis/cluster_redis_7003.conf。

# 【注意】節(jié)點(diǎn)不一樣,IP不一樣,記得修改這個(gè)bind配置
bind 192.168.182.110
port 7003
daemonize yes
pidfile "/var/run/cluster_redis_7003.pid"
logfile "/usr/local/redis/cluster_redis_7003.log"
dir "/opt/software/redis-7.0.3/cluster/redis_7003"
#replicaof 192.168.182.110 6379
masterauth "123456"
requirepass "123456"
appendonly yes
# 配置yes則開(kāi)啟集群功能,此redis實(shí)例作為集群的一個(gè)節(jié)點(diǎn),否則,它是一個(gè)普通的單一的redis實(shí)例。
cluster-enabled yes
# 雖然此配置的名字叫"集群配置文件",但是此配置文件不能人工編輯,它是集群節(jié)點(diǎn)自動(dòng)維護(hù)的文件,主要用于記錄集群中有哪些節(jié)點(diǎn)、他們的狀態(tài)以及一些持久化參數(shù)等,方便在重啟時(shí)恢復(fù)這些狀態(tài)。通常是在收到請(qǐng)求之后這個(gè)文件就會(huì)被更新。
cluster-config-file nodes_7003.conf
cluster-node-timeout 15000

其它兩臺(tái)機(jī)器配置與192.168.182.110一致,只是ip不同,此處省略。

# 將配置copy到另外兩個(gè)節(jié)點(diǎn)
scp -r /usr/local/redis/cluster_redis_{7001..7003}.conf local-168-182-111:/usr/local/redis/
scp -r /usr/local/redis/cluster_redis_{7001..7003}.conf local-168-182-112:/usr/local/redis/

# 在node2上執(zhí)行
sed -i 's/192.168.182.110/192.168.182.111/g' /usr/local/redis/cluster_redis_{7001..7003}.conf

# 在node3上執(zhí)行
sed -i 's/192.168.182.110/192.168.182.112/g' /usr/local/redis/cluster_redis_{7001..7003}.conf

#啟動(dòng)Redis服務(wù)

接下來(lái),啟動(dòng)Redis服務(wù)的所有的節(jié)點(diǎn)。

redis-server /usr/local/redis/cluster_redis_7001.conf
netstat -tnlp|grep 7001
redis-server /usr/local/redis/cluster_redis_7002.conf
netstat -tnlp|grep 7002
redis-server /usr/local/redis/cluster_redis_7003.conf
netstat -tnlp|grep 7003
tail -f /usr/local/redis/cluster_redis_7001.log
tail -f /usr/local/redis/cluster_redis_7002.log
tail -f /usr/local/redis/cluster_redis_7003.log

啟動(dòng)成功之后,如下圖。

#創(chuàng)建集群

為了能夠正常工作,我們需要集群的一個(gè)主節(jié)點(diǎn)有2個(gè)從節(jié)點(diǎn)。

# –cluster-replicas 2 : 表示集群的一個(gè)主節(jié)點(diǎn)有2個(gè)從節(jié)點(diǎn),就是一主兩從模式
redis-cli -a 123456 --cluster create \
192.168.182.110:7001 192.168.182.110:7002 192.168.182.110:7003 \
192.168.182.111:7001 192.168.182.111:7002 192.168.182.111:7003 \
192.168.182.112:7001 192.168.182.112:7002 192.168.182.112:7003 \
--cluster-replicas 2

接著,系統(tǒng)會(huì)會(huì)自動(dòng)生成nodes.conf文件,然后打開(kāi)文件即可看到集群的相關(guān)信息。

ll /opt/software/redis-7.0.3/cluster/redis_{7001..7003}


請(qǐng)登錄后查看

嘻嘻哈哈 最后編輯于2024-12-17 14:44:25

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點(diǎn)贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無(wú)簡(jiǎn)介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
841
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見(jiàn)問(wèn)題 產(chǎn)品動(dòng)態(tài) 精選推薦 首頁(yè)頭條 首頁(yè)動(dòng)態(tài) 首頁(yè)推薦
取 消 確 定
回復(fù)
回復(fù)
問(wèn)題:
問(wèn)題自動(dòng)獲取的帖子內(nèi)容,不準(zhǔn)確時(shí)需要手動(dòng)修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請(qǐng)輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊(cè)

切換手機(jī)號(hào)登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊(cè)
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開(kāi)源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服