架构实战:(二)Redis读写分离与主从架构
架构实战
(二)Redis读写分离与主从架构
首先搭建Redis主从架构,需要搭建centos集群,每台服务器上安装Redis和其他必备环境,例如:
1、安装centos
a 配置网络环境
b 配置hosts,加入所有centos的ip
c 配置防火墙,允许6379端口通讯
c 配置yum
2、在每台centos上安装java 和 perl
3、配置每台centos为免密码互相通信
4、最重要的,安装redis(本文使用3.2.8版本),并且安装 tcl
下面将详细记录Redis的主从配置过程:
(1)在redis安装目录 utils 文件夹下,有个redis_init_script脚本
(2)将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
(3)修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
(4)创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
(5)修改redis配置文件(默认在根目录下redis.conf),拷贝到/etc/redis目录中,修改名称为redis_6379.conf
(6)修改redis.conf中的配置为生产环境
daemonize yes 让redis以daemon进程运行 pidfile /var/run/redis_6379.pid 设置redis的pid文件位置 port 6379 设置redis的监听端口号 dir /var/redis/6379 设置持久化文件的存储位置 bind xx.xx.xx.xx 将127.0.0.1修改为本机地址
(7)启动redis,执行
#cd /etc/init.d #chmod 777 redis_6379 #./redis_6379 start
(8)确认redis进程是否启动
#ps -ef | grep redis
(9)让redis跟随系统启动自动启动
在redis_6379脚本中,最上面,加入两行注释
# chkconfig: 2345 90 10 # description: Redis is a persistent key-value database chkconfig redis_6379 on REDISPORT=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/redis_${REDISPORT}.conf"
(10) 主机跟备机的配置不相同的部分(redis_6379.conf)
开启了只读的redis read onde ,会拒绝所有的写操作,这样可以强制搭建成读写分离的架构
-->备机修改: slave_read_only yes
配置主备机之间的安全认证
-->主机修改: requirepass redis-pass
-->备机修改: masterauth redis-pass
(11) 启动备机的备份设置
进入redis命令行,执行
redis> SLAVEOF 127.0.0.1 6379 OK
如果提示连接错误,可以先把所有的redis都shutdown,然后按照先启动主节点,再启动从节点的顺序启动redis。
(12)查询命令
#redis-cli -h ipaddr
#info replication
问题收集:
Redis (error) NOAUTH Authentication required.解决方法
127.0.0.1:6379> set name "hello" (error) NOAUTH Authentication required. 127.0.0.1:6379> (error) NOAUTH Authentication required. (error) ERR unknown command '(error)' 127.0.0.1:6379> auth "root"
Redis-benchmark压力测试
redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100 SET/GET 100 bytes 检测host为127.0.0.1 端口为6379的redis服务器性能 redis-benchmark -h 127.0.0.1 -p 6379 -c 5000 -n 100000 5000个并发连接,100000个请求,检测host为127.0.0.1 端口为6379的redis服务器性能
浙公网安备 33010602011771号