redis主從複製環境搭建

一、安裝環境
1.CentOS-7.5-x86_64
2.redis-4.0.8
二、IP規劃

主機名 IP地址 角色
node1 192.168.124.3 master
node2 192.168.124.4 slave

三、安裝redis

  1. 首先下載redis源碼包,安裝如下
[root@node1 ~]# tar -zxvf redis-4.0.8.tar.gz
[root@node1 ~]# yum -y install gcc 
[root@node1 ~]# cd redis-4.0.8/
[root@node1 redis-4.0.8]# make
[root@node1 redis-4.0.8]# make install
[root@node1 redis-4.0.8]# ./utils/install_server.sh
...
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...  //提示服務已經啓動
Installation successful!        //提示安裝成功
  1. 查看服務狀態
[root@node1 ~]# /etc/init.d/redis_6379 status 
Redis is running (1050)
  1. 查看端口
[root@node1 ~]# netstat -lnput | grep redis
tcp        0      0 192.168.124.3:6379      0.0.0.0:*               LISTEN      1050/redis-server 1
  1. 連接redis
[root@node1 ~]# redis-cli 
127.0.0.1:6379> set 8 a
OK
127.0.0.1:6379> get 8
"a"
  1. 設置連接密碼

先備份配置文件,防止配置錯誤

[root@node1 ~]# cp /etc/redis/6379.conf /opt/
  • 修改配置文件
[root@node1 ~]# vim /etc/redis/6379.conf
bind 192.168.124.3
port 6379
requirepass "hxh"
:wq
  • 修改腳本
[root@node1 ~]# vim /etc/init.d/redis_6379
$CLIEXEC -h 192.168.124.3 -p 6379 -a 123456 shutdown
  • 啓動服務
[root@node1 ~]# /etc/init.d/redis_6379 start
Starting Redis server...
[root@node1 ~]# 
  • 訪問數據庫
[root@node1 ~]# redis-cli -h 192.168.124.3 -p 6379 -a 123456
192.168.124.3:6379> ttl 7
(integer) -1

四、配置從服務器

[root@node2 ~]# vim /etc/redis/6379.conf
masterauth "hxh"
slaveof 192.168.124.3 6379
:wq
  • 重啓服務
[root@node2 ~]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
  • 查看是否成功(主服務器操作)
[root@node1 ~]# redis-cli -h 192.168.124.3 -p 6379 -a 123456
192.168.124.3:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.124.4,port=6379,state=online,offset=1162,lag=1
master_replid:ac622b0c66d6501a2e74764215a95b28974e1db4
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1162
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1162
  • 查看是否成功(從服務器操作)
[root@node2 ~]# redis-cli -h 192.168.124.4 -p 6379 
192.168.124.4:6379> info replication
# Replication
role:slave
master_host:192.168.124.3
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_repl_offset:1316
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:ac622b0c66d6501a2e74764215a95b28974e1db4
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1316
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1023
repl_backlog_histlen:294

五、測試

  • 主服務器插入數據
[root@node1 ~]# redis-cli -h 192.168.124.3 -p 6379 -a 123456
192.168.124.3:6379> set 10 10 
OK
192.168.124.3:6379> get 10 
"10"
192.168.124.3:6379> keys *
1) "6"
2) "8"
3) "1"
4) "2"
5) "7"
6) "4"
7) "5"
8) "10"
9) "3"
192.168.124.3:6379> 

  • 登錄從服務器查看是否同步數據
[root@node2 ~]# redis-cli -h 192.168.124.4 -p 6379 
192.168.124.4:6379> keys *
1) "5"
2) "6"
3) "1"
4) "4"
5) "2"
6) "10"
7) "3"
8) "8"
9) "7"
192.168.124.4:6379> get 10
"10"
192.168.124.4:6379> 

測試完成,從服務器能夠同步主服務器的數據說明配置正確

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章