需要三台虚拟机(生产环境是3个物理机),分配静态IP。cluster中共6个节点。3主3从。本文中每个虚拟机上的redis端口:6379 6380。

需要注意的两点:

3个主节点分别位于3台虚拟机上,已保证某个虚拟机挂掉,集群仍然可以正常工作。

同一对主从节点(存储的是相同的数据),也不能分配到一台虚拟机上,防止某台虚拟机挂掉,应用无法访问这对redis存储的数据。

redis源码tar包路径: /usr/local/redis-3.0.6.tar.gz

redis解压后源码安装包路径: /usr/local/redis-3.0.6

redis安装位置: /usr/local/redis

redis的启动配置文件放在路径: /etc/redis 文件夹下

redis集群配置配置文件(自动生成)放在路径 /etc/redis/clusterconf 文件夹下

redis数据放在路径: /data/redis 文件夹下

redis日志放在路径: /logs/redis 文件夹下

1、安装依赖

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/

cd /usr/local/tcl8.6.1/unix/

sudo ./configure

sudo make

sudo make install

2、安装Redis

解压展开源码包

# tar xf redis-3.0.6.tar.gz

进入解压后的源码目录

# cd redis-3.0.6

编译安装 redis

# make PREFIX=/usr/local/redis install

安装完成,进行安装是否成功的测试

# make test

如果显示“All tests passed without errors!”表示安装成功。 如果安装测试提示失败,请重新解压覆盖。 说明: 根据操作系统环境不同,依赖的软件也不同,编译安装 Redis 时如果有提示软件依赖问题,根据错误提示安装相应软件即可。

说明:3个虚拟机上相同操作

3、配置Redis

建立目录如下,存放redis启动配置文件(可以放多个,例如redis-6379.conf,redis-6380.conf)

# mkdir /etc/redis

建立目录如下,存放redis集群节点配置文件,启动时自动生成。

# mkdir /etc/redis/clusterconf

建立目录如下,存放持久化文件(例如dump-6379.rdb,dump-6380.rdb)

# mkdir /usr/local/redis/data

拷贝2 步中 redis 解压目录里的配置文件 redis.conf

# cp redis.conf /etc/redis/redis-6379.conf

编辑/etc/redis/redis-6379.conf,以下配置的具体内容均为示例,需要根据注释进行实际配置。

# vim /etc/redis/redis-6379.conf

daemonize yes // 以守护进程方式运行

redis pidfile /var/run/redis-6379.pid // pid 文件位置

port 6379 //redis 服务监听端口号

logfile "/logs/redis/6379.log" //redis 日志文件

dbfilename dump-6379.rdb

dir /data/redis

save 900 1 //900 秒内有一次更新,则写入磁盘操作

save 300 10 //300 秒内有 10 次操作,则刷一次磁盘

save 60 30 //60 秒 内有 30 次操作的,则刷一次磁盘

appendonly no

appendfilename "appendonly-6379.aof"

#以下是集群相关配置

cluster-enabled yes

cluster-config-file /etc/redis/clusterconf/nodes-<ip>-6379.conf

cluster-node-timeout 5000

创建redis-6380.conf配置文件

# cp /etc/redis/redis-6379.conf /etc/redis/redis-6380.conf

把redis-6380.conf配置文件中的所有6379修改成6380

说明:3个虚拟机上相同操作

4、集群依赖

3台虚拟机上任选一台安装ruby

yum install ruby rubygems -y

gem install redis

说明:目前yum安装的ruby版本是2.0.0,在执行gem install redis时,会报错:

ERROR: Error installing redis

redis requires Ruby version >= 2.2.2.

解决方法访问下面链接

https://www.cnblogs.com/PatrickLiu/p/8454579.html

5、制作sh脚本,启动6个redis

#!/bin/sh

cd /usr/local/redis/bin

./redis-server /etc/redis/redis-6379.conf

echo "redis 6379 is starting"

./redis-server /etc/redis/redis-6380.conf

echo "redis 6380 is starting"

6、制作sh脚本,在安装ruby的虚拟机上执行

#!/bin/sh

/usr/local/redis-3.0.6/src

./redis-trib.rb create --replicas 1 192.168.233.103:6379 192.168.233.104:6379 192.168.233.105:6379 192.168.233.103:6380 192.168.233.104:6380 192.168.233.105:6380(这行的顺序不要变,前三个是master,后三个是slave)

7、通过命令可以查询 cluster info cluster nodes

8、思考

两个master不能在一台机器上

一对主从(数据相同)不能在一台机器上
---------------------
作者:ljquansky
来源:CSDN
原文:https://blog.csdn.net/ljquansky/article/details/84260558
版权声明:本文为博主原创文章,转载请附上博文链接!

【转】redis-cluster安装配置的更多相关文章

  1. redis cluster 安装配置

    实验环境: 三主三从,从负责备份. 192.168.2.201 6381 192.168.2.201 6382 192.168.2.202 6381 192.168.2.202 6382 192.16 ...

  2. redis的安装配置

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

  3. 浅谈Redis及其安装配置

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

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

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

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

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

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

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

  7. mysql cluster 安装配置方案

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

  8. Linux下Redis的安装配置

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

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

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

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

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

随机推荐

  1. 日志收集(ElasticSearch)串联查询 MDC

    之前写过将应用程序或服务程序产生的日志直接写入搜索引擎的博客 其中基本过程就是  app->redis->logstash->elasticsearch 整个链路过程  本来想将re ...

  2. February 25th, 2018 Week 9th Sunday

    LIfe is about making an impact, not making an income. 生命在于影响他人,而非赚钱糊口. From Kevin Kruse. You probabl ...

  3. C语言 统计一篇英文短文中单词的个数

    //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> #define N 1000 void main(){ ] ...

  4. Android Studio教程03-Activtiy生命周期的理解

    目录 1. Activity 1.1. 安卓中的Activity定义和特性: 1.2. 注册Activity 1. Intent filters:设置默认开启的activity 1.3. Activi ...

  5. springboot统一异常处理类及注解参数为数组的写法

    统一异常处理类 package com.wdcloud.categoryserver.common.exception; import com.wdcloud.categoryserver.commo ...

  6. BZOJ1095:[ZJOI2007]Hide 捉迷藏(动态点分治)

    Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩 捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条 ...

  7. [CQOI2018]交错序列

    嘟嘟嘟 要是求交错序列的个数和就好了,那我一秒就能切. 换成这个,我就不会了. 我一直想枚举1的个数,然后算出在长度为\(n\)的序列里,有多少个合法的序列,然后又觉得这好像是什么插板法,但是每一个盒 ...

  8. day05 数据基本类型及内置方法:字符串str、列表list

    一:可变不可变类型 1.可变类型 值改变,id不变,说明是直接改变原值,是可变类型 2.不可变类型 值改变,id也跟着改变,说明是产生了新的值,是不可变类型 二:数字类型 1.整型Int 用途: 记录 ...

  9. ActiveMQ的两种消息模式,主题、队列

    1.开发的模式流程如下: 2.队列模式Queue 如果生产者产生了100条消息,那么两个消费同时在的话,会分工合作来接收这100条消息.就是每个消费者接收到50条来处理. 3.主题模式topic 如果 ...

  10. RMAN_RAC归档日志备份包恢复到单机

    恢复归档日志的方法: RAC是ASM的存储且是OMF创建的格式,所以RAC的日志名为如下+ARCH/mioa/archive/1_73554_875548170.dbf.+ARCH/mioa/arch ...