Redis分片集群一步一步全過程搭建

文章目錄

  • Redis搭建分片集群
    • 1. 搭建的分片集群結構
    • 2.準備實例和配置
      • (1)創建目錄
      • (2)創建配置文件
      • (3)將這個文件拷貝到每個目錄下
      • (4)修改每個目錄下的redis.conf,將其中的6379修改為與所在目錄一致
    • 3.啟動
      • (1)直接啟動服務
      • (2)通過ps查看狀態
    • 4.創建集群
    • 5.通過命令可以查看集群狀態


Redis搭建分片集群

主從和哨兵可以解決高可用、高并發讀的問題。但是依然有兩個問題沒有解決:

  • 海量數據存儲問題
  • 高并發寫的問題

使用分片集群可以解決上述問題,分片集群特征:

  • 集群中有多個master,每個master保存不同數據
  • 每個master都可以有多個slave節點
  • master之間通過ping監測彼此健康狀態
  • 客戶端請求可以訪問集群任意節點,最終都會被轉發到正確節點

1. 搭建的分片集群結構

分片集群需要的節點數量較多,這里我們搭建一個最小的分片集群,包含3個master節點,每個master包含一個slave節點,結構如下:

在這里插入圖片描述
這里我們會在同一臺虛擬機中開啟6個redis實例,模擬分片集群,信息如下:
在這里插入圖片描述

2.準備實例和配置

(1)創建目錄

刪除之前搭建主從結構的7001、7002、7003這幾個目錄,重新創建出7001、7002、7003、8001、8002、8003目錄。

# 進入/opt目錄
cd /opt
# 刪除舊的,避免配置干擾
rm -rf 7001 7002 7003
# 創建目錄
mkdir 7001 7002 7003 8001 8002 8003

在這里插入圖片描述

(2)創建配置文件

在/opt 下準備一個新的redis.conf文件,內容如下:

port 6379
# 開啟集群功能
cluster-enabled yes
# 集群的配置文件名稱,不需要我們創建,由redis自己維護
cluster-config-file /opt/6379/nodes.conf
# 節點心跳失敗的超時時間
cluster-node-timeout 5000
# 持久化文件存放目錄
dir /opt/6379
# 綁定地址
bind 0.0.0.0
# 讓redis后臺運行
daemonize yes
# 注冊的實例ip
replica-announce-ip 192.168.188.3
# 保護模式
protected-mode no
# 數據庫數量
databases 1
# 日志
logfile /opt/6379/run.log
requirepass 123123

命令如下:

vi redis.conf

在這里插入圖片描述

(3)將這個文件拷貝到每個目錄下

# 進入/opt目錄
cd /opt
# 執行拷貝
echo 7001 7002 7003 8001 8002 8003 | xargs -t -n 1 cp redis.conf

在這里插入圖片描述

(4)修改每個目錄下的redis.conf,將其中的6379修改為與所在目錄一致

# 進入/opt目錄
cd /opt
# 修改配置文件
printf '%s\n' 7001 7002 7003 8001 8002 8003 | xargs -I{} -t sed -i 's/6379/{}/g' {}/redis.conf

在這里插入圖片描述

3.啟動

(1)直接啟動服務

因為已經配置了后臺啟動模式,所以可以直接啟動服務。

# 進入/opt目錄
cd /opt
# 一鍵啟動所有服務
printf '%s\n' 7001 7002 7003 8001 8002 8003 | xargs -I{} -t redis-server {}/redis.conf

在這里插入圖片描述

(2)通過ps查看狀態

ps -ef | grep redis

在這里插入圖片描述
可以看到6個redis-server服務都已經啟動成功了。

4.創建集群

雖然服務啟動了,但是目前每個服務之間都是獨立的,沒有任何關聯。
我們需要執行命令來創建集群,在Redis5.0之前創建集群比較麻煩,5.0之后集群管理命令都集成到了redis-cli中。
我使用的是Redis7.0.14版本,集群管理以及集成到了redis-cli中,格式如下:

redis-cli -a 123123 --cluster create --cluster-replicas 1 192.168.188.3:7001 192.168.188.3:7002 192.168.188.3:7003 192.168.188.3:8001 192.168.188.3:8002 192.168.188.3:8003

在這里插入圖片描述

遇到錯誤的朋友可以查看我的另外兩篇博文,看看有沒有幫助。
https://blog.csdn.net/weixin_43378573/article/details/134814159?spm=1001.2014.3001.5501
https://blog.csdn.net/weixin_43378573/article/details/134813793

5.通過命令可以查看集群狀態

redis-cli -p 7001 -a 123123 cluster nodes

在這里插入圖片描述
【完結撒花~】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213900.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213900.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213900.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Yocto 還是 Buildroot,構建自定義嵌入式系統時,您會選擇哪一種?

假設您正在采用集成平板開發新一代大型智能微波爐。這個創意不錯吧!現在,您需要構建自定義操作系統,在保證不會燒焦食物(更不要燒毀房屋哦)的前提下,輔助管理各項事務。除此之外,您還需要創建一…

px? pt? dp? em?rem?vw?vh?ch?ex?這些單位你了解嗎?

目錄 前言 一、常見單位 1、px單位 2、dp單位 3、pt單位 4、百分比% 5、em單位 6、rem單位 7、vw和vh單位 8、ch、ex單位 二、如何換算 1、 pt和px換算 2、px和dp換算 3、em和px換算 4、rem和px換算 三、總結 前言 前端開發在日常設計中除了最常用的 px 以外&…

第二十八章 控制到 XML 模式的映射 - 流類到 XML 類型的映射

文章目錄 第二十八章 控制到 XML 模式的映射 - 流類到 XML 類型的映射將集合屬性映射到 XML 模式 第二十八章 控制到 XML 模式的映射 - 流類到 XML 類型的映射 如果類或屬性基于流,則它將投影為 XML 類型,如下表所示: IRIS 流的 XML 類型 …

使用BeautifulSoup 4和Pillow合并網頁圖片到一個PDF:一種高效的方式來處理網頁圖像

背景 ? 網頁上的培訓材料,內容全是PPT頁面圖片。直接通過瀏覽器打印,會存在只打印第一頁,并且把瀏覽器上無效信息也打印出來情況。但目標是希望將頁面圖片全部打印為pdf形式。 實現方案 利用網頁“另存為”,將頁面內所有圖片資…

官宣!「灣區之光群星演唱會」拉開2024新年音樂華麗序幕!

萬眾期待,群星薈萃!青春寶安時尚灣區——灣區之光群星演唱會即將在2024年1月5日閃耀亮相深圳寶安。 華語歌壇巨星天后齊聚一堂,攜手多位實力唱將,共同呈現一場無與倫比的演唱會盛宴!在深情而又充滿力量的歌聲之中&…

Linux修復磁盤壞道,重新掛載硬盤

修復磁盤 掛載報錯: [rootlocalhost ~]$ mount /dev/sdb /mnt/mydevmount: /dev/sdb is write-protected, mounting read-only mount: wrong fs type, bad option, bad superblock on /dev/sdb,missing codepage or helper program, or other errorIn some cases …

15、lambda表達式、右值引用、移動語義

前言 返回值后置 auto 函數名 (形參表) ->decltype(表達式) lambda表達式 lambda表達式的名稱是一個表達式 (外觀類似函數),但本質絕非如此 語法規則 [捕獲表] (參數表) 選項 -> 返回類型 { 函數體; }lambda表達式的本質 lambda表達式本質其實是一個類…

textarea文本框回車enter的時候自動提交表單,根據內容自動高度

切圖網近期一個bootstrap5仿chatgpt頁面的項目遇到的&#xff0c;textarea文本框回車enter的時候自動提交表單&#xff0c;根據內容自動高度&#xff0c;代碼如下&#xff0c;親測可用。 <textarea placeholder"Message ChatGPT…" name"" rows"&q…

TypeScript 第五節:條件語句

一、TypeScript 中常用的條件語句 TypeScript 的條件語句與 JavaScript 的條件語句類似&#xff0c;包括 if 語句、if...else 語句、switch 語句等。 1、if 語句 if 語句用于判斷指定條件是否為 true&#xff0c;如果是 true&#xff0c;則執行一段代碼塊。 示例&#xff1a;…

命名空間this_thread

命名空間 - this_thread 在C11中不僅添加了線程類&#xff0c;還添加了一個關于線程的命名空間std::this_thread&#xff0c;在這個命名空間中提供了四個公共的成員函數&#xff0c;通過這些成員函數就可以對當前線程進行相關的操作了。 1.get_id() 調用命名空間std::this_t…

java腳本引擎Groovy動態執行

1.java腳本引擎Groovy實戰_groovy腳本-CSDN博客 2.java可用的動態腳本引擎和動態代碼執行_java動態執行代碼片段-CSDN博客 3.Groovy動態加載Java代碼的使用方法和工具類_groovy調用java類方法-CSDN博客 4.springboot應用動態運行groovy腳本-附源碼 - 簡書 (jianshu.com) 5.…

是不是學了低代碼就自動放棄了高薪?內部資深解答來了!

目錄 前言低代碼開發&#xff1a;點餐還是自助烹飪&#xff1f;低代碼的“菜單”低代碼的局限性 市場影響的分析&#xff1a;一場關于低代碼的對話低代碼開發與程序員職業&#xff1a;名人視角解析總結 前言 近年來&#xff0c;低代碼開發因其低門檻、高效率和易集成的特點受到…

conda 計算當前包的個數

Conda是一個強大的包管理器和環境管理器&#xff0c;它用于安裝和管理來自不同源的軟件包。若要計算當前conda環境中安裝的包的數量&#xff0c;你可以使用以下命令&#xff1a; 首先&#xff0c;激活你想要檢查的conda環境&#xff08;如果不是默認的base環境&#xff09;&am…

虹科新聞丨廣州市“強企增效”項目助力虹科高質量發展!

來源&#xff1a;虹科電子科技有限公司 虹科新聞丨廣州市“強企增效”項目助力虹科高質量發展&#xff01; 原文鏈接&#xff1a;https://mp.weixin.qq.com/s/9pUXx5ZZpIi5S4s4o90GJA 歡迎關注虹科&#xff0c;為您提供最新資訊&#xff01; 2023年12月6日至7日&#xff0c;工…

hive/spark用法記錄

1. cast()更改數據類型 cast(column_name as type) 2. get_dt_date()自定義日期操作函數&#xff08;返回不帶橫線的日期&#xff09; select get_dt_date();–獲取當前日期&#xff0c;返回 20170209 select get_dt_date(get_date(-2));–獲取當前日期偏移&#xff0c;轉為…

如果將視頻轉化為gif格式圖

1.選擇視頻轉換GIF&#xff1a; 2.添加視頻文件&#xff1a; 3.點擊“開始”&#xff1a; 4.選擇設置&#xff0c;將格式選擇為1080P更加清晰&#xff1a; 5.輸出后的效果圖&#xff1a;

postgresql設置免密登錄

您提供的步驟描述了在 PostgreSQL 數據庫環境中配置服務器間的 SSH 無密碼登錄和數據庫用戶認證的過程。這些步驟主要用于設置一個高可用性、負載平衡的數據庫集群環境。讓我們逐一解釋這些步驟的目的和應用場景&#xff1a; 1. 啟動 PostgreSQL 服務 systemctl start postgr…

ReetrantReadWriteLock底層原理

文章目錄 一、讀寫鎖介紹二、ReentrantReadWriteLock底層原理1. 讀寫鎖的設計 一、讀寫鎖介紹 現實中有這樣一種場景:對共享資源有讀和寫的操作&#xff0c;且寫操作沒有讀操作那么頻繁(讀多寫少)。在沒有寫操作的時候&#xff0c;多個線程同時讀一個資源沒有任何問題&#xf…

jQuery-操作DOM

使用jQuery操作DOM dom : 文檔對象模型 就是HTML元素 $() 函數的2個用法: 用法1:放入一個字符串(選擇器)表示獲取元素 例如 $("p") $("#abc") $(".del") 用法2:放入一個函數&#xff0c;表示文檔就緒函數 例如 $(function(){代…

TikTok挑戰榜單:全球用戶如何共襄盛舉

TikTok作為全球最受歡迎的短視頻應用之一&#xff0c;在這個平臺上&#xff0c;用戶們通過參與各種挑戰&#xff0c;創造了無數令人驚嘆的短視頻。 本文將深入探討TikTok挑戰榜單的現象&#xff0c;探究全球用戶如何共襄盛舉&#xff0c;以及這種創意激發和社交互動如何成為Ti…