实验环境:

三主三从,从负责备份.

192.168.2.201 6381
192.168.2.201 6382
192.168.2.202 6381
192.168.2.202 6382
192.168.2.203 6381
192.168.2.203 6382

  三台机器,每台机器两个实例,总共6个实例。

1.创建文件夹

[root@localhost ~]# mkdir -p /usr/local/redis-cluster/6381
[root@localhost ~]# mkdir -p /usr/local/redis-cluster/6382

2.解压编译安装redis

[root@localhost softwares]# tar -zxvf redis-5.0.3.tar.gz
[root@localhost softwares]# cd redis-5.0.3/ [root@localhost softwares]# make MALLOC=libc PREFIX=/usr/local/redis-cluster/6381 install
[root@localhost softwares]# make MALLOC=libc PREFIX=/usr/local/redis-cluster/6382 install

3. 修改配置文件

bind 0.0.0.0                        // 测试环节,任何地址都可连接
port 6381 // 修改成对应的端口号
daemonize yes // 后台运行
pidfile /var/run/redis_6381.pid // pid文件
logfile "/usr/local/redis-cluster/6381/redis_6381.log" // 日志
dir "/usr/local/redis-cluster/6381"
appendonly yes // 开启 aop 备份
appendfsync always // 每写一条 备份 一次
cluster-enabled yes // 开启 Redis Cluster
cluster-config-file nodes-6381.conf // 记录集群信息,不用手动维护,Redis Cluster 会自动维护
cluster-node-timeout 15000 // Cluster 超时时间
cluster-require-full-coverage no // 只要有结点宕机导致16384个槽没全被覆盖,整个集群就全部停止服务,所以一定要改为no

4. 启动redis

[root@Node201 6381]# cd /usr/local/redis-cluster/6381
[root@Node201 6381]# bin/redis-server redis.conf 分别在每台机器上启动两个。
复制配置文件到其他机器:
[root@Node201 6381]# scp /usr/local/redis-cluster/6381/redis.conf 192.168.2.202:/usr/local/redis-cluster/6381/.
[root@Node201 6381]# scp /usr/local/redis-cluster/6381/redis.conf 192.168.2.203:/usr/local/redis-cluster/6381/. [root@Node201 6382]# scp /usr/local/redis-cluster/6382/redis.conf 192.168.2.202:/usr/local/redis-cluster/6382/.
[root@Node201 6382]# scp /usr/local/redis-cluster/6382/redis.conf 192.168.2.203:/usr/local/redis-cluster/6382/. 

5. 创建集群

[root@Node201 src]# /home/softwares/redis-5.0.3/src/redis-trib.rb create --replicas 1 192.168.2.201:6381 192.168.2.201:6382 192.168.2.202:6381 192.168.2.202:6382 192.168.2.203:6381 192.168.2.203:6382
报错:

因为新版本不用ruby了,改用c语言实现了。所以只能用redis-cli 了。所以不用再安装ruby了。

 

[root@Node201 src]# redis-cli --cluster create 192.168.2.201:6381 192.168.2.201:6382 192.168.2.202:6381 192.168.2.202:6382 192.168.2.203:6381 192.168.2.203:6382 --cluster-replicas 1
出现下面的截图说明创建成功了。

6.进入集群

[root@Node201 6381]# bin/redis-cli -c -h 192.168.2.201 -p 6381

7. 高可用验证

注:当某个master shutdown后,他的slot会自动分给其他活着的master,并且从slave中选举出新的master。

redis cluster 安装配置的更多相关文章

  1. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  2. 浅谈Redis及其安装配置

    一.Redis的介绍 二.Redis的安装配置 三.Redis的配置文件说明 四.Redis的简单操作 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型. ...

  3. redis cluster安装部署(测试环境)

    redis 应用于web前端,做缓存和数据存取的速度是挺可观的,最近看了一些资料,手痒了,就弄了一个测试环境,两台方案,试用一下. ##Redis 集群部署## 一,方案调研: 参考博客: http: ...

  4. Laravel 5.1中 Redis 的安装配置及基本使用教程

    关于Redis的介绍我们在之前Laravel 缓存配置一节中已有提及,Redis是一个开源的.基于内存的数据结构存储器,可以被用作数据库.缓存和消息代理.相较Memcached而言,支持更加丰富的数据 ...

  5. Redis的安装配置及简单集群部署

    最近针对中铁一局项目,跟事业部讨论之后需要我们的KF平台能够接入一些开源的数据库,于是这两天研究了一下Redis的原理. 1. Redis的数据存储原理及简述 1.1Redis简述 Redis是一个基 ...

  6. mysql cluster 安装配置方案

    mysql cluster (mysql 集群)安装配置方案   一.准备 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以 ...

  7. Linux下Redis的安装配置

    环境: centos7  PHP7 1.切到准备安装的目录 cd /usr/local 2.下载Redis wget http://download.redis.io/redis-stable.tar ...

  8. Linux系统下Redis缓存安装配置

    Redis是一个高性能的key-value数据库,现时越来越多企业与应用使用Redis作为缓存服务器.楼主是一枚JAVA后端程序员,也算是半个运维工程师了.在Linux服务器上搭建Redis,怎么可以 ...

  9. Centos7:Redis的安装,配置及使用

    安装依赖与环境 yum install gcc-c++ 解压缩redis 编译,进入redis源码目录 make 安装 make install PREFIX=/usr/local/redis 注:P ...

随机推荐

  1. springboot集成elk 四:springboot + Elasticsearch+Jest

    依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  2. GFS(Google File System,谷歌文件系统)----(1)文件系统简介

    分布式文件系统 系统是构建在普通的.廉价的机器上,因此故障是常态而不是意外 系统希望存储的是大量的大型文件(单个文件size很大) 系统支持两种类型读操作:大量的顺序读取以及小规模的随机读取(larg ...

  3. java输入输出 -- Java NIO之套接字通道

    一.简介 前面一篇文章讲了文件通道,本文继续来说说另一种类型的通道 – 套接字通道.在展开说明之前,咱们先来聊聊套接字的由来.套接字即 socket,最早由伯克利大学的研究人员开发,所以经常被称为Be ...

  4. FZU - 2295 Human life (最大权闭合子图)

    题目链接 FZU - 2295 Human life 题目分析 题意:你在玩一个游戏,在其中你可以通过学习一些技能,但是学习某些技能之前,可能还要学习一些其他的技能,并且学习任何技能都有一定的花费: ...

  5. 用Python获取计算机网卡信息

    目录 0. 前言 1. 测试环境及关键代码解释 1.1 测试环境 1.1.1 系统: 1.1.2 开发工具: 2. 模块介绍及演示 2.1 platform模块使用示例 2.2 netifaces模块 ...

  6. set object is not JSON serializable 解决方式

    python return json的时候报错: set object is not JSON serializable 解决方式,增加一个将set转为list的函数: def set_default ...

  7. idea jetty:run 启动

    1.首先pom    文件 <!-- jetty插件 --> <plugin> <groupId>org.mortbay.jetty</groupId> ...

  8. internal关键字

    internal修饰符可以用于类型或成员,使用该修饰符声明的类型或成员只能在同一程集内访问,接口的成员不能使用internal修饰符. 就是使用internal的类只能在同一个项目中使用,不能在别的项 ...

  9. Abp 添加权限项<一>

    1.下载代码,数据库迁移,npm install 2.添加权限项: public static class PermissionNames { public const string Pages_Te ...

  10. Servlet实现图片文件上传

    1.首先要导入以下两个jar包: commons-fileupload-1.2.1.jarcommons-io-1.4.jar 2.jsp文件:index.jsp <%@ page langua ...