2.1 安装Redis
按步骤在规划的服务器(CentOS7.2以上)上执行下述命令。
#切换至/usr/local目录
cd /usr/local
#下载redis-3.2.0或以上版本包并上传到服务器
#解压
tar xzf redis-3.2.0.tar.gz
#切换至redis-3.2.0目录
cd redis-3.2.0
cd src
#编译
make
#安装
make install
注:若服务器是ARM服务器 则执行如下:
执行如下命令,获取Redis源码。
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
2) 执行如下命令,解压包。
tar -zxvf redis-5.0.5.tar.gz
3) 执行如下命令,进入deps目录。
cd redis-5.0.5/deps
4) 执行如下命令,编译Redis依赖库。
make -j4 hiredis lua jemalloc linenoise
5) 依次执行如下命令,编译Redis。
cd …
make -j4
make install
2.2安装ruby环境
如果没有gem命令,请先安装gem命令
yum install -y ruby
yum install -y rubygems
#安装命令
gem install -l ./redis-4.0.0.rc1.gem
2.3 Redis-Sentinel哨兵集群
Redis主从配置:配置master 只能为写,slave只能为读,在客户端对poolconnect请求时候,,会将读请求转到slave上面,写请求转到master上面,同时,master和slave有同步功能,这就实现了(数据层)读写分离对上层(逻辑层)透明的正常逻辑。无需再通过中间件或者代码进行读写分析实现
2.4搭建主从配置
#以一台服务器,配置两个端口号为例子做介绍
redis实现主从配置最关键的两个配置文件是redis.conf和sentinel.conf,分别配合redis-server和redis-sentinel使用:
#master
重命名redis.conf为master-63791.conf
#开启后台运行模式
daemonize yes 是否是以守护进程(no|yes) 默认启动方式no,建议使用yes
#指定进程id存放位置,也可以用默认的
pidfile /usr/local/webserver/redis/run/redis.pid
#指定端口号
port 63791(根据实际端口自行调整)
protected-mode no
tcp-keepalive 0
#指定数据存放位置,也可以用默认的
dir /usr/local/webserver/redis/db 工作目录
slave-serve-stale-data yes
#本redis密码
Require pass 123456
#主redis密码
Master auth “123456”
appendonly yes
注释掉bind
重命名sentinel.conf为 sentinel-16379.conf
port 16379 (根据实际端口自行调整)
dir /usr/local/webserver/redis/db
daemonize yes
protected-mode no
logfile “./sentinel.log”
#设置监控的主redis的ip以及端口号,以及投票最低数
sentinel monitor mymaster 10.2.111.183 63791 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 18000
sentinel auth-pass mymaster 123456
#slave
重命名redis.conf为slave-63792.conf
daemonize yes
pidfile /usr/local/webserver/redis-slave1/run/redis.pid
port 63792(根据实际端口自行调整)
protected-mode no
dir /usr/local/webserver/redis-slave1/db
#指定主redis以及相应的端口号
Slave of 10.2.111.183 63791 (这里写实际服务器地址和端口) 这里是重点
注释掉bind
重命名sentinel.conf为sentinel-26379.conf
#sentinel端口
port 26379(根据实际端口自行调整)
#工作路径,注意路径不要和主重复/
dir /usr/local/webserver/redis-slave1/db
daemonize yes
protected-mode no
logfile “./sentinel.log”
#哨兵监控的master,主从配置一样,
sentinel monitor mymaster 10.2.111.183 63791 1
sentinel down-after-milliseconds mymaster 5000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000
#设置master和slaves验证密码
sentinel auth-pass mymaster 123456
如果要实现多个从配置,可以按照以上从配置方式多定义几个端口,并先在防火墙那里开启对应的端口)
常用配置
daemonize 是否是以守护进程(no|yes) 默认启动方式no,建议使用yes
port Redis对外端口号 默认6379
logfile 系统日志
dir 工作目录
RDB config
AOF config
slow Log config max Memory
2.5启动Sentinel集群
进入到redis 安装目录下找到对应src找到下面对应的配置文件并执行:
–>./src/redis-server master-63791.conf
–>./src/redis-sentinel sentinel-16379.conf
–>./src/redis-server slave-63792.conf
–>./src/redis-sentinel sentinel-26379.conf