redis集群中至少应该有三个节点,以保证当集群中的某个节点挂掉,其他节点进行容错投票时,投票数能超过半票. 要保证高可用,则还需要每一个节点有一个备份机. 因此redis集群至少需要6台服务器.这里使用搭建伪分布式的方式,可以使用一台虚拟机运行6个redis实例.此时需要修改6个redis实例为不同的端口号

redis cluster管理工具redis-trib.rb 
搭建redis集群环境需要redis cluster管理工具redis-trib.rb, 
redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis用ruby完成的

一、安装redis4.0.9软件包
tar fxv redis-4.0.9.tar.gz
yum -y install gcc tcl
cd redis-4.0.9
make MALLOC=libc && make test

二、安装集群管理工具ruby2.4.4
mkdir /usr/local/redis_cluster ##创建集群文件存放目录便于管理
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz ###ruby官方网站
tar fxv ruby-2.4.4.tar.gz
cd ruby-2.4.4
./configure --prefix=/usr/local/redis_cluster/ruby ###编译并指定安装目录所在位置
make && make install ###时间有点长! 注意看它停不停止就行!
cd /usr/local/redis_cluster/ruby
cp bin/ruby /usr/local/bin ###方便直接使用ruby和gem命令,若不复制,则使用ruby命令需要到此目录下才能用
cp bin/gem /usr/local/bin

三、升级zlib
tar -xvzf zlib-1.2.11.tar.gz
cd zlib-1.2.8.tar.gz
./configure --prefix=/usr/local/redis_cluster/zlib ## 设置安装路径
make && make install
###执行安装后,需要重新刷新下,ruby的zlib库
cd /opt/ruby-2.4.4/ext/zlib
ruby extconf.rb --with-zlib-include=/usr/local/redis_cluster/zlib/include/ --with-zlib-lib=/usr/local/redis_cluster/zlib/lib/ ##执行后会生成新的Makefile文件
vim Makefile
:%s+$(top_srcdir)/include/ruby.h+../../include/ruby.h+ ##执行替换路径$(top_srcdir)/include/ruby.h替换成../../include/ruby.h
make && make install

四、升级openssl
tar fxv openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
./config -fPIC --prefix=/usr/local/redis_cluster/openssl -enable-shared
./config -t
make && make install
执行安装后,需要重新刷新下,ruby的openssl库
cd /opt/ruby-2.4.4/ext/openssl
ruby extconf.rb --with-openssl-include=/usr/local/redis_cluster/openssl/include/ --with-openssl-lib=/usr/local/redis_cluster/openssl/lib/ ##执行后会生成新的Makefile文件
vim Makefile
:%s+$(top_srcdir)/include/ruby.h+../../include/ruby.h+ ##执行替换路径$(top_srcdir)/include/ruby.h替换成../../include/ruby.h
make && make install

gem install /opt/redis-4.0.1.gem

五、创建伪集群
cd /usr/local/redis_cluster/
mkdir cluster
mkdir 16001 16002 16003 16004 16005 16006
cp redis-4.0.9/redis.conf cluster/16001
cp redis-4.0.9/redis.conf cluster/16002
cp redis-4.0.9/redis.conf cluster/16003
cp redis-4.0.9/redis.conf cluster/16004
cp redis-4.0.9/redis.conf cluster/16005
cp redis-4.0.9/redis.conf cluster/16006
vi redis.conf
##修改每个配置文件中的下面选项
port 16001 #每个配置文件的port端口号不能相同这里分别为16001.。。。16006
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

六、分别启动每个实例
cp /usr/local/redis_cluster/redis-4.0.9/src/redis-server /usr/local/bin/
cd /usr/local/redis_cluster/cluster
redis-server 16001/redis.conf
redis-server 16002/redis.conf
redis-server 16003/redis.conf
redis-server 16004/redis.conf
redis-server 16005/redis.conf
redis-server 16006/redis.conf

七、创建集群
redis-trib.rb create --replicas 1 127.0.0.1:16006 127.0.0.1:16005 127.0.0.1:16004 127.0.0.1:16003 127.0.0.1:16002 127.0.0.1:16001

报错:

解决:
1. error: jemalloc/jemalloc.h: No such file or directory解决方法
make MALLOC=libc

报错:

解决:
yum - y install tcl ##(时间同步)

报错:

解决:
升级zlib

报错:

解决:
升级openssl

redis集群搭建_超详细的更多相关文章

  1. Redis集群搭建,伪分布式集群,即一台服务器6个redis节点

    Redis集群搭建,伪分布式集群,即一台服务器6个redis节点 一.Redis Cluster(Redis集群)简介 集群搭建需要的环境 二.搭建集群 2.1Redis的安装 2.2搭建6台redi ...

  2. Redis 集群搭建详细指南

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

  3. [转载] Redis集群搭建最佳实践

    转载自http://blog.csdn.net/sweetvvck/article/details/38315149?utm_source=tuicool 要搭建Redis集群,首先得考虑下面的几个问 ...

  4. Redis集群搭建最佳实践

    要搭建Redis集群.首先得考虑以下的几个问题; Redis集群搭建的目的是什么?或者说为什么要搭建Redis集群? Redis集群搭建的目的事实上也就是集群搭建的目的.全部的集群主要都是为了解决一个 ...

  5. redis集群搭建(简单简单)一台机器多redis

      redis集群搭建 在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程 下载redis压缩包,然后解压压缩文件: 进入到解压缩后的redis文件目录(此时可以看到Makef ...

  6. 新手redis集群搭建

    redis集群搭建在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程 下载redis压缩包,然后解压压缩文件:进入到解压缩后的redis文件目录(此时可以看到Makefile文 ...

  7. Redis学习之路(二)Redis集群搭建

    一.Redis集群搭建说明 基于三台虚拟机部署9个节点,一台虚拟机三个节点,创建出4个master.4个slave的Redis集群. Redis 集群搭建规划,由于集群至少需要6个节点(3主3从模式) ...

  8. 25.redis集群搭建笔记

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

  9. 二、redis集群搭建

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

随机推荐

  1. Oracle自动性能统计

    Oracle自动性能统计   高效诊断性能问题,需要提供完整可用的统计信息,好比医生给病人看病的望闻问切,才能够正确的确诊,然后再开出相应的药方.Oracle数据库为系统.会话以及单独的sql语句生成 ...

  2. Python学习之表的数据类型

    数据类型 数值类型 类型 大小 范围(有符号) 范围(无符号)unsigned约束 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 ...

  3. Ubuntu环境配置机器安装驱动

    ubuntu_environment_config.md thead > tr > th { text-align: left; border-bottom: 1px solid; } t ...

  4. 模板中用url_for的好处

    from flask import Flask,render_template app = Flask(__name__) @app.route('/') def index(): return re ...

  5. LayaAir疑难杂症之四:laya引擎自动断点到bundle.js文件中且无报错,但程序不再执行

    在一次断点调试中,突然程序不再按照博主指定的断点执行,莫名其妙端点到了bundle.js文件中的某一行中,这是不应该的,第一次时间反应就是引擎出了问题,但是总不能让博主卸载重装吧. 经过查找资料,询问 ...

  6. 浅谈React工作原理

    浅谈React工作原理:https://www.cnblogs.com/yikuu/p/9660932.html 转自:https://cloud.tencent.com/info/63f656e0b ...

  7. RPC架构下org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    一.调用后台接口报错 网上有很多作者列出大部分原因: 1.实体类名对应配置文件名或者路径不一致 2.spring扫描路径不全 但是本人使用的是mtbatis逆向工程生成的实体类.接口与配置文件,所以不 ...

  8. 360度3D 旋转插件

    Circlr插件是一款基于jQuery的可以对图片进行360度全方位旋转展示的插件.Circlr通过按一定角度规律拍摄的产品图片,制作出可以使用鼠标拖动.鼠标滚轮和移动触摸来进行图片逐帧旋转的效果.比 ...

  9. python 列表操作-切片

  10. ImportError: Could not import PIL.Image.

    pip install pillow