Redis 镜像使用指南
镜像环境里相应软件的安装,通过官方 rpm 包安装完成。
在镜像环境中,/root/redis_master 是镜像环境安装的主目录,镜像环境软件的安装是在此目录完成。/root/redis_master.zip 是安装镜像环境的源码包,您可以在 centos 6.5 系统中自行采用此脚本安装,安装后的环境跟镜像里初始化的环境一致。
出于安全性考虑,镜像环境中 redis 默认只能本机 127.0.0.1 访问。要想对外访问,请运行命令:
bash /root/redis_opennet.sh
redis 开启对外访问后,出于安全性考虑,强烈建议开启 iptables 来限制访问的 ip 。另外建议,类似 redis 这样的数据库软件不要开启公网。
此文档为 redis 镜像使用帮助,如需使用 redis 的主从环境,请先开通 redis master 的镜像,再开通 redis slave 的镜像,然后根据 redis slave 镜像帮助文档中的《 8、主从配置教程 》运行相关脚本进行主从配对。
如果您不需要 redis 的主从环境,redis master 或者 redis slave 镜像可以单独开通使用。
值得注意的是,redis 主从同步通过内网能达到最佳效率,如果开通的主从镜像内网不通( 比如不同阿里云账号下开通主从镜像、或者不同节点下开通主从镜像 ),只能通过公网进行主从同步,将会影响主从同步的效率。
镜像需要云服务器最低配置要求:1 核 / 512 M 及以上
具体云服务器配置要求,根据您的业务情况来定。比如您的业务访问量不高,可以选择中低配云主机来使用镜像。如果您的业务访问量很高,则需要选择中高配云主机来使用镜像。
redis
版本 : 2.8.13
协议 : BSD
http://www.redis.io
备注:系统目录下 /alidata/website-info.log 文件为安装软件版本详细列表。
软件的主目录:/alidata redis 主目录:/alidata/server/redis/ 日志目录:/alidata/log/redis/ 为 redis 存放日志主目录
redis: /etc/init.d/redis start|stop|restart
已将相关软件启动脚本加入 /etc/rc.local 开机自启动。
比如在 /etc/rc.local 中加入以下命令:
/etc/init.d/redis start
如果您需要 redis 的主从环境,请先开通 redis master 镜像,然后开通 redis slave 镜像,在 redis slave 中运行以下脚本进行配置:
在 redis master 镜像上运行以下命令,让 master redis 开启对外访问( 否则我们从库连接不上主库的 redis ,将无法主从 ):bash /root/redis_opennet.sh
然后在 redis slave 镜像环境中运行以下命令: bash redis_slave.sh
进入交互方式,询问是否继续,这里输入 yes this server is master.Do you need change to slave ? ( yes / no )
要求输入远程 master ip 地址,这里需要填写 master 的内网 ip #备注:a、填写内网 ip 的时候,请先确定主从镜像的内网是否互通,及 master 的 6379 redis 服务端口是否打开,否则会导致主从失败。否则会出现错误提示:“error : connect to 6379 (tcp) failed: Connection refused”。另外除此之外,确认在 redis master 上有运行开启对外访问的脚本,否则主从也会失败的哦。 #b、这里输入公网 ip 也是可行,只不过主从通过内网同步才能达到最大效率,公网的传输速度会影响主从同步的效率。
Please enter your master ip ?
自动重启:
配置完成后会自动重启redis
查看:
less /alidata/log/redis/redis.log
可以看到日志中主从已经开始同步
[5136] 06 Aug 10:17:04.783 * MASTER <->
SLAVE sync started
[5136] 06 Aug 10:17:04.785 * Non blocking
connect for SYNC fired the event.
[5136] 06 Aug 10:17:04.788 * Master replied to PING, replication can continue...
[5136] 06 Aug 10:17:04.790 * Partial resynchronization not possible (no cached master)
[5136] 06 Aug 10:17:04.792 * Full resync from master: 2bd59610fe6d638ad00075a75e4af56323b62081:90637
[5136] 06 Aug 10:17:04.854 * MASTER <-> SLAVE sync: receiving 18 bytes from master
[5136] 06 Aug 10:17:04.854 * MASTER <-> SLAVE sync: Flushing old data
[5136] 06 Aug 10:17:04.854 * MASTER <-> SLAVE sync: Loading DB in memory
[5136] 06 Aug 10:17:04.854 * MASTER <-> SLAVE sync: Finished with success
安装此软件包,系统变更过的地方如下:
安装软件,系统安装过的一些依赖包如下:
rpm -ivh redis-2.8.13-1.el6.remi.x86_64.rpm
yum install jemalloc.x86_64
安装软件的主目录:/alidata
环境变量设置:/etc/profile
开机自启动:/etc/rc.local
文件打开数:/etc/security/limits.conf
出于安全性考虑,镜像环境中 redis 默认只能本机 127.0.0.1 访问。要想对外访问,请运行命令:bash /root/redis_opennet.sh
redis 开启对外访问后,出于安全性考虑,建议开启 iptables 来限制访问的 ip 。
如何卸载镜像环境中安装的软件,可以参考如下命令完成卸载:
cd / root / redis_slave bash uninstall.sh
备注一 :执行以上卸载,会清理镜像环境的 /alidata 目录,请卸载前自行备份好相应数据。