最近因项目需要搭建redis环境,有多种模式可以选择,其中比较经典的一种模式是主从哨兵模式,下面进行这一模式的搭建演示
一台虚拟机搭建一个redis主从哨兵模式简单集群: 一主、一从、一哨兵
虚拟机版本 Red Hat 4.1.2-48 内存1 G
redis 版本 redis-2.8.19.tar.gz(仅举例用,版本不规定)
1、上传redis安装包及规划目录
root用户登录虚拟机,进入桌面建立一个文件夹比如 lamp (上传redis 安装包用 读者可自由选择安装路径)
上传 redis安装包,解压安装包(通常使用linux命令)
tar -zxvf redis-2.8.19.tar.gz
将解压后的目录改名redis-001 作为 redis 主机包
mv redis-2.8.19 redis-001
再解压一份,改名为 redis-002 作为redis 从机包,然后目录结构如下图所示
进入 redis-001 目录 进行安装 make操作(redis-002 同样需要make)
cd redis-001
make
创建快捷目录
mkdir /root/Desktop/lamp/redis-001/bin
将常用的redis 工具从相应文件夹下移动到快捷目录中,方便集中操作与处理
在redis-001/src目录下执行移动命令
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /root/Desktop/lamp/redis-001/bin
在redis001目录下执行移动命令
mv redis.conf sentinel.conf /root/Desktop/lamp/redis-001/bin
创建日志目录 用于存放redis工作日志文件
mkdir /root/Desktop/lamp/redis-001/bin/logs
同样 对redis-002目录也进行类似的操作
mkdir /root/Desktop/lamp/redis-001/bin
redis002/src下
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /root/Desktop/lamp/redis-002/bin
redis002下
mv redis.conf sentinel.conf /root/Desktop/lamp/redis-002/bin
2、修改主机redis.conf配置文件
daemonize 改为 yes
port 6379 不用改
pidfile 默认不用改
logfile 指定到 redis目录下的 "/root/Desktop/lamp/redis-001/bin/logs/redis.log"
maxclients 4096 增加最大连接的客户端数量配置
tcp-keepalive 修改为 60
3 修改从机 redis.conf 配置基本同上;
daemonize 改为 yes
port 6380 从机端口
pidfile 默认不用改
logfile 指定到 redis目录下的 "/root/Desktop/lamp/redis-002/bin/logs/redis2.log"
maxclients 4096 增加最大连接的客户端数量配置
tcp-keepalive 修改为 60
在最后多一条设置
slaveof IP 端口 # IP 为主机的IP
例如:slaveof 主机IP 6379
注意:IP 为redis主机的服务器IP
笔者这里为 slaveof 192.168.110.218 6379
4 配置监听服务 sentinel.conf
主机,从机 保持一致即可
可以清空原配置文件,然后直接复制下面信息
主从机 都要配置上主机的IP和端口(如 主机IP 6379为主机的ip和端口):
笔者这里仅配置主机的sentinel 哨捕食,从机未配置(实现 一主一从一哨兵,读者可根据项目需要配置多个哨兵)
这里监听哨兵端口为 26379
port 26379
daemonize yes
tcp-keepalive 60
logfile "/root/Desktop/lamp/redis-001/bin/logs/sentinel.log"
sentinel monitor mymaster 主机IP 6379 1
sentinel down-after-milliseconds mymaster 8000
sentinel failover-timeout mymaster 30000
sentinel parallel-syncs mymaster 1
5、启动
先启动主机的服务,再启动从机的服务
redis-001/bin/redis-server redis.conf
redis-002/bin/redis-server redis.conf
再启动监听服务
redis-001/bin/redis-sentinel sentinel.conf
可以用下列命令 来查看服务
src/redis-cli -p 6379 info
src/redis-cli -p 26379 info
用 ps -ef|grep redis 查看服务进程
查看日志目录文件
用工程去连接redis哨兵监听服务,启动项目tomcat 成功
再用redis查看工具 redis-desktop-manager 查看主机与从机的 数据存储情况
再看从机
到此,最简单的 redis 一主一从一哨兵环境搭建成功!