docker部署redis集群

来源:https://www.cnblogs.com/xuchen0117/archive/2019/10/15/11678931.html
-Advertisement-
Play Games

一、查詢最新redis鏡像 docker search redis 二、下載redis鏡像 docker pull redis 三、創建一個文件夾,以及創建redis-cluster.tmpl模板文件 mkdir redis-cluster-d cd redis-cluster-d port ${P ...


一、查詢最新redis鏡像

docker search redis

 

 

二、下載redis鏡像

docker pull redis

 

 

 

 

三、創建一個文件夾,以及創建redis-cluster.tmpl模板文件

mkdir redis-cluster-d

cd redis-cluster-d

 

port ${PORT}

masterauth 123456

requirepass 123456

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.19.0.1

cluster-announce-port ${PORT}

cluster-announce-bus-port 1${PORT}

appendonly yes

 

參數描述

(1port(埠號)

(2masterauth(設置集群節點間訪問密碼,跟下麵一致)

(3requirepass(設置redis訪問密碼)

(4cluster-enabled yes(啟動集群模式)

(5cluster-config-file nodes.conf(集群節點信息文件)

(6cluster-node-timeout 5000redis節點宕機被髮現的時間)

(7cluster-announce-ip(集群節點的彙報ip,防止nat,預先填寫為網關ip後續需要手動修改配置文件)

(8cluster-announce-port(集群節點的彙報port,防止nat

(9cluster-announce-bus-port(集群節點的彙報bus-port,防止nat

(10) appendonly yes(開啟aof

 

 

四、 redis-cluster下生成confdata目標,並生成配置信息

執行以下命令,按模板生成文件以及文件夾

for port in `seq 7001 7006`; do \

  mkdir -p ./${port}/conf \

  && PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf \

  && mkdir -p ./${port}/data; \

done

 

 

 

文件結構

 

 

 

 

五、創建6redis容器

for port in `seq 7001 7006`; do

     docker run -d --net=host -v /root/redis-cluster-d/${port}/conf/redis.conf:/etc/redis/redis.conf -v /root/redis-cluster-d/${port}/data:/data --restart always --name=redis-${port}  redis redis-server /etc/redis/redis.conf;

done

 

 

 

 

 

六、進入任意一個已運行的redis容器

docker exec -it redis-7001 bash

 

 

 

執行集群指令

 redis-cli -a 123456 --cluster create 192.168.96.171:7001 192.168.96.171:7002 192.168.96.171:7003 192.168.96.171:7004 192.168.96.171:7005 192.168.96.171:7006 --cluster-replicas 1

 

 

 

 

 

 

 

七、檢查集群狀態

容器內驗證

redis-cli -c -a 123456  -h 192.168.96.171  -p 7001

 

 

 

Centos中驗證

redis-cli -c -a 123456 -h 192.168.96.171 -p 7001

 

 

 

redis-cli -a 123456 --cluster check 192.168.96.171:7001

 

 

 

 

八、如果是準備在公網使用集群,需要修改每一個nodes.conf文件中 myself,master配置的ip地址為公網ip,並重啟

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我們知道,(單核)單片機某一時刻只能幹一件事,會造成單片機資源的浪費,而且還有可能響應不夠及時,所以,在比較龐大的程式或者是要求實時性比較高的情況下,我們可以移植操作系統。因為這種情況下操作系統比裸機方便很多,效率也高。下麵,傑傑將帶你們走進FreeRTOS的世界隨便看看。 下麵正式開始本文內容。 ...
  • ls 列出目錄內容 pwd 顯示當前工作路徑 cd 進入其他目錄,改變你當前所在目錄 mkdir 創建一個新的目錄 touch 創建一個文件 man 幫助命令同 --help cp 複製文件 mv 移動 / 重命名 find 查找文件 grep 篩選 查看文件內容 kill 向進程發出一個信號 pa ...
  • Scrcpy 安裝 adb服務安裝 adb配置 查看手機的USB識別號 手機通過USB連接電腦 找打自己手機的識別號, 我是04e8:6860 創建設備文件 下麵所有的 改成自己的識別號, 文件名可自定義 在文件中輸入: 保存後修改文件許可權 啟動adb服務 有設備就說明成功了, 如果沒有看看自己手機 ...
  • Centos7啟動流程: 1.post(Power-On-Self-Test) 加電自檢 2. bootsequence(BIOS,選擇啟動設備) 3.bootloader(MBR) 4.kernel初始化 5.init管理用戶空間服務進程 編寫Nginx的systemd配置文件, 實現nginx進 ...
  • 1.訪問官網地址是:MongoDB Download Center | MongoDB,一般下載server的Community 版,對於一般開發人員來說已經夠用了。 2、點擊“DOWNLOAD(tgz)”按鈕,將解壓後的文件放入 /usr/local ,預設情況下在Finder中是看不到 /usr ...
  • 表定義 只有成功創建資料庫後,才能創建數據表,數據表是欄位的集合,在表中數據按行和列的格式存儲 創建表 MySQL 使用 CREATE TABLE 創建表。其中有多個選擇,主要由表創建定義(create definition)、表選項定義(table options) 和區分選項(partition ...
  • 一、背景介紹 我們每天都在訪問各種網站、APP,如微信、QQ、抖音,今日頭條等,這些東西上面都存在大量的信息,這些信息都需要有地方存儲,存儲在哪裡呢?資料庫。 所有我們需要開發一個網站、APP,資料庫我們必須掌握的技術。常用的資料庫有mysql,oracle、sqlserver、db2等。 orac ...
  • 1、修改系統名稱,關閉防火牆,selinux。2、掛載鏡像,並寫入開機自動掛載。掛載點為/mnt/yummount -t iso9660 -o,loop /soft/Centos6.iso /mnt/yum3、查看swap分區大小2G以下配置swap2G*1.5=3G2G-16G配置相同G16G以上 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...