Redis 高可用: 主从复制
来源:互联网 发布:python取小数点后两位 编辑:程序博客网 时间:2024/04/29 05:52
Centos 6.4 安装 redis 3.2. (安装参考:Redis 源码安装)
Centos222
Centos224
[centos222]# redis-cli
127.0.0.1:6379>set kk 123
127.0.0.1:6379>get kk
"123"
127.0.0.1:6379>get mm
(nil)
127.0.0.1:6379>exit
[centos224]# redis-cli
127.0.0.1:6379>set kk 123
127.0.0.1:6379>get mm
"22222"
127.0.0.1:6379>get kk
(nil)
127.0.0.1:6379>exit
接下来需要远程访问,配置文件设置局域网IP,关闭保护模式
vi /etc/redis/6379.conf
bind 127.0.0.1 192.168.1.222
protected-mode no
bind 127.0.0.1 192.168.1.224
protected-mode no
重启redis 服务,添加入站端口,可相互访问对方的redis服务器。
[centos222]# iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
[centos222]# redis-cli -h 192.168.1.224 -p 6379
192.168.1.224:6379> get mm
"22222"
[centos222]# iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
[centos224]# redis-cli -h 192.168.1.222 -p 6379
192.168.1.222:6379> get kk
"123"
访问没有密码,不安全,现在设置系统密码参数 requirepass
(以centos222为例,两台服务器都需要设置)
127.0.0.1:6379> config get requirepass #查看参数信息
1) "requirepass"
2) ""
127.0.0.1:6379> config set requirepass 123456 #设置参数(密码)值
OK
127.0.0.1:6379> config get requirepass #设置密码后无法操作
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456 #使用密码访问
OK
127.0.0.1:6379> get kk
"123"
127.0.0.1:6379> exit
[centos222]# redis-cli -h 192.168.1.224 -p 6379 -a 123456 #远程访问
192.168.1.224:6379> get mm
"22222"
192.168.1.224:6379>
但是,当redis服务重启之后,requirepass 密码失效了,变回了空值
要永久生效,在配置文件添加该参数:vi /etc/redis/6379.conf
requirepass 123456
开始配置主从复制了!非常简单!主要使用配置参数 slaveof。
vi /etc/redis/6379.conf
Centos222 (master)
Centos224 (slave)
bind 127.0.0.1 192.168.1.222
protected-mode no
port 6379
requirepass 654321
bind 127.0.0.1 192.168.1.224
protected-mode no
port 6379
requirepass 654321
slaveof 192.168.1.222 6379
masterauth 654321
slave-read-only yes
配置完成,重启服务。发现在master设置的key,在slave可以读取(slave只读)。主从配置完成!
[root@centos222 ~]# redis-cli
127.0.0.1:6379> auth 654321
OK
127.0.0.1:6379> set qq 6666666
OK
127.0.0.1:6379> get qq
"6666666"
127.0.0.1:6379>
[root@centos224 ~]# redis-cli
127.0.0.1:6379> auth 654321
OK
127.0.0.1:6379> get qq
"6666666"
127.0.0.1:6379>
127.0.0.1:6379> set pp 444
(error) READONLY You can't write against a read only slave.
info Replication 查看复制配置信息
127.0.0.1:6379> info Replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.224,port=6379,state=online,offset=392,lag=0
master_repl_offset:392
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:391
127.0.0.1:6379> info Replication
# Replication
role:slave
master_host:192.168.1.222
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:420
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
两篇理论比较好的博文: redis持久化RDB和AOF Redis持久化
安全及漏洞:Redis Crackit 入侵事件分析
- redis高可用 - 主从复制
- Redis 高可用: 主从复制
- Redis 高可用--主从复制
- Redis 主从复制高可用方案
- redis主从复制与sentinel高可用
- redis实现主从复制和高可用(主从切换)
- redis实现主从复制和高可用(主从切换)
- Redis 高可用:Redis Sentinel 主从复制故障转移
- Redis 高可用:Redis Sentinel 主从复制故障转移
- Sentinel-Redis高可用方案(一):主从复制
- Sentinel-Redis高可用方案(一):主从复制
- Sentinel-Redis高可用方案(一):主从复制
- Sentinel-Redis高可用方案(一):主从复制
- Sentinel-Redis高可用方案(一):主从复制
- redis解决单点故障HA(高可用)主从复制
- Sentinel-Redis高可用方案(一):主从复制
- redis的主从复制+高可用简单部署
- MySQL 高可用:主从复制
- hdoj1003解法
- POJ 2387 - Til the Cows Come Home(单源最短路)
- 推荐一些平时写程序和游戏要用的资料的提供网站
- Automation investigation tech
- Pydoc 本地 HTML 形式查看
- Redis 高可用: 主从复制
- 下载和安装 Visual Studio 2015 软件 的详细步骤图文教程
- 我面试到底问什么?
- 文件转写
- how to quit webview player
- 从0开始学习 GitHub 系列之「向GitHub 提交代码」
- 彻底解决Fragment重叠的问题
- OpenCV 3 - 编译更强大的OpenCV(二) - 拼人品时刻
- Python3 pip 解决问题: error: Unable to find vcvarsall.bat