中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker部署Redis哨兵模式

發布時間:2021-02-23 16:16:10 來源:億速云 閱讀:116 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關Docker部署Redis哨兵模式,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

條件

三臺服務器(因為需要至少三個哨兵保證安全性)【可以在阿里云上租幾個小時】

  • 服務器1:8.131.78.18

  • 服務器2:8.131.69.106

  • 服務器3:8.131.71.196

  • 端口號7000、17000已在安全組上放行(阿里云)

  • 環境:centos8.0

安裝Docker

逐行執行以下指令:

# 1. 更新編譯環境
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設置鏡像的倉庫,推薦使用國內的鏡像,比較快
yum-config-manager \
 --add-repo \
 https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3.4 更新yum軟件包索引,功能是將軟件包緩存在本地一份
yum makecache 
# 3.5 安裝docker相關的 docker-ce 社區版
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 啟動docker
systemctl start docker
# 3.8 設置為后臺啟動
systemctl enable docker 
# 3.9 使用docker version查看是否按照成功
docker version
# 3.10 測試(可以不做)
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主從節點

我們使用的服務器是服務器1和服務器3(本來是一主兩從,我把服務器2關了)。

TIPS: 對于xshell可以使用右鍵選擇發送鍵輸入到所有會話,這樣就不需要配置兩遍了。或者使用scp語句將配置好的文件共享給其他服務器:

# scp local_file remote_username@remote_ip:remote_folder
scp redis.conf root@58.131.71.196:/blue/redis02

1.首先創建文件夾,注意不要放在home路徑下,否則容易因為權限問題是容器運行失敗。我創建的目錄為/blue/redis02,指令比較簡單:

cd /
mkdir blue && cd blue
mkdir redis02 && cd redis02

2.創建Dockerfile,Dockerfile是為了加載一些我們需要的環境。

vi Dockerfile

# Dockerfile內容如下:
# 從基礎鏡像redis繼承
FROM redis
MAINTAINER blue<blue@email.com>

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

# 安裝一些環境
RUN apt-get update
RUN apt-get install -y vim
RUN apt-get install procps --assume-yes

VOLUME ["/data"]

WORKDIR /etc/redis

# 開放端口7000
EXPOSE 7000

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

3.從官網上下載一個redis.conf并做如下修改。redis.conf則是redis的一些配置,這個和單機的redis一主一從三哨兵的配置基本相同。

# 注釋掉bind 127.0.0.1 
# bind 127.0.0.1

port 7000

# 這里如果是yes會影響使用配置文件啟動
daemonize no

pidfile /var/run/redis_7000.pid

# 需要設置以下兩處密碼,密碼要一致
requirepass testmaster123
masterauth testmaster123

# 修改保護模式,如果是yes會導致外部服務器無法訪問
protected-mode no

# 對于服務器3,還需要加上一句,表示是服務器1的從服務器 
# slaveof 主.機.I.P 端口
slaveof 8.131.78.18 7000

4.保存好以上配置之后可以使用以下語句創建鏡像,這個過程時間比較長,需要耐心等待:

# 應該用 docker build -t myredis . 比較有辨識度的,但是作為測試的時候就成功了,也不想修改了。這句話是根據我們的Dockerfile創建一個新的鏡像。可以把他push到倉庫去,這樣下次可以直接拉取。
docker build -t test .

5.使用如下語句啟動容器:

# 啟動容器
docker run -d -p 7000:7000 --name redis-test test

# 以下語句查看運行中的容器
docker ps

#進入容器內部
docker exec -it redis-test /bin/bash

6.在容器內部可以使用以下語句查看在運行的線程:

# 查看運行的線程
ps -ef

# 使用redis客戶端訪問7000端口
redis-cli -p 7000

# 輸入密碼
auth testmaster123

# 查看信息
info replication

# 以下為從節點返回的信息
# 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

以上就是Docker部署Redis哨兵模式,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

朝阳县| 惠来县| 当涂县| 南部县| 西和县| 临洮县| 西丰县| 清苑县| 扶风县| 大关县| 盖州市| 崇信县| 宝清县| 永福县| 台中县| 凤阳县| 西充县| 托里县| 锦州市| 南投市| 礼泉县| 临猗县| 原阳县| 青河县| 西乌珠穆沁旗| 岳普湖县| 阿拉善右旗| 顺义区| 木兰县| 焉耆| 西安市| 沅江市| 鲁甸县| 攀枝花市| 泸定县| 虞城县| 牡丹江市| 杨浦区| 孝义市| 安陆市| 元朗区|