搭建集群需要用到安装后的redis单机版的bin目录,所以我们先搭建redis单机版

Redis机版搭建:

  • 因为需要安装redis源码包,所以我们需要gcc环境支持 :
  • 使用FTP工具将压缩包上传至/usr/local,并解压 : tar -zxvf redis-3.2.9.tar.gz
  • 进入解压后的文件夹内:cd /usr/local/redis-3.2.9,编译并指定安装目录:

        make PREFIX=/usr/local/redis install,这里我指定的目录为: /usr/local/redis

  •   安装完毕之后,我们进入到redis文件夹内,发现已经生成了一个bin目录,我们打开它
  • 启动redis服务有两种方式:
  • 前端模式启动 : ./redis-server , 这样的话开启服务之后除非关闭服务,否则你将不能进行其它操作
  • 后端模式启动(推荐) : 从redis解压包中拷贝redis.conf文件到bin目录 :

       cp /usr/local/redis-3.2.9/redis.conf  /usr/local/redis

编辑redis.conf : vim redis.conf

输入/deamonize查找,找到后按i进入编辑模式,更改daemonize为yes,

修改完毕后:wq保存

现在就可以以后台模式启动了: ./redis-server redis.conf

Redis集群版搭建

  • Redis集群管理工具redis-trib.rb依赖ruby环境,首先我们需要安装ruby环境 :

  yum install ruby

  yum install rubygems

     安装ruby和redis的接口程序:

     gem install redis

  •  在/usr/local下创建redis-cluster文件夹,并在内创建6个子文件夹

  mkdir redis-cluster

      cd redis-cluster

      mkdir 700{1..6}

     

  • 将单机版redis安装后的bin目录拷贝6份,各放一份放入上列6个文件夹内

  cp -r bin ../redis-cluster/7001

  ……………………………………...2

  • 修改各个文件夹下的redis.conf文件,打开开启集群注释

   

修改端口号,和文件夹名一一对应

  • 拷贝集群管理工具到redis-cluster文件夹下

  cp /usr/local/redis-3.2.9/src/redis-trib.rb /usr/local/redis-cluster

  • 启动这6台redis服务

     

  • 创建集群,在redis-cluster目录下运行:

     ./redis-trib.rb create –replicas 1 172.18.103.142:7001 172.18.103.142:7002 172.18.103.142:7003 172.18.103.142:7004 172.18.103.142:7005 172.18.103.142:7006

             说明 :

     ./redis-trib.rb创建集群插件

      Create 创建集群命令

     --replicas 1 每一个主服务器必须至少有一个备服务器

  • 如果出现下列提示,说明集群已经创建成功

Redis集群版常用操作

  • 登录集群

     ./redis-cli –c –h host –p port

 

  • 查看集群状态

    cluster info

  • 查看集群节点信息

   cluster nodes

 

  • 动态添加新的集群节点(7007服务必须是处在启动状态)

    ./redis-trib.rb add-node 172.18.103.142:7007 172.18.103.142:7001

   add-node : 添加节点命令,默认添加主节点

   172.18.103.142:7007 需要添加的节点

   172.18.103.142:7001 添加7001所在的节点上面去

   添加成功如下图:

  • 新增加节点为主节点,但并未分配hash槽

    1)重新分配slots

2)想要移动多少个槽位?

3)输入需要分配的节点的ID

4)输入all,表示从所有主节点中随机转移

  • 为主节点添加新的从节点(新的节点服务必须处于启动状态)

./redis-trib.rb add-node --slave --master-id fff5cd34dd6206e51fb59ee2bab43399508af913 172.18.103.142:7008 172.18.103.142:7001

   1)    add-node:添加节点

   2)    –slave :添加从节点

   3)    --master-id fff5cd34dd6206e51fb59ee2bab43399508af913:给这个ID对应的主节点添加从节点

   4)    172.18.103.142:7008:需要添加的从节点

   5)    172.18.103.142:7001:添加到7001对应的集群

 

   下图表示添加成功

 

Jedis客户端连接redis集群

   //配置连接池

JedisPoolConfig poolConfig = new JedisPoolConfig();

//设置最大连接数

poolConfig.setMaxTotal(20);

//设置最大空闲数

poolConfig.setMaxIdle(2);

Set<HostAndPort> nodes = new HashSet<HostAndPort>();

//添加8个节点对应的IP以及端口号

nodes.add(new HostAndPort("172.18.103.142", 7001));

nodes.add(new HostAndPort("172.18.103.142", 7002));

nodes.add(new HostAndPort("172.18.103.142", 7003));

nodes.add(new HostAndPort("172.18.103.142", 7004));

nodes.add(new HostAndPort("172.18.103.142", 7005));

nodes.add(new HostAndPort("172.18.103.142", 7006));

nodes.add(new HostAndPort("172.18.103.142", 7007));

nodes.add(new HostAndPort("172.18.103.142", 7008));

//创建一个集群核心对象:JedisCluster

JedisCluster jedisCluster = new JedisCluster(nodes, poolConfig);

//设置参数

jedisCluster.set("username", "xufang");

//查询参数

String username = jedisCluster.get("username");

System.out.println(username);

redis集群搭建手册的更多相关文章

  1. 25.redis集群搭建笔记

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

  2. Redis 集群搭建详细指南

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

  3. 二、redis集群搭建

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

  4. redis集群搭建及注意事项

    上一篇:redis的安装及注意事项 这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出 ...

  5. Linux Redis集群搭建与集群客户端实现(Python)

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

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

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

  7. Linux Redis集群搭建与集群客户端实现

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  8. Redis集群搭建-韩国庆

    认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...

  9. redis集群搭建及设置账户(转)

    Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...

随机推荐

  1. Qt5官方demo解析集28——Extending QML - Signal Support Example

    本系列全部文章能够在这里查看http://blog.csdn.net/cloud_castle/article/category/2123873 接上文Qt5官方demo解析集27--Extendin ...

  2. Android Studio - no debuggable applications 的解决的方法

    之前logcat总是无法显示调试应用的信息 曾经我都是卸载重装.后来发如今StackOverflow有一个哥们说的非常对.一次就成功. 原话是这么说的: You also should have To ...

  3. noi25 最长最短单词(为什么会出现运行时错误)

    noi25 最长最短单词(为什么会出现运行时错误) 一.总结 一句话总结:比如除以零,数组越界,指针越界,使用已经释放的空间,数组开得太大,超出了栈的范围,造成栈溢出 1.c++报runtime er ...

  4. 9、str类型和byte类型转换、列表拾遗、元组拾遗、字典拾遗、如何判断对象是否可迭代

    str(字节类型,编码)       可用于创建字符串,或者将其他的转换成字符串 a= ‘李露’ #将字符串转换成字节流 b = bytes(a,encoding = 'utf-8') #将字节转换成 ...

  5. 零基础学python-2.3 凝视

    在python里面,使用"#"号表示凝视的開始,一整行到结束就是凝视,他的主要作用提示这段代码到底有什么用处 print("---------欢迎来到猜数字的地方.请開始 ...

  6. SaltStack快速部署及测试

    测试环境:CentOS6.6 X86_64 # cat /etc/hosts 192.168.199.61 Ansible 192.168.199.60 Nginx1 192.168.199.62 N ...

  7. [Node] Run Any Version of a Node Tool with npx

    As node projects evolve, new features are added all the time. This results in different errors or re ...

  8. Latex表格制作记录

    Latex表格制作记录 主要功能 合并表格的行列 长表格的使用 makecell例程借鉴 效果图 参考代码 \documentclass{ctexart} \usepackage{indentfirs ...

  9. JS冲突解决方法

    Prototype   jquery 冲突解决: 在页面中同时存在jquery 和 prototype ,当用到 $ 的时候,难免产生冲突,所以一定要区分开来: <script type=&qu ...

  10. Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一)

    原文:Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一) 前端时间,接到领导任务,写了一个调度框架.今天决定把心路历程记 ...