案例環境
NAT模式
系統:Ubuntu 18.04.3
軟體版本:Redis 4.0.14.tar.gz
主機名 | IP位址 | 角色 |
---|---|---|
Redis-master | 192.168.118.128 | Master、sentinel |
Redis-slave | 192.168.118.129 | slave、sentinel |
Redis-slave | 192.168.118.135 | slave、sentinel |
ubuntu18.04配置阿裡源
- 以防出錯,先備份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 編輯元清單檔案
sudo vim /etc/apt/sources.list 或 sudo gedit /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
- 更新軟體清單
sudo apt-get update
- 更新軟體包
sudo apt-get upgrade
關于清單裡内容不盡相同的問題:
元清單裡的bionic是18.04的版本号,每一版内容不同的地方就是版本号(或者官方一點的說:系統代号)
檢視新版本資訊
lsb_release -c
我們可以看到新版本的Ubuntu系統代号為bionic
同樣的我們也可以得到之前版本的系統代号:
Ubuntu 12.04 (LTS)代号為precise。
Ubuntu 14.04 (LTS)代号為trusty。
Ubuntu 15.04 代号為vivid。
Ubuntu 15.10 代号為wily。
Ubuntu 16.04 (LTS)代号為xenial
因為更改apt安裝源時用的系統不一樣,元清單中系統代号也不同,不同版本的ubuntu系統源清單更改時需注意版本代号的不同
基本環境配置
- 關閉防火牆、selinux
sudo ufw disable
sudo setenforce 0
- 修改root密碼
sudo passwd root
- 更新軟體源清單
sudo apt-get update
- 安裝 ftp、ssh、nfs、vim
sudo apt-get install -y vsftpd openssh-server nfs-kernel-server portmap vim
- 修改主機名
sudo hostnamectl set-hostname Redis-master
sudo hostnamectl set-hostname Redis-slave1
sudo hostnamectl set-hostname Redis-slave2
- 修改Host檔案
vim /etc/hosts
192.168.118.128 Redis-master 192.168.118.135 Redis-slave1 192.168.118.129 Redis-slave2
安裝redis
- 解壓編譯安裝
tar zxvf redis-4.0.14.tar.gz
mv redis-4.0.14 /usr/local/redis
cd /usr/local/redis
make
報錯,原因是沒有安裝gcc

apt-get –y install gcc g++
make distclean
make
make install
主從/哨兵配置
redis.conf配置主從, sentinel.conf配置哨兵
-
【通用配置】
下面3項,在每個
裡進行修改,在每個redis.conf
裡新增sentinel.conf
#支援内網/本地通路,比如 bind 172.31.175.142 127.0.0.1
bind 本機内網IP 127.0.0.1
#支援背景運作,預設值為no
daemonize yes
#日志檔案,比如redis.log、sentinel.log
logfile xxx.log
-
【slave的配置】
在2個slave的
下指定masterredis.conf
vim /usr/local/redis/redis.conf
#指定master
slaveof 192.168.118.128 6379
#設定從庫隻讀
slave-read-only yes
- 【3台機器的sentinel的配置】
在 entinel.conf下指定監控的mastervim /usr/local/redis/sentinel.conf
#指定監控的master , “2”表明故障恢複需要的哨兵數量
sentinel monitor mymaster 192.168.118.128 6379 2
啟動
分别啟動主從redis, 檢視端口運作狀态,驗證沒問題
[email protected]:/usr/local/redis# redis-server redis.conf
[email protected]:~# netstat -anptu | grep redis
[email protected]:/usr/local/redis# redis-server redis.conf
[email protected]:~# netstat -anptu | grep redis
[email protected]:/usr/local/redis# redis-server redis.conf
[email protected]:~# netstat -anptu | grep redis
關閉
redis-cli shutdown
連接配接redis檢視主從資訊
cli連接配接redis成功後, 輸入
info replication
- 下面是master的replication資訊
[email protected]:/usr/local/redis# redis-cli
127.0.0.1:6379> info replication
- 登入從庫可以看到主庫的狀态
[email protected]:/usr/local/redis# redis-cli
127.0.0.1:6379> info replication
測試主從同步
- 在master 端操作
Ubuntu 18.04搭建Redis一主兩從三哨兵 - 在selave 端檢視
- slave1
Ubuntu 18.04搭建Redis一主兩從三哨兵 - slave2
Ubuntu 18.04搭建Redis一主兩從三哨兵
- slave1
啟動哨兵
---- (有部署哨兵的都啟動) ----
[email protected]:/usr/local/redis# redis-sentinel sentinel.conf
[email protected]:~# netstat -anptu | grep redis
故障轉移
- 關閉Redis-master的redis-server程序.
redis-cli -h 192.168.118.128-p 6379 shutdown
- 檢視主從資訊
-
slave1(192.168.118.129)
master已經轉移到Slave2(192.168.118.135)上
當故障轉移成功後, redis就是一主一從
Ubuntu 18.04搭建Redis一主兩從三哨兵 Ubuntu 18.04搭建Redis一主兩從三哨兵 Ubuntu 18.04搭建Redis一主兩從三哨兵 -
slave2(192.168.118.135)
slave從節點現在變為192.168.188.128和192.168.118.129
Ubuntu 18.04搭建Redis一主兩從三哨兵
-