搭建一个一主一从的Redis主从架构。node
主节点去写,从节点去读,若是在主节点写入数据以后,从节点能读取到,就说明搭建成功了。linux
#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
复制代码
tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8
make && make test && make install
复制代码
将redis_init_script脚本拷贝到 linux系统的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是咱们但愿这个redis实例监听的端口号 redis
修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)shell
mkdir /etc/redis
mkdir /var/redis/6379
复制代码
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
复制代码
5.2 设置redis跟随系统启动自启动**bash
在redis_6379脚本中,最上面,加入两行注释架构
# chkonfig: 2345 90 10
# description: Redis is a persistent key-value datebase
复制代码
执行命令:chkconfig redis_6379 ontcp
在slave node配置:学习
# 注意:redis3.x 版本是配置:slaveof 192.168.1.1 6379
# 我用的是redis-5.x
replicaof 192.168.0.103
复制代码
基于主从复制架构,实现读写分离测试
在slave node配置只读:
# 配置只读(我用的的redis-5.x版本,redis-3.x版本配置为:slave-read-only yes)
replica-read-only yes
复制代码
开启了只读的redis slave node,会拒绝全部的写操做,这样能够强制搭建读写分离的架构
master node上启用安全认证,requirepass
# 开启安全认证
requirepass foobared
复制代码
slave node上设置链接口令:
masterauth foobared
复制代码
iptables -A INPUT -ptcp --dport 6379 -j ACCEPT
复制代码
启动主从节点,进入命令行:
redis-cli -h ipaddr
复制代码
执行命令,查看其余节点信息:
info replication
复制代码
在主上写,在从上读