日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

史上最详细Docker搭建Redis Cluster集群环境 值得收藏 每步都有图,不用担心学不会

發(fā)布時間:2025/3/19 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 史上最详细Docker搭建Redis Cluster集群环境 值得收藏 每步都有图,不用担心学不会 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

之前無論學什么東西,總感覺只要會寫小Demo就完事了。但隨著學習的深入,(內卷)接觸的越來越多,集群、JVM、數據結構、算法、底層、Liunx 系統(tǒng),任重而道遠啊。

分享一句很喜歡的話:“八小時謀生活,八小時外謀發(fā)展”。

如果你也喜歡,那一起共勉😁😁


SpringBoot整合Redis實現(xiàn)發(fā)布/訂閱-集群配置

Docker 搭建 Redis Cluster 集群環(huán)境

    • 一、環(huán)境
    • 二、前期準備
      • 2.1、搜索、拉取redis鏡像
      • 2.2、Docker 容器網絡
      • 2.3、編寫配置文件
    • 三、啟動容器
      • 3.1、啟動redis容器
      • 3.2、創(chuàng)建Redis Cluster集群
        • 1、進入redis-6379 容器
        • 2、創(chuàng)建集群
        • 3、查看節(jié)點相關信息
    • 四、測試
      • 4.1、本機測試
      • 4.2、外網測試
      • 4.3、出錯可能會用到的命令
      • 4.4、可能會出的錯
    • 五、博主自言

一、環(huán)境

  • 阿里云服務器 CentOS 8
  • docker版本為20.10.7
  • redis 鏡像 (拉取為默認最新鏡像)

大致步驟:😜

  • 下載Redis鏡像
  • 編寫Redis配置文件
  • 啟動Redis 容器
  • 創(chuàng)建Redis Cluster 集群。
  • 進行實際測試
  • 二、前期準備

    2.1、搜索、拉取redis鏡像

    docker search redis docker pull redis

    2.2、Docker 容器網絡

  • 創(chuàng)建虛擬網卡😄

    創(chuàng)建虛擬網卡,主要是用于redis-cluster能于外界進行網絡通信,一般常用橋接模式。

    docker network create myredis
  • 查看Docker 網卡信息

    docker network ls

  • 3、查看dockerr網絡詳細信息

    docker network inspect myredis

    4、補充(刪除網卡信息、幫助命令)

    docker network rm myredis #刪除網卡命令 多個中間 空格隔開 docker network --help #顯示可帶參數等

    2.3、編寫配置文件

    此處用到了一點 shlle 編程中 的一些命令,讓我們操作更加便利。😃

    for port in $(seq 6379 6384); do mkdir -p /home/redis/node-${port}/conf touch /home/redis/node-${port}/conf/redis.conf cat << EOF > /home/redis/node-${port}/conf/redis.conf port ${port} requirepass 1234 bind 0.0.0.0 protected-mode no daemonize no appendonly yes cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 cluster-announce-ip 服務器ip地址 cluster-announce-port ${port} cluster-announce-bus-port 1${port} EOF done

    命令解釋:😊

    • port:節(jié)點端口;
    • requirepass:設置密碼,訪問時需要驗證
    • protected-mode:保護模式,默認值 yes,即開啟。開啟保護模式以后,需配置 bind ip 或者設置訪問密碼;關閉保護模式,外部網絡可以直接訪問;
    • daemonize:是否以守護線程的方式啟動(后臺啟動),默認 no;
    • appendonly:是否開啟 AOF 持久化模式,默認 no;
    • cluster-enabled:是否開啟集群模式,默認 no;
    • cluster-config-file:集群節(jié)點信息文件;
    • cluster-node-timeout:集群節(jié)點連接超時時間;
    • cluster-announce-ip:集群節(jié)點 IP
      • 注意: 如果你想要你的redis集群可以供外網訪問,這里直接填 服務器的IP 地址即可
      • 如若為了安全,只是在服務器內部進行訪問,這里還需要做一些修改。
    • cluster-announce-port:集群節(jié)點映射端口;
    • cluster-announce-bus-port:集群節(jié)點總線端口。

    redis 在官網上有說明為什么需要映射兩個端口 :redis官網


    執(zhí)行命令完:

    我們通過tree 命令查看目錄結構:(如果沒有 tree 命令先安裝 yum install -y tree)


    接下來就是啟動容器拉

    三、啟動容器

    3.1、啟動redis容器

    因為要啟動六個容器,一個一個去啟動,肯定是麻煩丫。就再次借助shell編程的力量。

    for port in $(seq 6379 6384); \ do \docker run -it -d -p ${port}:${port} -p 1${port}:1${port} \--privileged=true -v /home/redis/node-${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \--privileged=true -v /home/redis/node-${port}/data:/data \--restart always --name redis-${port} --net myredis \--sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf done

    解釋:🤑

    • -it:交互

    • -d:后臺運行,容器啟動完成后打印容器

    • –privileged:是否讓docker 應用容器 獲取宿主機root權限(特殊權限-)

    • -p :端口映射

    • -v:文件掛載

    • –sysctl參數來設置系統(tǒng)參數,通過這些參數來調整系統(tǒng)性能

    • –restart always:在容器退出時總是重啟容器

    • –name :給容器取名

    • –net myredis :使用我們創(chuàng)建的虛擬網卡 (想詳細了解,可以去看看Docker 網絡方面知識)

    執(zhí)行完成:

    亦可使用docker ps -a 查看運行中容器。

    可以看到已全部啟動成功。

    👨?🔧

    3.2、創(chuàng)建Redis Cluster集群

    可隨意選擇一個節(jié)點進入,創(chuàng)建Redis集群。

    1、進入redis-6379 容器

    docker exec -it redis-6379 /bin/bash

    2、創(chuàng)建集群

    redis-cli -a 之前設置的密碼 --cluster create 配置文件中的IP地址:6379 IP地址:6380 IP地址:6381 IP地址:6382 IP地址:6383 IP地址:6384 --cluster-replicas 1

    顯示這樣的畫面就表示已經成功拉。

    3、查看節(jié)點相關信息

    進入容器后,通過redis-cli -c -a 1234,進入redis。👼

    輸入cluster info 查看集群信息

    也可輸入cluster nodes 查看所有節(jié)點相關信息


    👨?💻下一步就是進入測試階段拉。😀

    四、測試

    4.1、本機測試

    我們在 6381中 set 進去,同時在 6379 中能夠取出來,這代表我們已經成功拉😁

    4.2、外網測試

    進入windows中 你redis下載的目錄中,進入cmd。

    測試說明 我們已經可以連接拉。

    那么我們就開啟兩個cmd 窗口,用不一樣的端口進入。

    到此,可以證明我們的集群是已經搭建成功拉。

    4.3、出錯可能會用到的命令

    批量停止容器

    for port in $(seq 6379 6384); do docker stop redis-${port} done

    批量刪除容器

    for port in $(seq 6379 6384); do docker rm redis-${port} done

    4.4、可能會出的錯

    注: 如果是阿里云或者騰訊云上的服務器 ,要記得打開安全組規(guī)則, 6379~6384和16379 ~16384都要打開。

    如果是虛擬機上,可能牽扯到防火墻,這個得注意一下。

    五、博主自言

    👩?💻

    如若存在錯誤,歡迎大家不嗇賜教!!!

    如若存在疑惑或執(zhí)行錯誤,請大家評論或私信,定會第一時間回復。

    一起繼續(xù)努力,或者啊,咱們一起🛌 ?。

    總結

    以上是生活随笔為你收集整理的史上最详细Docker搭建Redis Cluster集群环境 值得收藏 每步都有图,不用担心学不会的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。