国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis集群(cluster模式)搭建

這篇具有很好參考價值的文章主要介紹了Redis集群(cluster模式)搭建。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、什么是集群

2、為什么使用

3、集群連接

4、redis cluster 如何分配這六個節(jié)點?

5、集群搭建:


1、什么是集群

  1. Redis 集群(包括很多小集群)實現(xiàn)了對Redis的水平擴容,即啟動N個redis節(jié)點,將整個數(shù)據(jù)庫分布存儲在這N個節(jié)點中,每個節(jié)點存儲總數(shù)據(jù)的1/N,即一個小集群存儲1/N的數(shù)據(jù),每個小集群里面維護好自己的1/N的數(shù)據(jù)。
  2. Redis 集群通過分區(qū)(partition)來提供一定程度的可用性(availability): 即使集群中有一部分節(jié)點失效或者無法進行通訊, 集群也可以繼續(xù)處理命令請求。
  3. 該模式的redis集群特點是:分治、分片。

2、為什么使用

  1. 容量不夠,redis如何進行擴容?

  2. 并發(fā)寫操作, redis如何分攤?

  3. 另外,主從模式,薪火相傳模式,主機宕機,導致ip地址發(fā)生變化,應用程序中配置需要修改對應的主機地址、端口等信息。

  4. 之前通過代理主機來解決,但是redis3.0中提供了解決方案。就是無中心化集群配置。

3、集群連接

  1. 普通方式登錄:可能直接進入讀主機,存儲數(shù)據(jù)時,會出現(xiàn)MOVED重定向操作,所以,應該以集群方式登錄。
  2. 集群登錄:redis-cli -c -p 6379 采用集群策略連接,設置數(shù)據(jù)會自動切換到相應的寫主機。

4、redis cluster 如何分配這六個節(jié)點?

  1. 一個集群至少要有三個主節(jié)點。

  2. 選項 –cluster-replicas 1 :表示我們希望為集群中的每個主節(jié)點創(chuàng)建一個從節(jié)點。

  3. 分配原則盡量保證每個主數(shù)據(jù)庫運行在不同的IP地址,每個從庫和主庫不在一個IP地址上。

5、集群搭建:

1)? 通過redis中utils路徑下 ./install_server.sh 執(zhí)行文件創(chuàng)建6個不同的redis節(jié)點,端口號分別為6379、6380、6381、8362、6383、6384

2)如果各個節(jié)點原本有存儲數(shù)據(jù),則先將各個節(jié)點的數(shù)據(jù)文件清空。將6個文件夾內的文件全部刪除。

清空數(shù)據(jù)目錄。刪除 Redis 數(shù)據(jù)目錄下的所有文件。使用命令:? rm -rf /path/to/redis/data/*

3)修改6個redis節(jié)點的配置文件

在 /etc/redis 文件中,找到每一個端口號對應的配置文件:

例如修改的內容如下:
bind 0.0.0.0
port 6380 # 設置成對應服務專屬的端口號
daemonize yes
dbfilename "dump6380.rdb" ?# 設置成對應服務專屬的名字
appendonly yes
cluster-enabled yes
cluster-config-file nodes-6380.conf ?# 設置成對應服務專屬的

?4)啟動六個節(jié)點

[root@bogon src]# ./redis-server /etc/redis/6379.conf
[root@bogon src]# ./redis-server /etc/redis/6380.conf
[root@bogon src]# ./redis-server /etc/redis/6381.conf
[root@bogon src]# ./redis-server /etc/redis/6382.conf
[root@bogon src]# ./redis-server /etc/redis/6383.conf
[root@bogon src]# ./redis-server /etc/redis/6384.conf

5)查看各個節(jié)點是否啟動成功 ?

[root@bogon src]# ps -ef | grep redis
root ? ? ? ?3889 ? ? ? 1 ?0 09:56 ? ? ? ? ?00:00:03 ./redis-server 0.0.0.0:6379 [cluster]
root ? ? ? ?3895 ? ? ? 1 ?0 09:56 ? ? ? ? ?00:00:03 ./redis-server 0.0.0.0:6380 [cluster]
root ? ? ? ?3901 ? ? ? 1 ?0 09:57 ? ? ? ? ?00:00:03 ./redis-server 0.0.0.0:6381 [cluster]
root ? ? ? ?3907 ? ? ? 1 ?0 09:57 ? ? ? ? ?00:00:02 ./redis-server *:6382 [cluster]
root ? ? ? ?3913 ? ? ? 1 ?0 09:57 ? ? ? ? ?00:00:02 ./redis-server 0.0.0.0:6383 [cluster]
root ? ? ? ?3919 ? ? ? 1 ?0 09:57 ? ? ? ? ?00:00:02 ./redis-server 0.0.0.0:6384 [cluster]
root ? ? ? ?4247 ? ?2418 ?0 10:22 pts/0 ? ?00:00:00 grep --color=auto redis

6)配置集群

命令格式: --cluster-replicas 1 表示為每個master創(chuàng)建一個slave節(jié)點

注意:這里的IP為每個節(jié)點所在機器的真實IP ?

[root@localhost src]# ./redis-cli --cluster create 192.168.177.128:6379 192.168.177.128:6380 192.168.177.128:6381 192.168.177.128:6382 192.168.177.128:6383 192.168.177.128:6384 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.177.128:6383 to 192.168.177.128:6379
Adding replica 192.168.177.128:6384 to 192.168.177.128:6380
Adding replica 192.168.177.128:6382 to 192.168.177.128:6381
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: ae77569d28f01657d9e3e04810e8562abdb3f5dd 192.168.177.128:6379
   slots:[0-5460] (5461 slots) master
M: 5ccafb9ee2f223c987c740d3d8282f200e4892dd 192.168.177.128:6380
   slots:[5461-10922] (5462 slots) master
M: dcd5d5066cd9aa5e3f2830ce985395acb978d764 192.168.177.128:6381
   slots:[10923-16383] (5461 slots) master
S: 8849bb5437931a3fd8510ffa4c0f755f4e26d1eb 192.168.177.128:6382
   replicates ae77569d28f01657d9e3e04810e8562abdb3f5dd
S: b00800f65775c52519bd6e9f398f916ffe46fed8 192.168.177.128:6383
   replicates 5ccafb9ee2f223c987c740d3d8282f200e4892dd
S: 6e7a1ae63691267b000363f6528b620a656e03e7 192.168.177.128:6384
   replicates dcd5d5066cd9aa5e3f2830ce985395acb978d764
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
..
>>> Performing Cluster Check (using node 192.168.177.128:6379)
M: ae77569d28f01657d9e3e04810e8562abdb3f5dd 192.168.177.128:6379
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: dcd5d5066cd9aa5e3f2830ce985395acb978d764 192.168.177.128:6381
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: 5ccafb9ee2f223c987c740d3d8282f200e4892dd 192.168.177.128:6380
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 8849bb5437931a3fd8510ffa4c0f755f4e26d1eb 192.168.177.128:6382
   slots: (0 slots) slave
   replicates ae77569d28f01657d9e3e04810e8562abdb3f5dd
S: b00800f65775c52519bd6e9f398f916ffe46fed8 192.168.177.128:6383
   slots: (0 slots) slave
   replicates 5ccafb9ee2f223c987c740d3d8282f200e4892dd
S: 6e7a1ae63691267b000363f6528b620a656e03e7 192.168.177.128:6384
   slots: (0 slots) slave
   replicates dcd5d5066cd9aa5e3f2830ce985395acb978d764
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

7)查看主從關系

命令格式:redis-cli --cluster check 【本臺redis自己的IP】:【本臺redis自己的端口】

[root@localhost src]# ./redis-cli --cluster check 192.168.177.128:6379
192.168.177.128:6379 (ae77569d...) -> 0 keys | 5461 slots | 1 slaves.
192.168.177.128:6381 (dcd5d506...) -> 0 keys | 5461 slots | 1 slaves.
192.168.177.128:6380 (5ccafb9e...) -> 0 keys | 5462 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.177.128:6379)
M: ae77569d28f01657d9e3e04810e8562abdb3f5dd 192.168.177.128:6379
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: dcd5d5066cd9aa5e3f2830ce985395acb978d764 192.168.177.128:6381
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: 5ccafb9ee2f223c987c740d3d8282f200e4892dd 192.168.177.128:6380
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 8849bb5437931a3fd8510ffa4c0f755f4e26d1eb 192.168.177.128:6382
   slots: (0 slots) slave
   replicates ae77569d28f01657d9e3e04810e8562abdb3f5dd
S: b00800f65775c52519bd6e9f398f916ffe46fed8 192.168.177.128:6383
   slots: (0 slots) slave
   replicates 5ccafb9ee2f223c987c740d3d8282f200e4892dd
S: 6e7a1ae63691267b000363f6528b620a656e03e7 192.168.177.128:6384
   slots: (0 slots) slave
   replicates dcd5d5066cd9aa5e3f2830ce985395acb978d764
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

查看下圖即可發(fā)現(xiàn),一主對一從:?

redis集群搭建,Linux,redis,數(shù)據(jù)庫,java,linux

8) 主節(jié)點數(shù)據(jù)寫測試

加參數(shù) -c ,防止路由失效

[root@bogon src]# ./redis-cli -p 6381 -c
127.0.0.1:6381> get name
-> Redirected to slot [5798] located at 192.168.109.149:6380
(nil)
192.168.109.149:6380> get name
(nil)
192.168.109.149:6380>

9)從節(jié)點讀數(shù)據(jù)測試

情況:redis cluster集群中slave節(jié)點能成功復制master節(jié)點數(shù)據(jù)槽數(shù)據(jù),但是無法get數(shù)據(jù),顯示只能到對應的master節(jié)點讀取

原因:Redis Cluster集群中的從節(jié)點,官方默認設置的是不分擔讀請求的、只作備份和故障轉移用,當有請求讀向從節(jié)點時,會被重定向對應的主節(jié)點來處理

解決辦法:在get數(shù)據(jù)之前先使用命令readonly,這個readonly告訴 Redis Cluster 從節(jié)點客戶端愿意讀取可能過時的數(shù)據(jù)并且對寫請求不感興趣

注意:斷開連接后readonly就失效了,再次連接需要重新使用該命令。文章來源地址http://www.zghlxwxcb.cn/news/detail-614761.html

[root@bogon src]# ./redis-cli -p 6379 -c
127.0.0.1:6379> set name zhangsan
-> Redirected to slot [5798] located at 192.168.109.149:6380
OK
192.168.109.149:6380> get name
"zhangsan"
192.168.109.149:6380>
[root@bogon src]# ./redis-cli -p 6383 -c
127.0.0.1:6383> get name
-> Redirected to slot [5798] located at 192.168.109.149:6380
"zhangsan"
192.168.109.149:6380>
[root@bogon src]# ./redis-cli -p 6383 -c
127.0.0.1:6383> readonly
OK
127.0.0.1:6383> get name
"zhangsan"
127.0.0.1:6383>

到了這里,關于Redis集群(cluster模式)搭建的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • redis cluster集群搭建

    redis cluster集群搭建

    啟動6個redis實例 創(chuàng)建6份配置文件 7001文件夾創(chuàng)建配置文件redis.conf 然后copy到其他文件夾,記得改端口號,還有cluster-config-file的值,這個值不能重,必須唯一,否則無法啟動 啟動6個獨立的redis實例 確認是否全部啟動成功 啟動redis cluster –cluster-replicas 1表示每個master一個slave

    2024年02月09日
    瀏覽(26)
  • Redis 主從復制 + 哨兵模式 + Cluster 集群

    redis群集有三種模式: 分別是主從同步/復制、哨兵模式、Cluster,下面會講解一下三種模式的工作方式,以及如何搭建cluster群集 主從復制是高可用Redis的基礎,哨兵和集群都是在主從復制基礎上實現(xiàn)高可用的。主從復制主要實現(xiàn)了數(shù)據(jù)的多機備份,以及對于讀操作的負載均衡

    2024年02月09日
    瀏覽(25)
  • Docker 搭建Redis Cluster 集群

    Docker 搭建Redis Cluster 集群

    環(huán)境: centos7 redis:7.0.5 三主三從,六個節(jié)點 一、下載redis鏡像 docker pull redis:7.0.5 二、創(chuàng)建虛擬網(wǎng)卡 網(wǎng)卡類型為bridge橋接類型 三、準備redis配置文件 redis.conf 配置解釋: port :節(jié)點端口; requirepass :設置密碼,訪問時需要驗證 masterauth: 設置主從復制密碼 protected-mode :保護模

    2024年02月09日
    瀏覽(27)
  • 【Redis】三種集群模式(主從復制、哨兵模式、Cluster)

    【Redis】三種集群模式(主從復制、哨兵模式、Cluster)

    redis有三種集群模式,其中主從是最常見的模式。Sentinel 哨兵模式是為了彌補主從復制集群中主機宕機后,主備切換的復雜性而演變出來的。哨兵顧名思義,就是用來監(jiān)控的,主要作用就是監(jiān)控主從集群,自動切換主備,完成集群故障轉移。cluster 模式是redis官方提供的集群模

    2024年01月21日
    瀏覽(23)
  • 使用docker搭建 redis cluster 集群

    使用docker搭建 redis cluster 集群

    目錄 1.拉取redis鏡像 2.創(chuàng)建network 3.創(chuàng)建redis配置文件 4.創(chuàng)建redis容器 5.創(chuàng)建Redis Cluster集群 6.測試 1.拉取redis鏡像 2.創(chuàng)建network docker容器創(chuàng)建的應用會默認使用 bridge,但是每次重啟docker此網(wǎng)絡的ip會動態(tài)變更,因此需要我們自己手動創(chuàng)建一個固定的network 其它虛擬網(wǎng)卡相關命令

    2024年02月02日
    瀏覽(18)
  • redis — redis cluster集群模式下如何實現(xiàn)批量可重入鎖?

    redis — redis cluster集群模式下如何實現(xiàn)批量可重入鎖?

    一、redis cluster 集群版 在Redis 3.0版本以后,Redis發(fā)布了Redis Cluster。該集群主要支持搞并發(fā)和海量數(shù)據(jù)處理等優(yōu)勢,當 Redis 在集群模式下運行時,它處理數(shù)據(jù)存儲的方式與作為單個實例運行時不同。這是因為它應該準備好跨多個節(jié)點分發(fā)數(shù)據(jù),從而實現(xiàn)水平可擴展性。具體能力表

    2024年01月21日
    瀏覽(54)
  • redis高可用——主從復制、哨兵模式、cluster集群

    redis高可用——主從復制、哨兵模式、cluster集群

    目錄 1、redis群集有三種模式 2、主從復制 2.1、概述: 2.2、Redis主從復制有以下幾個重要作用: 2.3、主從復制流程: 2.4、redis主從復制實驗 3、哨兵模式. 3.1、概述: 3.2、 哨兵的核心功能: 3.3、哨兵模式原理: 3.6、 哨兵模式的作用; 3.7、故障轉移機制 3.8、主節(jié)點的選舉: 3.9、主

    2024年02月09日
    瀏覽(25)
  • Redis 7 第八講 集群模式(cluster)架構篇

    Redis 7 第八講 集群模式(cluster)架構篇

    Redis 集群架構圖 ? ? ? ? Redis 集群是一個提供在多個Redis節(jié)點間共享數(shù)據(jù)的程序集;Redis集群可以支持多個master? Redis集群支持多個master,每個master又可以掛載多個slave 讀寫分離 支持數(shù)據(jù)的高可用 支持海量數(shù)據(jù)的讀寫存儲操作 集群自帶Sentinel的故障轉移機制,內置支持高可用,

    2024年02月10日
    瀏覽(22)
  • Redis追本溯源(四)集群:主從模式、哨兵模式、cluster模式

    Redis追本溯源(四)集群:主從模式、哨兵模式、cluster模式

    Redis 有多種集群搭建方式,比如,主從模式、哨兵模式、Cluster 模式。 Redis 主從模式還解決了單點的問題。Redis 主庫在進行修改操作的時候,會把相應的寫入命令近乎實時地同步給從庫,從庫回放這些命令,就可以保證自己的數(shù)據(jù)與主庫保持一致。那么,當主庫發(fā)生宕機的時

    2024年02月14日
    瀏覽(23)
  • Redis高可用(主從復制、哨兵模式和Cluster集群)

    Redis高可用(主從復制、哨兵模式和Cluster集群)

    目錄 一、Redis高可用 1.持久化 2.主從復制 3.哨兵 4.Cluster集群 二、主從復制 1.概念 2.作用 3.主從復制流程 4.配置主從復制 三、哨兵模式 1.功能 2.作用 3.組成 4.故障轉移機制 5.主節(jié)點選舉依據(jù) 6.配置哨兵模式 7.故障模擬 8.恢復故障節(jié)點 四、Cluster群集 1.簡介 2.作用 (1)數(shù)據(jù)分區(qū)

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包