環境描述:
centos:7.6
docker:19.03.1
redis:6.0.9
對于centos怎麼裝docker,docker又怎麼裝redis鏡像等等内容就不做概述了。如果還不會這個,就先去百度把這些前置技能學習下
本文并沒有配置哨兵模式,且全部是在一台伺服器上完成的。
以下是正文
先貼一個redis官方的配置檔案,使用下面的指令可以直接擷取
wget http://download.redis.io/redis-stable/redis.conf
第一步:先建立redis主從配置的檔案夾,區分redis.conf配置檔案的存放,1個主2個從
mkdir -p /config/redis/redis_master/conf
mkdir -p /config/redis/redis_slave_1/conf
mkdir -p /config/redis/redis_slave_2/conf
第二步:分别進入到對應的conf,使用
wget http://download.redis.io/redis-stable/redis.conf 下載下傳redis标準配置檔案
第三步:先配置master配置檔案
(1)、進入config/redis/redis_master/conf檔案夾下編輯redis.conf配置檔案
這裡貼下在linux中操作檔案的指令
#linux編輯檔案
vi x.txt 編輯檔案,進入vi指令模式
i,o,a 進入編輯模式,esc退出編輯模式,進入指令模式。
x 删除目前字元
dd 删除目前行
u 恢複前一步操作(等同于windos中的ctrl+z撤銷)
p 複制之前删除的行
:q! 退出而不儲存
:wq 儲存并退出
q! 忽略修改強行退出
(2)、修改以下配置
# 将這一行改為0.0.0.0,表示Redis可以接受任意ip的連接配接
bind 0.0.0.0
# 關閉保護模式
protected-mode no
# 讓redis服務背景運作(no是預設值,我沒有選擇去改)
# daemonize no
# 設定密碼,如果master中配置了密碼,slave配置裡就需要加這個配置(我們做測試,不去更改)
# requirepass xxxx
# 配置日志路徑,為了便于排查問題,指定redis的日志檔案目錄
logfile "/var/log/redis/redis.log"
配置完成
第四步:啟動master主配置redis
docker run -it --name redis6379 -v /config/redis/redis_master/conf/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 redis /bin/bash

主節點配置結束
下面進入從節點配置
提示:如果沒有下載下傳官方redis.conf配置檔案,請先進入到redis_slave_1/conf檔案夾下使用wget http://download.redis.io/redis-stable/redis.conf下載下傳配置檔案
前言:配置之前需要先知道redis主節點的橋接IP,使用一下指令檢視
#container_id 容器ID
docker inspect <container_id>
然後修改配置
# 将這一行改為0.0.0.0,表示Redis可以接受任意ip的連接配接
bind 0.0.0.0
# 關閉保護模式
protected-mode no
# 讓redis服務背景運作(no是預設值,我沒有選擇去改)
# daemonize no
# 設定密碼,如果master中配置了密碼,slave配置裡就需要加這個配置(我們做測試,不去更改)
# requirepass xxxx
# 配置日志路徑,為了便于排查問題,指定redis的日志檔案目錄
logfile "/var/log/redis/redis.log"
# 設定master的IP和端口号(預設6379),低版本的該修改項為slaveof
# 注意這裡的ip并不是伺服器本身的IP,而是使用redis主節點的橋接位址
replicaof 172.17.0.3 6379
從節點配置結束
啟動從節點
啟動成功,注意端口号不要再寫成6379:6379了。
下面開始驗證主從複制
先啟動master主節點
最後一個指令什麼也不會輸出,看起來像卡了,但不是,重新打開一個視窗(如果不想重新打開視窗可以把配置檔案裡面的daemonize no 改成yes即可在背景運作)
可以看見,redis6379是主節點,但由于從節點沒有啟動,是以connected_slaves為0,下面啟動從節點
中間的日志檔案夾因為在配置檔案裡面配了,是以一定要建立,否則會報錯的,
這裡看到,redis6380是從節點,并且已經挂在到了橋接位址為172.17.0.3端口為6379的主節點上,master_link_status:up 代表成功
下面再回頭看看主節點裡面的資訊,然後測試主從複制
主節點裡面有了橋接位址為172.17.0.4的從節點
主從複制也成功了(剩下那個從節點就不做示範了,都一樣的思路)
下一篇:《redis主從持久化配置哨兵》位址:https://blog.csdn.net/cm777/article/details/112004346