CentOS 安装 Redis (高可用)
原文:https://www.sunjianhua.cn/archives/centos-redis.html
下载地址: http://download.redis.io/releases/
官方文档: https://redis.io/documentation
一、Redis单机版安装
$ wget http://download.redis.io/releases/redis-4.0.11.tar.gz
$ tar xzf redis-4.0.11.tar.gz
$ cd redis-4.0.11
$ make
二、Redis Sentine主从复制
方案: 1 master,2 slave,3 sentinel
注:在以下配置为单机伪集群搭建,生产建议多台机器搭建.
2.1配置master
a.将安装好的单机版,移动到/usr/local/ 下
$ mv redis-4.0.11 /usr/local/redis
b.编辑master配置文件,主要修改以下内容
$ vi /usr/local/redis/redis.conf
bind 192.168.20.250 #
dir "/usr/local/redis/"
pidfile /var/run/redis_6379.pid
logfile "/usr/local/redis/redis.log"
databases 51
masterauth redis1234
requirepass redis1234
c.启动master服务
$ /usr/local/redis/src/redis-server /usr/local/redis/redis.conf &
d.查看日志
$ tail -f /usr/local/redis/redis.log
2.2配置两个slave
a. 创建目录
$ mkdir /usr/local/redis_slave1 /usr/local/redis_slave2
b.复制server,cli,conf等文件
$ cp /usr/local/redis/src/redis-server /usr/local/redis_slave1
$ cp /usr/local/redis/src/redis-server /usr/local/redis_slave2
$ cp /usr/local/redis/src/redis-cli /usr/local/redis_slave1
$ cp /usr/local/redis/src/redis-cli /usr/local/redis_slave2
$ cp /usr/local/redis/redis.conf /usr/local/redis_slave1
$ cp /usr/local/redis/redis.conf /usr/local/redis_slave2
c.编辑slave配置文件,主要修改以下内容
$ vi /usr/local/redis_slave1/redis.conf
port 6380
bind 127.0.0.1
daemonize no
pidfile "/var/run/redis_6380.pid"
logfile "/usr/local/redis_slave1/redis_slave1.log"
databases 51
dir "/usr/local/redis_slave1"
masterauth "redis1234"
requirepass "redis1234"
slaveof 127.0.0.1 6379
$ vi /usr/local/redis_slave2/redis.conf
port 6381
bind 127.0.0.1
daemonize no
pidfile "/var/run/redis_6381.pid"
logfile "/usr/local/redis_slave2/redis_slave2.log"
databases 51
dir "/usr/local/redis_slave2"
masterauth "redis1234"
requirepass "redis1234"
slaveof 127.0.0.1 6379
d.启动两个slave
$ /usr/local/redis_slave1/redis-server /usr/local/redis_slave1/redis.conf &
$ /usr/local/redis_slave2/redis-server /usr/local/redis_slave2/redis.conf &
e.查看两个slave日志
$ tail -f /usr/local/redis_slave1/redis_slave1.log
$ tail -f /usr/local/redis_slave2/redis_slave2.log
2.3配置三个sentinel
a.创建三个sentinel目录
$ mkdir /usr/local/redis_sentinel1 /usr/local/redis_sentinel2 /usr/local/redis_sentinel3
b.拷贝sentinel,conf等文件
$ cp /usr/local/redis/src/redis-sentinel /usr/local/redis_sentinel1
$ cp /usr/local/redis/src/redis-sentinel /usr/local/redis_sentinel2
$ cp /usr/local/redis/src/redis-sentinel /usr/local/redis_sentinel3
$ cp /usr/local/redis/sentinel.conf /usr/local/redis_sentinel1
$ cp /usr/local/redis/sentinel.conf /usr/local/redis_sentinel2
$ cp /usr/local/redis/sentinel.conf /usr/local/redis_sentinel3
c.编辑sentinel配置文件,主要一下配置
$ vi /usr/local/redis_sentinel1/sentinel.conf
port 26379
protected-mode no
dir "/usr/local/redis_sentinel1"
logfile "/usr/local/redis_sentinel1/redis_sentinel1.log"
sentinel auth-pass mymaster redis
sentinel monitor mymaster 127.0.0.1 6379
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
$ vi /usr/local/redis_sentinel2/sentinel.conf
port 26380
protected-mode no
dir "/usr/local/redis_sentinel2"
logfile "/usr/local/redis_sentinel2/redis_sentinel2.log"
sentinel auth-pass mymaster redis1234
sentinel monitor mymaster 127.0.0.1 6379
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
$ vi /usr/local/redis_sentinel3/sentinel.conf
port 26381
protected-mode no
dir "/usr/local/redis_sentinel3"
logfile "/usr/local/redis_sentinel3/redis_sentinel3.log"
sentinel auth-pass mymaster redis1234
sentinel monitor mymaster 127.0.0.1 6379
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
2.4测试master和slave
a.启动master和2个slave服务!
查看上述启动方法
b.用master或者slave中的任意cli连接master节点进行操作
$ /usr/local/redis_slave1/redis-cli -p 6379
$ auth redis1234
$ select 2
$ set name sunjianhua
$ info Replication
c.连接slave节点查询数据是否存在
$ /usr/local/redis_slave1/redis-cli -p 6381
$ auth redis1234
$ select 2
$ select name
2.5测试sentinel
a.先启动主从,后启动sentinel服务
主从启动看上面
$ /usr/local/redis_sentinel1/redis-sentinel /usr/local/redis_sentinel1/sentinel.conf &
$ /usr/local/redis_sentinel2/redis-sentinel /usr/local/redis_sentinel2/sentinel.conf &
$ /usr/local/redis_sentinel3/redis-sentinel /usr/local/redis_sentinel3/sentinel.conf &
b.查看sentinel日志
$ tail -f /usr/local/redis_sentinel1/redis-sentinel1.log
c.关闭master,查看sentinel控制台
d.连接之前的slave服务,查看info replication,两个slave 节点之一变为了master
CentOS 安装 Redis (高可用)的更多相关文章
- Keepalived+Redis高可用部署(第二版)
更新 20150625 脚本由5个减少为4个,sh脚本指令做了精简. 修改了另外3个脚本,在日志里增加了日期显示. 新增redis数据类型,持久化,主从同步简介. 新增hiredis简介. 新增c语言 ...
- centos安装redis及php-redis扩展
centos安装redis及php-redis扩展 Linux, WEB 七162012 今天公司同事要求在测试机上安装redis,并且要求让php安装上redis的扩展,redis是一个key-v ...
- Redis 高可用集群
Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...
- sentinel监控redis高可用集群(一)
一.首先配置redis的主从同步集群. 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 ...
- Redis高可用方案----Redis主从+Sentinel+Haproxy
安装环境 这里使用三台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为6379,redis-sentinel的端口为26379. ...
- 9.Redis高可用-哨兵
9.Redis高可用-哨兵9.1 基本概念9.1.1 主从复制的问题9.1.2 高可用9.1.3 Redis Sentinel的高可用性9.2 安装和部署9.2.1 部署拓扑结构9.2.2 部署Red ...
- Windows版本redis高可用方案探究
目录 Windows版本redis高可用方案探究 前言 搭建redis主从 配置主redis-28380 配置从redis-23381 配置从redis-23382 将redis部署为服务 启动red ...
- Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...
- Redis高可用之集群配置(六)
0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...
随机推荐
- c#调用c++ dll 入坑记录
1.DLL引用坑 [DllImport("NetDLL.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConve ...
- 2018-11-3& maven
https://www.cnblogs.com/clsn/p/7944116.html#auto_id_10 http://www.runoob.com/maven/maven-creating-pr ...
- 支付宝:电脑网站沙箱测试(Java)
1.下载电脑网站的官方demo: 下载地址:https://docs.open.alipay.com/270/106291/ 2.下载解压导入eclipse readme.txt请好好看一下. 只有一 ...
- Java8系列之重新认识HashMap
转自: http://www.importnew.com/20386.html 简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是Ha ...
- 测试开发之Django——No3.Django中的试图(views)
说到views,我们先来说django中执行的一个顺序. 我们打开一个django中配置的页面,之后的执行是有这么几个步骤: 1.系统配置的urls中寻找是否配置了这个地址: 2.如果已经配置了这个地 ...
- ERP渠道文档详细和修改(二十五)
前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChannelD ...
- Java编程的逻辑 (42) - 排序二叉树
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- Android开源库集合(工具)
图片加载框架: Glide https://github.com/bumptech/glide Android-Universal-Image-Loader https://github.com/no ...
- 操作数组不要只会for循环
很多时候,我们在操作数组的时候往往就是一个for循环干到底,对数组提供的其它方法视而不见.看完本文,希望你可以换种思路处理数组,然后可以写出更加漂亮.简洁.函数式的代码. reduce 数组里所有值的 ...
- RN组件可用属性整理