一.安装redis

安装依赖类库

yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl

下载redis

http://download.redis.io/releases/

安装redis

mkdir -p /usr/local/src/redis
cd /usr/local/src/redis
rz 上传
tar -xvf redis-3.0.2.tar.gz
cd redis-3.0.2
make
make test #这个就不要执行了,需要很长时间
make install
cp redis.conf /etc/
vi /etc/redis.conf
# 修改如下,默认为no
daemonize yes
#启动
redis-server /etc/redis.conf
#测试
redis-cli

二.主从复制的好处有2点:

1、避免redis单点故障
2.构建读写分离架构,满足读多写少的应用场景
3.主从架构

主从安装redis(这里以一台机器作为实验)

1.创建6379、6380、6381目录,分别将安装目录下的redis.conf拷贝到这三个目录下。

cd /root
mkdir redis && cd redis
mkdir 6379 6380 6381
cp /etc/redis.conf 6379/
cp /etc/redis.conf 6380/
cp /etc/redis.conf 6381/

2.修改6380 6381 redis.conf文件

port 6380
pidfile /var/run/redis-6380.pid port 6381
pidfile /var/run/redis-6381.pid

3.关掉“一”中redis服务

ps -ef|grep reids
kill -9 pid

4.分别启动/root/redis中6379,6380,6381配置

cd /root/reids
cd 6379 redis-server && ./redis.conf && cd ..
cd 6380 redis-server && ./redis.conf && cd ..
cd 6381 redis-server && ./redis.conf && cd ..
ps -ef|grep reids #查看是否启动

5.设置主从

在redis中设置主从有2种方式:
1、在redis.conf中设置slaveof`
slaveof <masterip> <masterport>
2、使用redis-cli客户端连接到redis服务,执行slaveof命令`
slaveof <masterip> <masterport>`
主从关系搭建成功会产生一个dump.rdb文件
例如:
redis-cli -p 6380 #连接到6380
slaveof 127.0.0.1 6379
redis-cli -p 6379 #链接到6379主reids
set cary 'cary'
reids-cli -p 6380
get cary #检验是否能够查到数据 第二种方式在重启后将失去主从复制关系

6.查看主从信息

执行 INFO replication  #在主库和从库中都可以执行

role:角色
connected_slaves:从库数量
slave0:从库信息

四.哨兵配置

接下来开始配置哨兵。建立一个配置文件sentinel.conf,内容为:

cd /root/6379/
vim sentinel.conf
添加:
sentinel monitor mymaster 127.0.0.1 6379 1
启动哨兵
redis-sentinel /root/redis/6379/sentinel.conf 命令号输出

13283:X 17 Jan 06:49:21.139 # +monitor master mymaster 127.0.0.1 6379 quorum 1

13283:X 17 Jan 06:49:21.155 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379

13283:X 17 Jan 06:49:21.159 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6379

其中”+slave”表示新发现了从库,可见哨兵成功地发现了两个从库

现在哨兵已经在监控这3个Redis实例了,这时将从库关闭(杀死进程或使用 shutdown 命令),等待指定时间后(可配置,默认为 30 秒),哨兵会输出如下内容

13283:X 17 Jan 06:50:41.440 # +sdown slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379

redis集群安装的更多相关文章

  1. CentOS下redis集群安装

    环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...

  2. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  3. redis 集群安装

    redis集群安装 1.下载redis源码 2.解压并进入解压后的文件夹redis内 3.make,生成一系列的文件(mkreleasehdr.sh, redis-benchmark, redis-c ...

  4. redis集群安装部署

    (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 192.168.1.160:7000 192. ...

  5. 【Redis篇】Redis集群安装与初始

    一.前述   本文将单台节点不同端口模拟集群方式. 二.具体搭建 前提是安装好redis具体可参考http://www.cnblogs.com/LHWorldBlog/p/8463269.html 1 ...

  6. windows下redis集群安装和部署

    1.下载windows版本的Redis 官网只提供linux版本的下载 官网下载地址:http://redis.io/download github下载地址:https://github.com/MS ...

  7. Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)

    一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...

  8. Windows下Redis集群安装与部署

    1.下载 Redis-x64-3.2.100.zip 安装程序 官网下载地址:http://redis.io/download GitHub下载地址:https://github.com/micros ...

  9. redis集群安装2

      概要:本文主要介绍如何在Centos7中单机搭建redis集群三主三从,按照本文绝对可以实现该需求,至于先搭建单机版主要为了方便理解redis集群,为下一步开发或生产上redis集群做铺垫.同时本 ...

  10. redis集群安装多端口多实例部署

    目标(本文达成的结果,配对关系可能会变): 先在131上进行操作 1.下载redis http://download.redis.io/releases/redis-5.0.2.tar.gz 2.解压 ...

随机推荐

  1. $.getJSON在IE8下失效

    $.getJSON("/Home/GetData?r=" + Math.random(), { ids: ids }, function(data) { //处理逻辑 }); 原因 ...

  2. sql 时间(datetime)计算

    SELECT *FROM sc_sowu_orderreturnWHERE STATUS = '0'AND submit_time < DATE_ADD(now(), INTERVAL - 4 ...

  3. js 小工具-- 按长度截取字符串

    function cutstr(str,len){ var temp; var icount = 0; var stren = ""; //这段正则表示匹配所有汉字以及全角字符 v ...

  4. 为什么C语言中的数组序号都是从0开始

    这个规则并不是在所有计算机语言上通行的,例如Matlab上就是从1开始. 这个规则是从内存寻址设计上继承来的,因为在如100个元素的数组对应的内存单元中,从内存地址位0开始到内存地址为99,总共记录9 ...

  5. python基础知识---操作文件

    一.打开文件  open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...

  6. Neural Network学习(二)Universal approximator :前向神经网络

    1. 概述 前面我们已经介绍了最早的神经网络:感知机.感知机一个非常致命的缺点是由于它的线性结构,其只能做线性预测(甚至无法解决回归问题),这也是其在当时广为诟病的一个点. 虽然感知机无法解决非线性问 ...

  7. (转)javascript异步编程的四种方法

    本文转自:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html 作者:阮一峰 本文仅仅作为个人mark ...

  8. UIViewController中addChildViewController的作用

    当在一个ViewController中添加一个子ViewController时,UI部分可以直接通过addSubView的方法添加,例如: 在一个ViewControllerA中添加ViewContr ...

  9. jQuery控件有所感悟

    两种写法对比: 第一种: ;(function($){ $.fn.myplugin = function(op,params){ if (typeof op == 'string'){ return ...

  10. 利用Aspose.Pdf将扫描的电子书修改为适合在kindle上查看

    很多扫描版的电子书,留有很大的页边距,大屏的设备看起来没有啥影响,可是在kindle上看起来就麻烦了,放大操作简直就没法用,最好能把留白去掉. 将pdf文件转换为图片这个看看 例子里的 JpegDev ...