实验环境
selinux 关闭状态
firewalld 关闭状态
无网络环境
环境规划
主机 | IP |
---|---|
master | 192.168.1.50 |
slave1 | 192.168.1.51 |
slave2 | 192.168.1.52 |
实验步骤
- 导入安装包,并解压
- 修改配置文件,添加本地持久化
- 启动redis服务
- 建立主从状态
- 查看状态的
- 验证主从建立
实验过程
通过工具把安装包导到虚拟机
[root@master、slave1、slave2 ~]这样时三台服务器都需要操作的
[root@master ~]# cd /data/
解压安装包
[root@master data]# tar -xf redis-5.0.7.tar.gz && mv redis-5.0.7 redis
使用for循环语句拷贝解压后的目录到其他节点
[root@master ~]# for i in 192.168.1.51 192.168.1.52 ;do scp -r /data/redis $i:/data ;done
三台主机全部下载安装编译工具编译安装
[root@master、slave1、slave2 ~]# yum -y install gcc automake autoconf libtool make
编译安装redis
[root@master、slave1、slave2 ~]# cd /data/redis && make || make install
修改环境变量,并刷新
[root@master、slave1、slave2 ~]# echo 'export PATH=/data/redis/src:$PATH' >> /etc/profile
[root@master、slave1、slave2 ~]# source /etc/profile
修改配置文件redis.conf
[root@master、slave1、slave2 ~]# vim /data/redis/redis.conf
69行 # bind 127.0.0.1 ##注释掉,访问地址限制链接
88行 protected-mode no ##保护模式关闭
136行 daemonize yes ## 服务在后台运行
287行 masterauth 123456 ##主服务器登入的密码
288行 requirepass 123456 ##客户端访问密码
289行 replicaof 192.168.1.50 6379 ##从服务器上写住的IP地址
启动redis服务
[root@master、slave1、slave2 ~]# /data/redis/src/redis-server /data/redis/redis.conf &
建立主从模式
[root@slave1 ~]# redis-cli -a 123456 slaveof 192.168.1.50 6379
[root@slave2 ~]# redis-cli -a 123456 slaveof 192.168.1.50 6379
查看主从状态master
[root@localhost data]# redis-cli -a 123456 info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.51,port=6379,state=online,offset=5488,lag=0
slave1:ip=192.168.1.52,port=6379,state=online,offset=5488,lag=0
master_replid:7386eacd154431b589bfe93d4a4a6770594c7fe7
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:5488
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:5488
主看主从状态slave1
[root@slave1 redis]# redis-cli -a 123456 info replication
# Replication
role:slave
master_host:192.168.1.50
master_port:6379
master_link_status:up
master_last_io_seconds_ago:8
master_sync_in_progress:0
slave_repl_offset:5446
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:7386eacd154431b589bfe93d4a4a6770594c7fe7
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:5446
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:5446
查看主从状态slave2
[root@localhost redis]# redis-cli info replication
# Replication
role:slave
master_host:192.168.1.50
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:5376
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:7386eacd154431b589bfe93d4a4a6770594c7fe7
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:5376
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:5293
repl_backlog_histlen:84
验证信息: