婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解Redis集群搭建的三種方式

詳解Redis集群搭建的三種方式

熱門標簽:宿遷便宜外呼系統平臺 北京400電話辦理收費標準 魔獸2青云地圖標注 日本中國地圖標注 貴州電銷卡外呼系統 鄭州人工智能電銷機器人系統 超呼電話機器人 十堰營銷電銷機器人哪家便宜 山東外呼銷售系統招商

一、單節點實例

單節點實例還是比較簡單的,平時做個測試,寫個小程序如果需要用到緩存的話,啟動一個

Redis 還是很輕松的,做為一個 key/value 數據庫也是可以勝任的

二、主從模式(master/slaver)

redis 主從模式配置

主從模式:

redis 的主從模式,使用異步復制,slave 節點異步從 master 節點復制數據,master

節點提供讀寫服務,slave 節點只提供讀服務(這個是默認配置,可以通過修改配置文件

slave-read-only 控制)。master 節點可以有多個從節點。配置一個 slave 節點只需要在

redis.conf 文件中指定 slaveof master-ip master-port 即可。

從節點開啟主從復制,有 3 種方式:

配置文件

在從服務器的配置文件中加入:slaveofmasterip>masterport>

啟動命令

redis-server 啟動命令后加入:slaveofmasterip>masterport>

客戶端命令

Redis 服務器啟動后直接通過客戶端執行命令:slaveofmasterip>masterport>,則該 Redis

實例成為從節點。

上述 3 種方式是等效的,下面以客戶端命令的方式為例,看一下當執行了 slaveof 后,Redis

主節點和從節點的變化。

本示例:一個 master 節點有兩個 slave 節點

配置:

1,cd /usr/local/redis/redis-4.0.2

切換到當前 redis 安裝路徑

2, mkdir config

新建一個文件夾,存放 redis 的配置文件

3,在 config 下,新建三個配置文件,如下:

cd config
vi master-6739.conf
bind 0.0.0.0
port 6379
logfile "6379.log"
dbfilename "dump-6379.rdb"
daemonize yes
rdbcompression yes
vi slave-6380.confbind 0.0.0.0
port 6380
logfile "6380.log"
dbfilename "dump-6380.rdb"
daemonize yes
rdbcompression yes
slaveof 192.168.81.135 6379
vi slave-6381.conf
bind 0.0.0.0
port 6381
logfile "6381.log"
dbfilename "dump-6381.rdb"
daemonize yes
rdbcompression yes
slaveof 192.168.81.135 6379

master-6739.conf,為主節點配置文件,slave-6380.conf,slave-6381.conf為從節點配置文件

在從節點的配置文件中使用:slaveof 指定 master 節點

4,啟動三臺 reids 服務

[root@localhost redis-4.0.2]# ./src/redis-server config/master-6379.conf  

[root@localhost redis-4.0.2]# ./src/redis-server config/slave-6380.conf  

[root@localhost redis-4.0.2]# ./src/redis-server config/slave-6381.conf

查看一下 redis 服務

測試主從模式

a,先分別連上三臺 Redis 服務,獲取 key 為 name 的值,通過-p 指定連接那個端口的 redis 服務

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6379 

127.0.0.1:6379> get name 

(nil) 

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6380 

127.0.0.1:6380> get name 

(nil) 

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6381 

127.0.0.1:6381> get name 

(nil) 

#獲取的值都為空

b,給 master 節點 set 一個 key

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6379

127.0.0.1:6379> set name cmy

OK

127.0.0.1:6379> get name

"cmy"

c,slave 節點直接讀取 key 為 name 的值

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6380

127.0.0.1:6380> get name

"cmy"

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6381

127.0.0.1:6381> get name

"cmy"

d,slave 節點只提供讀服務,不能進行寫入操作

127.0.0.1:6381> set age 23

(error) READONLY You can't write against a read only slave.

注意

使用主從模式時應注意 matser 節點的持久化操作,matser 節點在未使用持久化的情況詳情

下如果宕機,并自動重新拉起服務,從服務器會出現丟失數據的情況。

首先,禁止 matser 服務持久化

127.0.0.1:6379> CONFIG SET save "" 

OK

在 master 節點 set 一個值

127.0.0.1:6379> set age 23 

OK

slave 節點可以 get 到 age 的值

127.0.0.1:6380> get age 

"23" 

關掉 master 節點服務

127.0.0.1:6379> shutdown 

not connected> 

slave 節點此時仍可以 get 到 age 的值

127.0.0.1:6380> get age 

"23" 

重啟 master 服務,此時獲取不到 age 的值

[root@localhost redis-4.0.2]# ./src/redis-server config/master-6379.conf  

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6379 

127.0.0.1:6379> get age 

(nil) 

slave 節點此時在獲取 age 的值為空,數據丟失

[root@localhost redis-4.0.2]# ./src/redis-cli -p 6380 

127.0.0.1:6380> get age 

(nil) 

數據丟失的原因:因為 master 服務掛了之后,重啟服務后,slave 節點會與 master 節點進行

一次完整的重同步操作,所以由于 master 節點沒有持久化,就導致 slave 節點上的數據也會

丟失掉。所以在配置了 Redis 的主從模式的時候,應該打開主服務器的持久化功能。

到這,redis 的主從模式就已經完成了

談談我認為主從模式的必要性:

主從模式的一個作用是備份數據,這樣當一個節點損壞(指不可恢復的硬件損壞)時,數據因為有備份,可以方便恢復。

另一個作用是負載均衡,所有客戶端都訪問一個節點肯定會影響 Redis 工作效率,有了主從以后,查詢操作就可以通過查詢從節點來完成。

對主從模式必須的理解(結論已經驗證過,可以自行驗證):

一個 Master 可以有多個 Slaves

默認配置下,master 節點可以進行讀和寫,slave 節點只能進行讀操作,寫操作被禁止

不要修改配置讓 slave 節點支持寫操作,沒有意義,原因一,寫入的數據不會被同步到其他節點;原因二,當 master 節點修改同一條數據后,slave 節點的數據會被覆蓋掉

slave 節點掛了不影響其他 slave 節點的讀和 master 節點的讀和寫,重新啟動后會將數據從master 節點同步過來,master 節點掛了以后,不影響 slave 節點的讀,Redis 將不再提供寫服務,master 節點啟動后 Redis 將重新對外提供寫服務。master 節點掛了以后,不會 slave 節點重新選一個 master

對有密碼的情況說明一下,當 master 節點設置密碼時:

客戶端訪問 master 需要密碼

啟動 slave 需要密碼,在配置中進行配置即可

客戶端訪問 slave 不需要密碼

主從節點的缺點

主從模式的缺點其實從上面的描述中可以得出:

master 節點掛了以后,redis 就不能對外提供寫服務了,因為剩下的 slave 不能成為 master

這個缺點影響是很大的,尤其是對生產環境來說,是一刻都不能停止服務的,所以一般的生產壞境是不會單單只有主從模式的。所以有了下面的 sentinel 模式。

三、sentinel 模式

Redis 哨兵模式,用現在流行的話可以說就是一個“哨兵機器人”,給“哨兵機器人”進行相應的配置之后,這個"機器人"可以 7*24 小時工作,它能能夠自動幫助你做一些事情,如監控,提醒,自動處理故障等。

Redis-sentinel 簡介

Redis-sentinel 是 Redis 的作者 antirez,因為 Redis 集群的被各大公司使用,每個公司要寫自 己的集群管理工具,于是 antirez 花了幾個星期寫出了 Redis-sentinel。

Redis 的 Sentinel 系統用于管理多個 Redis 服務器(instance),Redis 的 Sentinel 為 Redis 提供了高可用性。使用哨兵模式創建一個可以不用人為干預而應對各種故障的 Redis 部署。

該系統執行以下三個任務:

監控(Monitoring):Sentinel 會不斷地檢查你的主服務器和從服務器是否允許正常。

提醒(Notification):當被監控的某個 Redis 服務器出現問題時,Sentinel 可以通過 API 向管 理員或者其他應用程序發送通知。

自動故障遷移(Automatic failover):

(1)當一個主服務器不能正常工作時,Sentinel 會開始一次自動故障遷移操作,他會將失效主服務器的其中一個從服務器升級為新的主服務器,

并讓失效主服務器的其他從服務器改為復制新的主服務器;

(2)客戶端試圖連接失敗的主服務器時,集群也會向客服端返回新主服務器的地址,是的集群可以使用新主服務器代替失效服務器。

sentinel 的分布式特性

Redis Sentinel 是一個分布式系統,

你可以在一個架構中運行多個 Sentinel 進程(progress), 這些進程使用流言協議(gossip protocols)來接收關于主服務器是否下線的信息, 并使用投 票協議(agreement protocols)來決定是否執行自動故障遷移, 以及選擇哪個從服務器作為 新的主服務器。

單個 sentinel 進程來監控 redis 集群是不可靠的,當 sentinel 進程宕掉后(sentinel 本身也有單 點問題,single-point-of-failure)整個集群系統將無法按照預期的方式運行。所以有必要將sentinel 集群,這樣有幾個好處:

有一些 sentinel 進程宕掉了,依然可以進行 redis 集群的主備切換;

如果只有一個 sentinel 進程,如果這個進程運行出錯,或者是網絡堵塞,那么將無法實現 redis集群的主備切換(單點問題);

如果有多個 sentinel,redis 的客戶端可以隨意地連接任意一個 sentinel 來獲得關于 redis 集群 中的信息一個健壯的部署至少需要三個哨兵實例。三個哨兵實例應該放置在客戶使用獨立方式確認故障的計算機或虛擬機中。例如不同的物理機或不同可用區域的虛擬機。【本次講解是一個機器上進行搭建,和多級是一個道理背景

最近項目需求,接觸到了 Redis 的搭建,簡單記錄下搭建過程中遇到的坑

總體配置

192.168.1.100:6379 -> master 

192.168.1.101:6379 -> slave 

192.168.1.102:6379 -> slave 

192.168.1.100:26379 -> sentinel 

192.168.1.101:26379 -> sentinel 

192.168.1.102:26379 -> sentinel 

搭建步驟

1.安裝 redis

# 解壓 

tar -xvf /usr/local/redis-3.2.11.tar.gz 

mkdir -p /usr/local/redis/bin 

cp  

/usr/local/redis/src/{redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redi 

s-server,redis-trib.rb} /usr/local/redis/bin 

mkdir -p /u01/redis/{6379/{log,data,pid,conf},26379/{log,data,pid,conf} 

# 添加環境變量 

echo "export PATH=/usr/local/redis/bin:$PATH" >> /etc/profile 

source /etc/profile 

2.redis-6379 配置

redis 節 點 配 置 基 本 如 下 , 把 如 下 配 置 分 別 cp 到 三 臺 虛 擬 機 的

/u01/redis/6379/conf/redis_6379.conf 

bind 0.0.0.0 

protected-mode no 

daemonize yes 

pidfile "/u01/redis/6379/pid/redis_6379.pid" 

port 6379 

tcp-backlog 511 

timeout 0tcp-keepalive 0 

loglevel notice 

logfile "/u01/redis/6379/log/redis_6379.log" 

databases 16 

stop-writes-on-bgsave-error yes 

rdbcompression yes 

rdbchecksum yes 

dbfilename "dump.rdb" 

dir "/u01/redis/6379/data" 

slave-serve-stale-data yes 

slave-read-only yes 

repl-diskless-sync no 

repl-diskless-sync-delay 5 

repl-disable-tcp-nodelay no 

slave-priority 100 

min-slaves-to-write 1 

min-slaves-max-lag 10 

appendonly no 

appendfilename "appendonly.aof" 

appendfsync everysec 

no-appendfsync-on-rewrite no 

auto-aof-rewrite-percentage 100 

auto-aof-rewrite-min-size 64mb 

aof-load-truncated yes 

lua-time-limit 5000 

slowlog-log-slower-than 10000 

slowlog-max-len 128 

latency-monitor-threshold 0 

notify-keyspace-events "" 

hash-max-ziplist-entries 512 

hash-max-ziplist-value 64 

list-max-ziplist-entries 512 

啟動服務

# 在三臺虛擬機上分別執行 

redis-server /u01/redis/6379/conf/redis_6379.conf 

建立主從關系

# 在 192.168.1.101 

redis-cli -p 6379 SLAVEOF 192.168.1.100 6379 

# 在 192.168.1.102 

redis-cli -p 6379 SLAVEOF 192.168.1.100 6379查看 Replication 

192.168.1.101:6379> info replication 

# Replication 

role:master 

connected_slaves:2 

min_slaves_good_slaves:2 

slave0:ip=192.168.1.102,port=6379,state=online,offset=9577826,lag=1 

slave1:ip=192.168.1.103,port=6379,state=online,offset=9577965,lag=0 

master_repl_offset:9577965 

repl_backlog_active:1 

repl_backlog_size:1048576 

repl_backlog_first_byte_offset:8529390 

repl_backlog_histlen:1048576 

192.168.1.102:6379> info replication 

# Replication 

role:slave 

master_host:192.168.1.101 

master_port:6379 

master_link_status:up 

master_last_io_seconds_ago:0 

master_sync_in_progress:0 

slave_repl_offset:9600220 

slave_priority:100 

slave_read_only:1 

connected_slaves:0 

min_slaves_good_slaves:0 

master_repl_offset:0 

repl_backlog_active:0 

repl_backlog_size:1048576 

repl_backlog_first_byte_offset:0 

repl_backlog_histlen:0 

192.168.1.103:6379> info replication 

# Replication 

role:slave 

master_host:192.168.1.101 

master_port:6379 

master_link_status:up 

master_last_io_seconds_ago:0 

master_sync_in_progress:0 

slave_repl_offset:9612675slave_priority:100 

slave_read_only:1 

connected_slaves:0 

min_slaves_good_slaves:0 

master_repl_offset:0 

repl_backlog_active:0 

repl_backlog_size:1048576 

repl_backlog_first_byte_offset:0 

repl_backlog_histlen:0 

3.sentinel-6379 配置

sentinel 節 點 配 置 基 本 如 下 , 把 如 下 配 置 分 別 cp 到 三 臺 虛 擬 機 的

/u01/redis/26379/conf/sentinel_26379.conf 

sentinel monitor mymaster 后監控的是 redis 中的 master 節點,也就是 192.168.1.100,所以這個文件在三臺機器上是相同的

port 26379 

bind 0.0.0.0 

daemonize yes 

protected-mode no 

dir "/u01/redis/26379/tmp" 

logfile "/u01/redis/26379/log/sentinel_26379.log" 

sentinel monitor mymaster 192.168.1.100 6379 1 

等待啟動完畢后觀察/u01/redis/26379/conf/sentinel_26379.conf 文件變化

查看 sentinel 狀態用 info sentinel

redis-cli -h 192.168.1.100 -p 26379 info sentinel 

# Sentinel 

sentinel_masters:1 

sentinel_tilt:0 

sentinel_running_scripts:0 

sentinel_scripts_queue_length:0 

sentinel_simulate_failure_flags:0 

master0:name=zhuanche01,status=ok,address=192.168.1.100:6379,slaves=2,sentinels=3 

總結

我搭建的時候遇到了 192.168.1.101、192.168.1.102 上的 sentinel 啟動后一段時間出錯的問題,

后來發現是沒有監控 master

再就是出問題了多看 log

四、cluster 模式

cluster 的出現是為了解決單機 Redis 容量有限的問題,將 Redis 的數據根據一定的規則分配

到多臺機器。對 cluster 的一些理解:

cluster 可以說是 sentinel 和主從模式的結合體,通過 cluster 可以實現主從和 master 重選功能,所以如果配置兩個副本三個分片的話,就需要六個 Redis 實例。

因為 Redis 的數據是根據一定規則分配到 cluster 的不同機器的,當數據量過大時,可以新增機器進行擴容

這種模式適合數據量巨大的緩存要求,當數據量不是很大使用 sentinel 即可。

以上就是詳解Redis集群搭建的三種方式的詳細內容,更多關于Redis集群搭建的三種方式的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Redis可視化客戶端小結
  • 詳解基于redis實現分布式鎖
  • 深入理解redis中multi與pipeline
  • 詳解Redis基本命令與使用場景
  • 硬核 Redis 高頻面試題解析

標簽:吉安 北京 江蘇 大慶 朝陽 果洛 楊凌 臺州

巨人網絡通訊聲明:本文標題《詳解Redis集群搭建的三種方式》,本文關鍵詞  詳解,Redis,集群,搭建,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Redis集群搭建的三種方式》相關的同類信息!
  • 本頁收集關于詳解Redis集群搭建的三種方式的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    美女视频一区在线观看| 91黄色在线观看| 91首页免费视频| 亚洲国产成人av好男人在线观看| 欧美精品一区二区三区蜜臀| 欧美一区二区三区在线视频| 91在线精品秘密一区二区| 丁香六月综合激情| 婷婷久久综合九色综合伊人色| 亚洲欧美精品午睡沙发| 国产日韩欧美综合一区| 中文字幕av一区 二区| 国产目拍亚洲精品99久久精品| 久久久久免费观看| 2021中文字幕一区亚洲| 中文字幕乱码日本亚洲一区二区 | 日韩**一区毛片| 一区二区三区在线免费观看| 亚洲色图清纯唯美| 一区二区在线观看免费| 丝袜诱惑亚洲看片| 麻豆一区二区99久久久久| 日韩精品一二区| 亚洲第一精品在线| 亚洲午夜精品17c| 日日夜夜精品视频天天综合网| 亚洲欧美日韩在线| 午夜一区二区三区在线观看| 日韩成人免费看| 狠狠v欧美v日韩v亚洲ⅴ| 麻豆精品国产91久久久久久| 看片网站欧美日韩| 国产人成亚洲第一网站在线播放 | 久久综合狠狠综合久久综合88| 国产精品资源在线看| 国内久久精品视频| 91色视频在线| 欧美午夜不卡视频| 丁香亚洲综合激情啪啪综合| 国产一区在线精品| 成人高清免费观看| jlzzjlzz欧美大全| 成人h动漫精品一区二| 国产.精品.日韩.另类.中文.在线.播放| 亚洲成人自拍偷拍| 亚洲丶国产丶欧美一区二区三区| 一区二区三区日韩欧美精品| 国产精品天美传媒沈樵| 亚洲人成亚洲人成在线观看图片 | 亚洲精品日韩综合观看成人91| 欧美日韩免费在线视频| 五月天激情综合| 日韩一级高清毛片| 蜜臀av一级做a爰片久久| 国产拍揄自揄精品视频麻豆| 欧美久久久久久蜜桃| 欧美精品tushy高清| 国产在线日韩欧美| 亚洲免费观看高清完整| 中文字幕在线不卡一区| 国产色产综合产在线视频| 成人av电影免费在线播放| 一区二区三区在线播| 一区二区三区在线免费观看| 尤物在线观看一区| 国产婷婷色一区二区三区| 欧美色欧美亚洲另类二区| 成人app网站| 经典一区二区三区| 一区二区三区久久久| 亚洲一二三四区不卡| 国产精品成人在线观看| 久久综合久久综合久久综合| 日韩欧美一区二区不卡| 欧美va日韩va| 精品国一区二区三区| 欧美一区二区视频在线观看2022 | 久久青草欧美一区二区三区| 国产日韩精品一区二区三区| 国产精品乱人伦中文| wwww国产精品欧美| 亚洲第一狼人社区| 国产成+人+日韩+欧美+亚洲| 成人性色生活片| 欧美精品乱人伦久久久久久| 中文字幕av一区二区三区高| 久久se精品一区精品二区| 在线成人av影院| 青青青爽久久午夜综合久久午夜| 91国偷自产一区二区三区成为亚洲经典 | 成人免费va视频| 91精品国产乱| 亚洲精品久久嫩草网站秘色| 日韩高清一区在线| 91精品国产综合久久久久久久久久| 中文字幕一区二区三区乱码在线| 色成年激情久久综合| 日韩精品在线看片z| 亚洲综合色丁香婷婷六月图片| 美腿丝袜亚洲色图| 精品欧美一区二区在线观看| 久久久精品国产免大香伊 | 亚洲人成在线播放网站岛国| 在线免费观看日韩欧美| 精品国产第一区二区三区观看体验| 成人免费一区二区三区在线观看| 国产精品综合二区| 久久久精品综合| 久久99精品久久久久久动态图 | 欧美精品亚洲二区| 91精选在线观看| 成人免费小视频| 91福利在线观看| 精品少妇一区二区三区视频免付费| 精品午夜久久福利影院| 久久综合九色综合欧美就去吻| 久久99国产精品麻豆| 日韩欧美一二三区| 蜜桃精品在线观看| 91精品国产乱码久久蜜臀| 日本成人在线一区| 精品免费日韩av| 国产乱色国产精品免费视频| 欧美激情一区在线观看| 国产在线精品视频| 亚洲欧美日韩久久精品| 日韩欧美高清在线| 国产河南妇女毛片精品久久久 | 蜜臀av性久久久久av蜜臀妖精| 一区二区三区中文在线观看| 日韩一级欧美一级| heyzo一本久久综合| 国产精品女主播av| 欧美一区二区三区视频| 不卡电影一区二区三区| 久久99精品久久久久久久久久久久| 亚洲自拍偷拍欧美| 国产亚洲短视频| 欧洲色大大久久| jlzzjlzz亚洲日本少妇| 韩国精品一区二区| 亚洲高清视频在线| 一区二区三区日韩精品视频| 精品久久久久一区二区国产| 欧美日韩亚洲综合在线| 成人国产视频在线观看| 久久精品国产网站| 亚洲免费观看视频| 久久久久久久综合狠狠综合| 欧美一卡2卡3卡4卡| 在线观看免费成人| 蜜臀av一区二区在线免费观看| 亚洲美女少妇撒尿| 国产精品久久久久久久久快鸭| 日韩片之四级片| 欧美猛男gaygay网站| eeuss国产一区二区三区| 国产一区二区三区免费在线观看 | 久久久亚洲欧洲日产国码αv| 成人av网址在线| 久草这里只有精品视频| 美腿丝袜亚洲三区| 五月婷婷综合网| 丝袜国产日韩另类美女| 亚洲一区二区免费视频| 免费久久精品视频| 久久丝袜美腿综合| 国产精品久久久久精k8| 中文av一区二区| 亚洲男人的天堂av| 亚洲色图在线播放| 欧美aaa在线| 日韩国产成人精品| 免费人成在线不卡| 成人在线综合网| av一本久道久久综合久久鬼色| 国内成人精品2018免费看| 波多野结衣中文字幕一区| 99久久伊人网影院| 欧美亚洲一区二区在线| 91麻豆精品国产| 久久久午夜精品| 国产精品久久久久一区| 国产精品嫩草久久久久| 最新日韩在线视频| 亚洲色欲色欲www| 男人的j进女人的j一区| 成人小视频免费在线观看| 日本高清不卡aⅴ免费网站| 欧美丝袜丝交足nylons图片| 精品国产青草久久久久福利| 亚洲精品一区二区三区影院| 欧美视频一区二区三区在线观看| 欧美日韩国产影片| 欧美精品第1页| 国产日韩欧美精品一区| 日韩 欧美一区二区三区| 不卡的av网站| 久久这里只有精品6| 婷婷夜色潮精品综合在线|