1、概述:

  redis是一种工作在内存里no-sql的非关系型数据库,广泛应用于缓存需求,以减少大量的数据访问对数据库的压力,还很适合用来充当整个互联网架构中各级之间的cache 比如lvs的4层转发层 nginx的7层代理层

  虽然是工作在内存中,但官方也提供了数据可持续化方案,目前有三种:aof\rdb\point

  aof 就像是mysql数据库的binlog日志,将每一次写操作以追加的形式记录在其中以文件的形式刷到磁盘里

  rdb 则是一种快照机制,redis工作在内存中 rdb就是每隔一段时间,对内存中的数据做一次快照,保存在rdb文件中

  point 在redis4.0的新特性中 采用了aof-rdb的混合方案来保障数据的持久性 但是官方的说法是还不成熟

2、安装

 下载redis,我这里使用的是redis-3.0.7.tar.gz,将它放在/usr/local/src下

  1. [root@CentOS7 redis-3.0.]# make PREFIX=/usr/local/redis install

 解压redis-3.0.7.tar.gz进入解压目录运行redis-server,但这种运行方式是以前台的方式运行,运行后就不可以再输入其它的命令,将/usr/local/src/redis-3.0.7/redis.conf里的daemonize yes改为daemonize no

 然后再以这种方式进行运行

  1. [root@CentOS7 bin]# ./redis-server ../../src/redis-3.0.7/redis.conf 

  安装rubdy

  1. [root@CentOS7 src]# yum install ruby rubygems -y

  安装ruby和redis的接口程序

  1. [root@CentOS7 src]# gem install redis

遇到报错信息

  1. Fetching: redis-4.0..gem (%)
  2. ERROR: Error installing redis:
  3. redis requires Ruby version >= 2.2..

那么利用rvm来安装高版本的ruby

  1. [root@CentOS7 src]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
  2. [root@CentOS7 src]# curl -sSL https://get.rvm.io | bash -s stable
  3. [root@CentOS7 src]# source /usr/local/rvm/scripts/rvm
  4. [root@CentOS7 src]# rvm install 2.4.

使用新版本ruby生效并安装ruby和redis的接口

  1. [root@CentOS7 src]# rvm use 2.4.
  2. Using /usr/local/rvm/gems/ruby-2.4.
  3. [root@CentOS7 src]# rvm use 2.4. --default
  4. Using /usr/local/rvm/gems/ruby-2.4.
  5. [root@CentOS7 src]# ruby -v
  6. ruby 2.4.4p296 (-- revision ) [x86_64-linux]
  7. [root@CentOS7 src]# gem install redis
  8. Fetching: redis-4.0..gem (%)
  9. Successfully installed redis-4.0.
  10. Parsing documentation for redis-4.0.
  11. Installing ri documentation for redis-4.0.
  12. Done installing documentation for redis after seconds
  13. gem installed

在/usr/local下创建redis-cluster文件夹,并在其文件夹下创建7001~7006的目录

并将源码里的redis-trib.rb拷贝到此目录下

  1. [root@CentOS7 redis-cluster]# cp /usr/local/src/redis-3.0./src/redis-trib.rb /usr/local/redis-cluster/redis-trib.rb

将之前安装redis的bin目录下的文件和配置文件分别拷贝到7001~7006,并修改配置

  1. port
  2. cluster-enabled yes

分别修改完成之后 ,分别至7001~7006的文件内,分另启动redis-cluster

  1. [root@CentOS7 redis-cluster]# cd
  2. [root@CentOS7 ]# ./redis-server redis.conf

这样就可以执行集群的创建命令了,至/usr/local/redis-cluster下

  1. [root@CentOS7 redis-cluster]# ./redis-trib.rb create --replicas 192.168.133.159: 192.168.133.159: 192.168.133.159: 192.168.133.159: 192.168.133.159: 192.168.133.159:

其中的“1”代表的一主有一个从的节点,而集群最少要有三个节点,这样一主一从,即6台服务器了

有其它博主遇到过以下的错误信息

  1. [ERR] Node XXXXXX is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database

解决方案为(本人没有遇到类似的错误,但感觉遇到的人不少,记录在这里一下)

  1. 解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aofdump.rdb 

[redis]redis-cluster搭建的更多相关文章

  1. Redis Cluster搭建方法简介22211111

    Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼       Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...

  2. Redis进阶实践之十一 Redis的Cluster集群搭建

    一.引言      本文档只对Redis的Cluster集群做简单的介绍,并没有对分布式系统的详细概念做深入的探讨.本文只是提供了有关如何设置集群.测试和操作集群的说明,而不涉及Redis集群规范中涵 ...

  3. Redis Cluster搭建高可用Redis服务器集群

    一.Redis Cluster集群简介 Redis Cluster是Redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了Redis分布式的需求,当一个节点挂了可以快速的切换到另一个节 ...

  4. Redis搭建(七):Redis的Cluster集群动态增删节点

    一.引言 上一篇文章我们一步一步的教大家搭建了Redis的Cluster集群环境,形成了3个主节点和3个从节点的Cluster的环境.当然,大家可以使用 Cluster info 命令查看Cluste ...

  5. redis之(十六)redis的cluster集群环境的搭建,转载

    最近redis已经比较火了,有关redis的详细介绍,网上有一大堆,我这里只作简单的介绍,然后跟大家一起学习Redis Cluster 3.0的搭建与使用.Redis是一款开源的.网络化的.基于内存的 ...

  6. redis之(十七)自己实现redis的cluster集群环境的搭建

    [一]创建不同节点的配置文件和目录.并将配置文件中的port,cluster-enable,daemonize项做修改. --->port:修改成redis实例对应的端口号 --->clu ...

  7. 25.redis集群搭建笔记

    ###Redis集群### 0.准备 软件: redis-3.0.0.gem redis-3.0.0.tar.gz#源码   1.安装ruby环境 redis基于ruby槽位计算,hash算法技术,k ...

  8. Windows redis集群搭建

    一.Windows下Redis安装 下载地址https://github.com/dmajkic/redis/downloads,下载到的Redis支持32bit和64bit.根据自己实际情况选择,本 ...

  9. Redis 集群搭建详细指南

    先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...

  10. 二、redis集群搭建

    redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...

随机推荐

  1. 7 函数——《Swift3.0从入门到出家

    6 函数 函数就是对某个功能的封装,一个swift程序可能由多个函数组成 swift中定义函数的格式: func 函数名称(参数列表) —>函数返回值类型{ 函数体 return } 函数定义要 ...

  2. BroadcastReceiver用法

    动态注册广播接收器 1.创建一个Receiver继承BroadcastReceiver,并重写onReceiver() 2.在Activity的OnCreate()中添加广播接收器想要接收的actio ...

  3. 【转】Apache Jmeter发送post请求

    下面用Jmeter发送一个post请求, 对应的js代码如下: $("#register_a").click(function() { var name = $("#un ...

  4. datatables ajax异步分页

    $('#sample_1').dataTable({ "sAjaxSource": "../table/data", // "bProcessing& ...

  5. oracle 11g r2 rac到单实例的dg

    oracle 11g r2 rac到单实例的dg 1 主备环境说明 rac环境--primary CentOS release 6.5 (Final)hostname rac1 rac2ip 10.* ...

  6. maven学习2

    pom.xml文件中的内 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns= ...

  7. shell命令getopts

    #!/bin/bash set -e cmd="ls" while getopts :a:t:sn opt; do case $opt in a) cmd=$cmd" - ...

  8. python's twenty day for me 继承 和 super()方法

    super(): 在单继承中就是单纯的寻找父类. 在多继承中就是根据子节点所在图 的mro顺序,找寻下一个类. 遇到多继承和super(): 对象.方法 1,找到这个对象对应的类. 2,将这个类的所有 ...

  9. 使用springboot写一个简单的测试用例

    使用springboot写一个简单的测试用例 目录结构 pom <?xml version="1.0" encoding="UTF-8"?> < ...

  10. Flask之数据库迁徙

    4.3 数据库迁移 在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库.最直接的方式就是删除旧表,但这样会丢失数据. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把 ...