【Redis主從架構】搭建一個一主一從的Redis主從架構

1. 學習目標

搭建一個一主一從的Redis主從架構。node

主節點去寫,從節點去讀,若是在主節點寫入數據以後,從節點能讀取到,就說明搭建成功了。linux

2. 搭建 redis slave node

2.1 安裝tcl

 #1. 下載tcl安裝包
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
 #2. 解壓tcl8.6.1-src.tar.gz
tar -zxvf tcl8.6.1-src.tar.gz
 #3. 配置tcl
cd /usr/local/tcl8.6.1/unix
./conifgure
 #4. 安裝tcl
make && make install
複製代碼

2.2 安裝Redis

tar -zxvf redis-3.2.8.tar.gz

cd redis-3.2.8

make && make test && make install
複製代碼

2.2.1 Redis生產環境啓動方案配置

  1. redis/utils目錄下,有個redis_init_script腳本

0

  1. redis_init_script腳本拷貝到 linux系統的/etc/init.d目錄中,將redis_init_script重命名爲redis_63796379是咱們但願這個redis實例監聽的端口號 redis

    1

  2. 修改redis_6379腳本的第6行的REDISPORT,設置爲相同的端口號(默認就是6379)shell

2

  1. 建立兩個目錄:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
mkdir /etc/redis

mkdir /var/redis/6379
複製代碼
  1. 修改redis配置文件(默認在根目錄下,redis.conf),拷貝到/etc/redis目錄中,修更名稱爲6379.conf
  • redis.conf

1

2

5.1 修改redis.conf中的部分配置爲生產環境安全

 # 讓redis以daemon進程運行
daemonize yes
 # 設置redis的pid文件位置
pidfile /var/run/redis_6379.pid
 # 設置redis的監聽端口號
port 6379
 # 設置持久化文件的存儲位置
dir /var/redis/6379
 # 綁定ip地址(本機的ip地址)
bind 192.168.0.111

複製代碼

1

2

3

5.2 設置redis跟隨系統啓動自啓動**bash

在redis_6379腳本中,最上面,加入兩行註釋架構

# chkonfig: 2345 90 10
 # description: Redis is a persistent key-value datebase

複製代碼

4

執行命令:chkconfig redis_6379 ontcp

2.2.2 配置主從節點

在slave node配置:學習

# 注意:redis3.x 版本是配置:slaveof 192.168.1.1 6379
 # 我用的是redis-5.x
 replicaof 192.168.0.103
複製代碼

1

2

2.2.3 設置從節點只讀

基於主從複製架構,實現讀寫分離測試

在slave node配置只讀:

# 配置只讀(我用的的redis-5.x版本,redis-3.x版本配置爲:slave-read-only yes)
replica-read-only yes
複製代碼

3

開啓了只讀的redis slave node,會拒絕全部的寫操做,這樣能夠強制搭建讀寫分離的架構

2.2.4 集羣安全認證

master node上啓用安全認證,requirepass

# 開啓安全認證
requirepass foobared
複製代碼

1

slave node上設置鏈接口令:

masterauth foobared
複製代碼

4

2.2.5 防止意外,放開6379端口

iptables -A INPUT -ptcp --dport  6379 -j ACCEPT
複製代碼

2.2.6 主從架構測試

啓動主從節點,進入命令行:

redis-cli -h ipaddr
複製代碼

執行命令,查看其餘節點信息:

info replication
複製代碼

在主上寫,在從上讀

  • 從節點

1

  • 主節點

2

  • 測試,主節點寫一條數據,看可否從從節點獲取到數據
  • Slave節點一鏈接到Master節點的時候,就會將Master節點的數據複製到slave節點。
相關文章
相關標籤/搜索