大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Redis分布式集群的創建

Redis分布式集群的創建

更新時間:2022-02-15 09:53:29 來源:動力節點 瀏覽1178次

要創建 redis 的分布式環境,您有 2 個選項,如下所示 -

Redis Sentinel — 當速度不是您最關心的問題時使用 sentinel,這使其成為具有高可用性問題的小型實施的絕佳選擇。

Redis 集群——它提供高可用性和集群解決方案。考慮到訪問您的數據,它是確保高可用性同時保持快速訪問速度的絕佳選擇

底線 — 如果您需要自動故障轉移解決方案而不使用完整的集群解決方案,請使用 sentinel。要使用分片獲得完整的集群集群解決方案,請使用集群。

對于這個故事,我將創建一個完整的集群解決方案,因此我將采用集群方式。

了解redis

每個 Redis 集群節點都需要打開兩個 TCP 連接。用于服務客戶端的普通 Redis TCP 端口,例如 6379,加上數據端口加上 10000 得到的端口,即 16379。請確保在防火墻中打開這兩個端口,否則 Redis 集群節點將無法通信。

Redis Cluster 不使用一致性散列,而是使用不同形式的分片,其中每個鍵在概念上都是我們所謂的散列槽的一部分。Redis Cluster 中有16384個哈希槽。

Redis 集群中的每個節點都負責哈希槽的子集,例如,您可能有一個具有 3 個節點的集群,其中:

節點 A 包含從 0 到 5500 的哈希槽。

節點 B 包含從 5501 到 11000 的哈希槽。

節點 C 包含從 11001 到 16383 的哈希槽。

創建和使用 Redis 集群

Redis 集群使用主從配置來支持分布式環境。在本例中,我們將創建 3 個主節點和 3 個從節點。每個主節點至少有 1 個從節點。

如果您想以最少的配置立即啟動并運行集群,請使用redis 包中默認提供的“ create-cluster”腳本。有很多關于如何使用 `create-cluster` 腳本創建集群的教程,所以我不打算介紹。相反,我將展示如何手動執行此操作,這為您提供了極大的自由度來調整集群配置參數。

安裝

由于我們正在模擬一個 6 節點集群(3 個主節點和 3 個從節點),我們將創建 6 個文件夾,即 6001、6002、6003、6004、6005、6006。這里的文件夾名稱代表每個實例將運行的端口號。在每個節點上,即在每個文件夾中,通過執行以下命令下載并制作 redis 包 -

$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz $ tar xzf redis-5.0.5.tar.gz $ cd redis-5.0.5 $ make

您也可以簡單地下載一個文件夾中的包并將其復制到其他文件夾。這將為您節省一些下載時間和帶寬。

現在編譯的二進制文件在src目錄中可用。

以集群模式運行 Redis

現在你有了 redis,你可以在目錄中看到一個 `redis.conf` 文件src。這是您應該在其中定義所有集群配置參數的配置文件。以下是您應該在 `redis.conf` 中開始的最小配置示例 -

端口 6001 cluster-enabled 是cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly 是

如您所見,啟用集群模式的只是cluster-enabled指令。每個實例還包含存儲此節點配置的文件的路徑,默認情況下為nodes.conf. 該文件永遠不會被人類觸及;它只是由 Redis 集群實例在啟動時生成,并在每次需要時更新。請注意,按預期工作的最小集群需要包含至少三個主節點。

在每個目錄中創建一個redis.conf文件,從 6001 到 6006。作為配置文件的模板,只需使用上面的小示例,但請確保6001根據目錄名稱將端口號替換為正確的端口號。

最后在您最喜歡的終端應用程序中打開 6 個終端選項卡。像這樣啟動每個實例,每個選項卡一個:

./src/redis-server ./redis.conf

以下是啟動后其中一個節點的屏幕截圖。您可以看到從每個實例的日志中可以看到,由于不nodes.conf存在文件,因此每個節點都為自己分配了一個新 ID。

此特定實例將永遠使用此 ID,以便實例在集群上下文中具有唯一名稱。每個節點都使用此 ID 記住其他所有節點,而不是通過 IP 或端口。IP 地址和端口可能會改變,但唯一的節點標識符在節點的整個生命周期內都不會改變。我們將此標識符簡稱為Node ID。

創建集群

現在打開一個新的終端窗口并在src目錄中執行以下命令。

./redis-cli --cluster create 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 --cluster-replicas 1

該選項--cluster-replicas 1意味著我們希望為每個創建的主服務器創建一個從服務器。其他參數是您要用于創建新集群的實例的地址列表。

顯然,符合我們要求的唯一設置是創建一個具有 3 個主節點和 3 個從節點的集群。

您可以在以下屏幕截圖中看到它說[OK] All 16384 slots covered

在上面的屏幕截圖中,以下行的意思正是他們所說的。

將副本 127.0.0.1:6005 添加到 127.0.0.1:6001
將副本 127.0.0.1:6006 添加到 127.0.0.1:6002
將副本 127.0.0.1:6004 添加到 127.0.0.1:6003

運行在端口 6001、6002 和 6003 上的節點是主節點,運行在端口 6005、6006 和 6004 上的節點分別是這些主節點的從節點。

集群現在已啟動并運行。您可以通過執行命令來測試它,如下面的屏幕截圖所示

以下命令表明我在集群模式下使用 redis-cli 并連接到在端口 6001 上運行的節點。

./src/redis-cli -c -p 6001

之后,您可以看到鍵值對存儲在節點中,具體取決于它們保存到的哈希槽。它還表明我可以從任何節點訪問任何密鑰。在上面的屏幕截圖中,密鑰 foo 保存在節點 6003 中,但即使我在節點 6002 上,我也能夠檢索到它。

您的 redis 集群現在已啟動并完全正常運行。如果您想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容全面,從入門到精通,適合0基礎的小伙伴學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久久久综合中文字幕 | 日本高清不卡一区久久精品 | 久青草视频97国内免费影视 | 99网站在线观看 | 97在线免费视频观看 | 动漫精品一区二区 | 亚洲综合色婷婷久久 | 国产系列欧美系列日韩系列在线 | 久久爱影视i | 精品国产麻豆 | 九九这里只精品视在线99 | 伊人手机在线视频 | 国产欧美一区二区三区久久 | 99久久精彩视频 | 老湿机午夜影院 | 亚洲精品一区二区四季 | 日韩欧美国产偷亚洲清高 | 国产毛片一区二区三区精品 | 在线观看视频中文字幕 | jizjizjiz亚洲人| 米奇7777狠狠狠狠视频影院 | 99精品在线播放 | 国产网红自拍 | 久久99深爱久久99精品 | 97av麻豆蜜桃一区二区 | 波多野结衣精品中文字幕 | 天天碰夜夜| 国产成人禁片在线观看 | 午夜精品福利影院 | 5060网永久免费一级毛片 | 综合 欧美 国产 视频二区 | 香蕉碰碰人人a久久动漫精品 | 男女一级毛片免费视频看 | 国产精品免费网站 | 久久亚洲国产 | 亚洲成人毛片 | 青青影院一区二区免费视频 | 国产色啪午夜免费视频 | 久久久全国免费视频 | 手机在线观看亚洲国产精品 | 国产免费久久 |