大战熟女丰满人妻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基礎的小伙伴學習,希望對大家能夠有所幫助哦。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产高清一级视频在线观看 | 精品一区二区三区视频在线观看免 | 婷婷激情网站 | 久久久综合网 | 亚洲欧美日韩中文在线 | 国产色影院 | 午夜情趣视频 | 一级欧美毛片成人免费视频 | 深夜国产福利 | 一级毛片毛片毛片毛毛片 | 午夜免费福利在线观看 | 成人国产精品一级毛片了 | 久久99精品久久 | 久久久成人啪啪免费网站 | 久久精品阿娇 | 国产亚洲漂亮白嫩美女在线 | 天天干夜啪 | 豆国产97在线 | 亚洲 | 国产一级内谢a级高清毛片 国产一级片毛片 | 国产a一级毛片午夜剧场14 | 99精品免费久久久久久久久日本 | 久久国产乱子伦精品在 | 亚洲成a人v在线观看 | 四虎成人精品在永久在线观看 | 黄色免费看视频 | 国产精品亚洲国产三区 | 四虎精品影院在线观看视频 | 亚洲伦理久久 | 色婷婷香蕉| 久久婷婷五色综合夜啪 | 精品99视频 | 亚洲精品成人一区二区 | 9299yy看片淫黄大片在线 | 久久国产精品-国产精品 | 国产精品美女一区二区三区 | 日韩黄色精品 | 私人影院在线免费观看 | 国产在线观看91精品不卡 | 综合色在线观看 | 99精品在线免费 | 欧美日韩精品一区二区在线线 |