三台服务器:先设置hosts
10.0.0.231 node1
10.0.0.232 node2
10.0.0.233 node3
端口分配:
node1:
node1:
node2:
node2:
node3:
node3:

1:下载redis-4.0.1并解压

解压目录:/usr/local/redis-4.0.
建立软连接:ln -s redis-4.0. redis

2:编译安装

指定安装目录到:/usr/local/redis

make && make install PREFIX=/usr/local/redis

3:创建配制节点

node1服务器:
mkdir -p /usr/loca/redis/redis_cluster/
mkdir -p /usr/loca/redis/redis_cluster/ cp /usr/local/redis/redis.conf /usr/loca/redis/redis_cluster/
cp /usr/local/redis/redis.conf /usr/loca/redis/redis_cluster/ node2服务器:
mkdir -p /usr/loca/redis/redis_cluster/
mkdir -p /usr/loca/redis/redis_cluster/ cp /usr/local/redis/redis.conf /usr/loca/redis/redis_cluster/
cp /usr/local/redis/redis.conf /usr/loca/redis/redis_cluster/ node3服务器:
mkdir -p /usr/loca/redis/redis_cluster/
mkdir -p /usr/loca/redis/redis_cluster/ cp /usr/local/redis/redis.conf /usr/loca/redis/redis_cluster/
cp /usr/local/redis/redis.conf /usr/loca/redis/redis_cluster/

4:修改redis.conf

切记:不能设置密码,否则集群启动时会连接不上

port                                  //端口根据对应的文件夹去配制端口 7000,7001,7002,7003,7004,7005
bind 本机ip //根据本机所在的IP或hostname去配制 node1 node2 node3
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002,7003,7004,7005
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002,7003,7004,7005
cluster-node-timeout //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志

5:复制src目录中的redis-trib.rb 到/usr/local/redis/bin目录

cp  /usr/local/redis/redis-trib.rb /usr/local/redis/bin

6:安装ruby环境

yum install -y ruby
yum install -y rubygems

7:安装ruby的包

gem install redis-4.0..rc1.gem

如果不成功需要去下载后安装
下载地址
https://rubygems.org/gems/redis/versions/4.0.0.rc1
https://rubygems.org/downloads/redis-4.0.0.rc1.gem 安装命令:gem install -l ./redis-4.0..rc1.gem

8:启动各个节点

node1服务器:
/usr/local/redis/bin/redis-server /usr/loca/redis/redis_cluster//redis.conf
/usr/local/redis/bin/redis-server /usr/loca/redis/redis_cluster//redis.conf node2服务器:
/usr/local/redis/bin/redis-server /usr/loca/redis/redis_cluster//redis.conf
/usr/local/redis/bin/redis-server /usr/loca/redis/redis_cluster//redis.conf node3服务器:
/usr/local/redis/bin/redis-server /usr/loca/redis/redis_cluster//redis.conf
/usr/local/redis/bin/redis-server /usr/loca/redis/redis_cluster//redis.conf

9:检查各节点是否启动

查看进程
ps -ef | grep redis 查看端口
netstat -tnlp | grep redis

10:创建集群

进入node1的bin目录下,执行以下脚本
./redis-trib.rb create --replicas node1: node1: node2: node2: node3: node3:

11:验证集群

进入每台服务器的redis/src目录,记住参数  -c不可以少

redis-cli -h node1 -p  -c

redis-cli -h node2 -p  -c

redis-cli -h node3 -p  -c

redis4集群的更多相关文章

  1. redismyadmin安装(支持redis4 集群模式)

    yum install php-pecl-redis https://github.com/daivem/RedisMyAdmin下载最新的安装包,解压yum install nginx php ph ...

  2. CentOS7.6搭建redis4.0.1 cluster集群

    1. 操作系统信息: $ uname -a Linux iZbp11d57wmumnwuihb2czZ -.el7.x86_64 # SMP Fri Feb :: UTC x86_64 x86_64 ...

  3. redis4.0.13主从、哨兵、集群3种模式的 Server端搭建、启动、验证

    本文使用的是redis-4.0.13.tar.gz版本. 两个centos7系统虚拟机:192.168.10.140.192.168.10.150 redis各版本下载地址:http://downlo ...

  4. centos7/rhel7下安装redis4.0集群

    相关介绍:Redis从3.0版本开始支持集群! 集群一般由多个节点组成,节点数量至少6个才能保证组成完整高可用的集群. 每个节点需要开启配置文件中的cluster-enabled yes,让Redis ...

  5. redis4.0.6集群搭建

    文件环境:CentOS7 + redis4.0.6 先去官网下载redis:https://redis.io/,然后上传到你的虚拟机,我上传到了/mysoft 先解压->然后进入主目录-> ...

  6. linux下redis4.0.2集群部署(利用Ruby脚本命令)

    一.原生命令方式和Ruby脚本方式区别 利用Ruby脚本部署和用原生命令部署,节点准备的步骤都是一样的,节点启动后的握手,以及主从.槽分配,利用Ruby脚本一步就能完成,利用原生命令需要一步一步地执行 ...

  7. Redis-4.0.11集群配置

    版本:redis-3.0.5 redis-3.2.0  redis-3.2.9  redis-4.0.11 参考:http://redis.io/topics/cluster-tutorial. 集群 ...

  8. 使用redis4.0.1和redis-cluster搭建集群并编写重启shell脚本

    1.删除机器上原有的redis2.8 关闭redis-server killall -9 redis-server 查找redis文件所在目录 which redis 删除相关文件 rm -rf re ...

  9. Redis(二)CentOS7安装Redis4.0.10与集群搭建

    一 Redis单机安装 1 Redis下载安装 1.1 检查依赖环境(Redis是C语言开发,编译依赖gcc环境) [root@node21 redis-]$ gcc -v -bash: gcc: c ...

随机推荐

  1. .NET 一般处理程序使用Session

    .ashx中引用 session必须 using System.Web.SessionState ,继承IReadOnlySessionState/IRequiresSessionState IRea ...

  2. spring aop实现权限管理

    问题源于项目开发 最近项目中需要做一个权限管理模块,按照之前同事的做法是在controller层的每个接口调用之前上做逻辑判断,这样做也没有不妥,但是代码重复率太高,而且是体力劳动,so,便有了如题所 ...

  3. 如何选择SSL 证书服务

    从信任等级的角度来说,SSL证书主要分为三类: 1. 域名型https证书(DVSSL):信任等级一般,只需验证网站的真实性便可颁发证书保护网站: 2. 企业型https证书(OVSSL):信任等级高 ...

  4. position用法

    fixed的用法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  5. ECS简介

    https://www.cnblogs.com/yangrouchuan/p/7436533.html Unity下的ECS框架 Entitas简介   最近随着守望先锋制作组在gdc上发布的一个关于 ...

  6. Berkeley DB 使用经验总结

    作者:陈磊 NoSQL是现在互联网Web2.0时代备受关注的技术之一,被用来存储大量的非关系型的数据.Berkeley DB作为一款优秀的Key/Value存储引擎自然也在讨论之列.最近使用BDB来发 ...

  7. throw new Error('Cyclic dependency' + nodeRep)

    近日重装node_modules 依赖之后,项目启动报错 throw new Error('Cyclic dependency' + nodeRep) 查找资料后得知 产生这个 bug 的原因是循环引 ...

  8. P3167 [CQOI2014]通配符匹配 题解

    题目 题目大意 给出一个字符串,其中包含两种通配符 ‘?’和 ‘*’ ,‘?’可以代替一个字符,‘*’可以代替一个字符串(长度可以为0) 然后给出几个字符转,判断能否用给出的字符串表示出来 样例解释 ...

  9. PHP删除目录下包含某个字符串的全部文件

    //获取全部的路径 function tree(&$arr_file, $directory, $dir_name='') { $mydir = dir($directory);    whi ...

  10. 使用Entity Framwork 保存数据时,提示不能在对象中插入重复键,违反了PRIMARY_KEY约束

    这种情况,大多发生在有外键存在的情况下,解决方法是: 把dataContext.Set<T>().Add(model)修改成dataContext.Models.Add(model);