Docker配置redis哨兵模式——多服務(wù)器·上

前言

之前學(xué)習(xí)的redis一直是在單一服務(wù)器上運(yùn)行的豺瘤,而且是直接部署在服務(wù)器上淹办。聽(tīng)說(shuō)用docker會(huì)讓配置過(guò)程更輕松 (并沒(méi)有)這次就在用Docker的基礎(chǔ)上配置Redis一主一從三哨兵蜘腌。本篇為配置數(shù)據(jù)節(jié)點(diǎn)舍沙,即一主一從兩個(gè)節(jié)點(diǎn)怎栽。

條件

三臺(tái)服務(wù)器(因?yàn)樾枰辽偃齻€(gè)哨兵保證安全性)【可以在阿里云上租幾個(gè)小時(shí)】

  • 服務(wù)器1:8.131.78.18
  • 服務(wù)器2:8.131.69.106
  • 服務(wù)器3:8.131.71.196
  • 端口號(hào)7000踏志、17000已在安全組上放行(阿里云)
  • 環(huán)境:centos8.0

安裝Docker

逐行執(zhí)行以下指令:

# 1. 更新編譯環(huán)境
yum -y install gcc

# 2. 同上
yum -y install gcc-c++

# 3. 安裝docker
# 3.1 卸載舊版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 3.2 安裝需要的安裝包
yum install -y yum-utils
# 3.3設(shè)置鏡像的倉(cāng)庫(kù)阀捅,推薦使用國(guó)內(nèi)的鏡像,比較快
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3.4 更新yum軟件包索引针余,功能是將軟件包緩存在本地一份
yum makecache 
# 3.5 安裝docker相關(guān)的 docker-ce 社區(qū)版
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
# 3.6 安裝
yum install docker-ce docker-ce-cli containerd.io
# 3.7 啟動(dòng)docker
systemctl start docker
# 3.8 設(shè)置為后臺(tái)啟動(dòng)
systemctl enable docker 
# 3.9 使用docker version查看是否按照成功
docker version
# 3.10 測(cè)試(可以不做)
docker run hello-world
# 3.11 卸載刪除(僅供參考饲鄙,本次不做)
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker

# 4. 配置加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://qdxc3615.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

配置redis主從節(jié)點(diǎn)

我們使用的服務(wù)器是服務(wù)器1和服務(wù)器3(本來(lái)是一主兩從,我把服務(wù)器2關(guān)了)圆雁。

TIPS: 對(duì)于xshell可以使用右鍵選擇發(fā)送鍵輸入到所有會(huì)話忍级,這樣就不需要配置兩遍了∥毙啵或者使用scp語(yǔ)句將配置好的文件共享給其他服務(wù)器:

# scp local_file remote_username@remote_ip:remote_folder
scp redis.conf root@58.131.71.196:/blue/redis02
  1. 首先創(chuàng)建文件夾轴咱,注意不要放在home路徑下,否則容易因?yàn)闄?quán)限問(wèn)題是容器運(yùn)行失敗。我創(chuàng)建的目錄為/blue/redis02嗦玖,指令比較簡(jiǎn)單:
cd /
mkdir blue && cd blue
mkdir redis02 && cd redis02
  1. 創(chuàng)建Dockerfile患雇,Dockerfile是為了加載一些我們需要的環(huán)境。
vi Dockerfile

# Dockerfile內(nèi)容如下:
# 從基礎(chǔ)鏡像redis繼承
FROM redis
MAINTAINER blue<blue@email.com>

# 將Dockerfile所在目錄下的文件復(fù)制到容器/usr/local/etc/redis目錄下
COPY redis.conf /usr/local/etc/redis/redis.conf

# 安裝一些環(huán)境
RUN apt-get update
RUN apt-get install -y vim
RUN apt-get install procps --assume-yes

VOLUME ["/data"]

WORKDIR /etc/redis

# 開(kāi)放端口7000
EXPOSE 7000

# 使用配置文件啟動(dòng)
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf"]

  1. 從官網(wǎng)上下載一個(gè)redis.conf并做如下修改宇挫。redis.conf則是redis的一些配置苛吱,這個(gè)和單機(jī)的redis一主一從三哨兵的配置基本相同。
# 注釋掉bind 127.0.0.1 
# bind 127.0.0.1

port 7000

# 這里如果是yes會(huì)影響使用配置文件啟動(dòng)
daemonize no

pidfile /var/run/redis_7000.pid

# 需要設(shè)置以下兩處密碼器瘪,密碼要一致
requirepass testmaster123
masterauth testmaster123

# 修改保護(hù)模式翠储,如果是yes會(huì)導(dǎo)致外部服務(wù)器無(wú)法訪問(wèn)
protected-mode no

# 對(duì)于服務(wù)器3,還需要加上一句,表示是服務(wù)器1的從服務(wù)器 
# slaveof 主.機(jī).I.P 端口
slaveof 8.131.78.18 7000
  1. 保存好以上配置之后可以使用以下語(yǔ)句創(chuàng)建鏡像橡疼,這個(gè)過(guò)程時(shí)間比較長(zhǎng)援所,需要耐心等待:
# 應(yīng)該用 docker build -t myredis . 比較有辨識(shí)度的,但是作為測(cè)試的時(shí)候就成功了欣除,也不想修改了住拭。這句話是根據(jù)我們的Dockerfile創(chuàng)建一個(gè)新的鏡像±悖可以把他push到倉(cāng)庫(kù)去滔岳,這樣下次可以直接拉取。
docker build -t test .
  1. 使用如下語(yǔ)句啟動(dòng)容器:
# 啟動(dòng)容器
docker run -d -p 7000:7000 --name redis-test test

# 以下語(yǔ)句查看運(yùn)行中的容器
docker ps

#進(jìn)入容器內(nèi)部
docker exec -it redis-test /bin/bash

  1. 在容器內(nèi)部可以使用以下語(yǔ)句查看在運(yùn)行的線程:
# 查看運(yùn)行的線程
ps -ef

# 使用redis客戶端訪問(wèn)7000端口
redis-cli -p 7000

# 輸入密碼
auth testmaster123

# 查看信息
info replication

# 以下為從節(jié)點(diǎn)返回的信息
# Replication
role:slave
master_host:8.131.78.18
master_port:7000
master_link_status:up
master_last_io_seconds_ago:10
master_sync_in_progress:0
slave_repl_offset:28
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:438c700922a30ebbc66ee5c89a176c426924b2a7
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:28
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:28

至此主從節(jié)點(diǎn)配置成功挽牢。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谱煤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子禽拔,更是在濱河造成了極大的恐慌刘离,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件睹栖,死亡現(xiàn)場(chǎng)離奇詭異硫惕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)野来,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)疲憋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人梁只,你說(shuō)我怎么就攤上這事镀梭〔锹蓿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵盔沫,是天一觀的道長(zhǎng)彩掐。 經(jīng)常有香客問(wèn)我构舟,道長(zhǎng),這世上最難降的妖魔是什么堵幽? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任狗超,我火速辦了婚禮弹澎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘努咐。我一直安慰自己苦蒿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布渗稍。 她就那樣靜靜地躺著佩迟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪竿屹。 梳的紋絲不亂的頭發(fā)上报强,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音拱燃,去河邊找鬼秉溉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碗誉,可吹牛的內(nèi)容都是我干的召嘶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼诗充,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼苍蔬!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蝴蜓,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碟绑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后茎匠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體格仲,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年诵冒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凯肋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汽馋,死狀恐怖侮东,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豹芯,我是刑警寧澤悄雅,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站铁蹈,受9級(jí)特大地震影響宽闲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一容诬、第九天 我趴在偏房一處隱蔽的房頂上張望娩梨。 院中可真熱鬧,春花似錦览徒、人聲如沸狈定。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)掸冤。三九已至,卻和暖如春友雳,著一層夾襖步出監(jiān)牢的瞬間稿湿,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工押赊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饺藤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓流礁,卻偏偏與公主長(zhǎng)得像涕俗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子神帅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354