一、下载
redis官方网站:Download | Redis
这里我选择大版本5的最新版本5.0.14,使用命令如下:
wget https://download.redis.io/releases/redis-5.0.14.tar.gz
二、安装
安装流程可参考官方 Getting started with Redis | Redis
1、解压
解压到指定目录/usr/local下,使用命令如下:
tar -xvf redis-5.0.14.tar.gz -C /usr/local
2、编译
进入到redis-5.0.14的解压目录(Makefile文件所在目录),执行如下命令:
make
* 注意:当前make编译阶段依赖于gcc库,如果make失败或报错请安装或升级gcc库 *
到这里已经可以使用了,shell脚本在src目录下。但是使用不方便,因为脚本没有放到系统路径。
当前目录下执行安装,执行如下命令:
make install
至此shell脚本放到了系统命令目录/usr/local/bin下 ,系统任何目录下可以直接执行redis相关命令。
3、修改配置文件
在安装目录下,创建master.conf和slave.conf两个空文件,部署master和slave主从redis服务:
这里使用include引入默认配置,master.conf内容如下:
include /usr/local/redis-5.0.14/redis.conf daemonize yes bind *********** protected-mode no #配置密码 requirepass "**********" dir /usr/local/redis-5.0.14/data/master/ logfile /usr/local/redis-5.0.14/logs/master.log #关闭RDB,mater关闭,slave开启即可 save "" #开启aof,且重写aof文件起始大小改为1G,再次重写aof在文件大小100%翻倍情况下 appendonly yes auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 1024mb #端口 port 16379 #pid文件 pidfile /var/run/redis_16379.pid
这里使用include引入默认配置,slave.conf内容如下:
include /usr/local/redis-5.0.14/redis.conf daemonize yes bind ******** protected-mode no #配置密码 requirepass "********" dir /usr/local/redis-5.0.14/data/slave/ logfile /usr/local/redis-5.0.14/logs/slave.log #端口 port 16380 #rdb文件 dbfilename dump.rdb #pid文件 pidfile /var/run/redis_16380.pid #用来指定主机: replicaof(低版本是slaveof) 主机IP 端口 replicaof masterIP 16379 #主机的密码 masterauth masterPwd
* 注意:redis官方推荐,redis主不开启RDB开启AOF且要调大rewrite参数,从开RDB和AOF *
4、启动服务
简单封装redis主从启动shell脚本为redisServerCluster.sh,如下:
redisPath="/usr/local/redis-5.0.14"
echo "stop redisServerCluster ..."
pid=$(ps -ef|grep "$redisPath/src/redis-server" | grep -v grep|awk '{printf $2 " "}')
if [ -n "$pid" ]; then
echo "stop redisServerCluster: kill ${pid} ..." & kill ${pid}
sleep 10
fi
pid=$(ps -ef|grep "$redisPath/src/redis-server" | grep -v grep|awk '{printf $2 " "}')
if [ -n "$pid" ]; then
echo "stop redisServerCluster: kill -9 ${pid} ..." & kill -9 ${pid}
sleep 5
fi
echo "stoped redisServerCluster"
echo "start master ..."
$redisPath/src/redis-server $redisPath/master.conf
echo "start slave ..."
$redisPath/src/redis-server $redisPath/slave.conf
echo "started redisServerCluster"
给当前文件授权执行权限 chmod +x redisServerCluster.sh,然后即可执行,也建议ln软链接到系统执行路径/usr/local/bin下。



