Redis安装、主从配置及两种高可用集群搭建

一、            准备

Kali Linux虚拟机

三台:192.168.154.129、192.168.154.130、192.168.154.131

用户名/密码:root/。。。

ssh设置

修改sshd_config文件,命令为:vim /etc/ssh/sshd_config

将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes

将PermitRootLogin without-password修改为PermitRootLogin yes

启动SSH服务:/etc/init.d/ssh start或者service ssh start

设置系统自动启动SSH服务:sysv-rc-conf ssh on或者update-rc.d ssh enable

Redis安装(三节点同时操作)

  1. 切换目录:cd /opt/
  2. 下载:wget http://download.redis.io/releases/redis-5.0.6.tar.gz
  3. 解压:tar -zxvf redis-5.0.6.tar.gz
  4. 切换目录:cd redis-5.0.6
  5. 编译:make
  6. 新建文件夹:madir config
  7. 复制配置文件:     cp redis.conf ./config/redis.conf

cp sentinel.conf ./config/ sentinel.conf

  1. 设置全局启动:cp redis-benchmark redis-cli redis-server redis-sentinel /usr/bin/
  2. 设置别名:              alias rs=redis-server

alias rc=redis-cli

二、            Redis一主二从(三节点同时操作)

切换目录:cd config

修改redis.conf

  1. 将88行protected-mode yes改为protected-mode no
  2. 将136行daemonize no改为daemonize yes
  3. 在最后加一行(主节点不加):replicaof 192.168.154.129 6379
  4. 将69行注释ip端口绑定:# bind 127.0.0.1 ::1

启动:rs redis.conf &

进入客户端:rc

测试:     set k 1                (只有主节点成功)

get k                            (‘1’)

三、            哨兵模式(redis +sentinel,三节点一起)

修改sentinel.conf:

  1. 将26行daemonize no改为daemonize yes
  2. 配置121行主节点信息:sentinel monitor mymaster 192.168.154.129 6379 2
  3. 在最后加一行:protected-mode no

启动:root@kali:/opt/redis-5.0.6/config# redis-sentinel sentinel.conf

查看sentinel信息(主节点挂了会自动产生主节点,启动后变从节点):

  1. redis-sentinel sentinel.conf或者rc -p 26379 --sentinel
  2. info sentinel

查看节点信息:

  1. rc
  2. info replication

四、            redis-cluster集群(三主三从)

redis3.0集群采用P2P模式,完全去中心化,采用虚拟槽分区算法将redis所有的key分成了16384个槽位,每个redis实例负责一部分slot,集群中的所有信息通过节点数据交换而更新

集群搭建,需要6个实例(三主节点,三从节点)才能保证高可用的集群

继续修改redis.conf,取消832行cluster-enabled yes前的注释

启动(三个节点一起):

  1. rs redis.conf &
  2. rs redis.conf --port 6380 &

创建集群:rc --cluster create 192.168.154.129:6379 192.168.154.130:6379 192.168.154.131:6379 192.168.154.130:6380 192.168.154.131:6380 192.168.154.129:6380 --cluster-replicas 1

查看集群信息:cluster info

Redis安装、主从配置及两种高可用集群搭建的更多相关文章

  1. RabbitMQ高级指南:从配置、使用到高可用集群搭建

    本文大纲: 1. RabbitMQ简介 2. RabbitMQ安装与配置 3. C# 如何使用RabbitMQ 4. 几种Exchange模式 5. RPC 远程过程调用 6. RabbitMQ高可用 ...

  2. MongoDB高可用集群搭建(主从、分片、路由、安全验证)

    目录 一.环境准备 1.部署图 2.模块介绍 3.服务器准备 二.环境变量 1.准备三台集群 2.安装解压 3.配置环境变量 三.集群搭建 1.新建配置目录 2.修改配置文件 3.分发其他节点 4.批 ...

  3. Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...

  4. MHA 高可用集群搭建(二)

    MHA 高可用集群搭建安装scp远程控制http://www.cnblogs.com/kevingrace/p/5662839.html yum install openssh-clients mys ...

  5. spark高可用集群搭建及运行测试

    文中的所有操作都是在之前的文章spark集群的搭建基础上建立的,重复操作已经简写: 之前的配置中使用了master01.slave01.slave02.slave03: 本篇文章还要添加master0 ...

  6. MongoDB 3.4 高可用集群搭建(二)replica set 副本集

    转自:http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<MongoDB 3.4 高可用集群搭建(一):主从模式&g ...

  7. HDFS-HA高可用集群搭建

    HA高可用集群搭建 1.总体集群规划 在hadoop102.hadoop103和hadoop104三个节点上部署Zookeeper. hadoop102 hadoop103 hadoop104 Nam ...

  8. CentOS7/RHEL7 pacemaker+corosync高可用集群搭建

     TOC \o "1-3" \h \z \u 一.集群信息... PAGEREF _Toc502099174 \h 4 08D0C9EA79F9BACE118C8200AA004B ...

  9. SpringCloud(四):服务注册中心Eureka Eureka高可用集群搭建 Eureka自我保护机制

    第四章:服务注册中心 Eureka 4-1. Eureka 注册中心高可用集群概述在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性 问题,不能有单点故障,由于注册中心 eurek ...

随机推荐

  1. Base64编码解码(js)

    开源的base64.js,使用很简单,浏览器引入该JS文件,然后Base64编码这样: Base64.encode('china is so nb'); // 编码 "Y2hpbmEgaXM ...

  2. Go安装配置和《菜鸟教程之Go语言教程》学习笔记

    Go 语言是一种让代码分享更容易的编程语言 菜鸟教程-Go语言教程(这个教程过于基础,体现不了Go的特性和强大.) 下载/安装Go语言 https://golang.org/dl/ Mac OS X ...

  3. java agent 详细介绍 -javaagent参数

    java agent 详细介绍 简介 java agent是java命令的一个参数.参数 javaagent 可以用于指定一个 jar 包,并且对该 java 包有2个要求: 这个 jar 包的MAN ...

  4. javascript常用方法 - Array

    //1.Aarry方法 // 1.1 Array.from(arrayLike[, mapFn[, thisArg]]) // @arrayLike 想要转换成数组的伪数组对象或可迭代对象. // @ ...

  5. Python之多态案例

    class Canvas: def draw_pic(self, shape): print('--start draw--') shape.draw(self) class Rectangle: d ...

  6. Elasticsearch探索之路的障碍

    1.   unable to install syscall filter 解决方法: 这个警告主要输因为使用的linux版本过低造成的    暂时不用理会

  7. Java 动态代理与AOP

    动态代理与AOP 代理模式 代理模式给某一个目标对象(target)提供代理对象(proxy),并由代理对象控制对target对象的引用. 模式图: 代理模式中的角色有: 抽象对象角色(Abstrac ...

  8. (十二)springboot中shiro的使用

    一.引入maven配置 <dependency>     <groupId>org.apache.shiro</groupId>     <artifactI ...

  9. XLNet and Robertra

    XLNET         But the AE language model also has its disadvantages. It uses the [MASK] in the pretra ...

  10. 超详尽-QThread的正确使用姿势-以及信号槽的跨线程使用

    贴上两篇博文 一.http://www.cnblogs.com/findumars/p/5031239.html 循序渐进介绍了,怎样正确的让槽函数工作在子线程中. 同时介绍了信号槽的绑定与线程的关系 ...