搭建集群需要用到安装后的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. [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''&lt;h1 style=&quot;text-align: center;&quot;&gt;php

    [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL s ...

  2. Undo表空间数据文件损坏

       UNDO表空间数据文件和system表空间数据文件都是数据库的关键数据文件,如果损坏会导致sql执行失败,用户无法登录,甚至实例崩溃等.同样恢复UNDO表空间数据文件也必须在数据库mount状态 ...

  3. Windows 7 Ultimate with SP1(x64) MSDN 官方简体中文旗舰版原版

    Windows 7 Ultimate(旗舰版)64位功能齐全,所有其他版本所具有的高级功能它都有!它是最好的Windows 7操作系统.旗舰版很受网友欢迎,下载速度飞快. MSDN 我告诉你下载官网: ...

  4. 【Codeforces Round #299 (Div. 2) A】 Tavas and Nafas

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟题 [代码] #include <bits/stdc++.h> using namespace std; map & ...

  5. 洛谷——P1774 最接近神的人_NOI导刊2010提高(02)

    https://www.luogu.org/problem/show?pid=1774 题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古 ...

  6. Android, IOS 史上最强多语言国际化,不仅第一次会尾随系统,并且会保存用户的语言设置

    劲爆消息,我提供源代码了.你能够先看完再下载.也能够先下载再看完, android源代码地址: https://github.com/hebiao6446/------Bluetooth-Androi ...

  7. C语言深度剖析-----函数与指针的分析

                          指针的本质 指针需要保证指向任意数据类型,所以指针变量都占用32位bit即4字节. PS:不同机器上,指针占用内存不一                   ...

  8. storm-kafka编程指南

    目录 storm-kafka编程指南 一.原理及关键步骤介绍 (一)使用storm-kafka的关键步骤 1.创建ZkHosts 2.创建KafkaConfig 3.设置MultiScheme 4.创 ...

  9. 在mac中导入hadoop2.6.0源代码至eclipse 分类: A1_HADOOP 2015-04-12 09:27 342人阅读 评论(0) 收藏

    一.环境准备 1.安装jdk.maven等 2.下载hadoop源代码,并解压 3.将tools.jar复制到Classes中,具体原因见http://wiki.apache.org/hadoop/H ...

  10. js自动记忆用户名(可以设置cookie多存几天)

    js自动记忆用户名(可以设置cookie多存几天) 一.总结 1.记住密码:因为cookie是存在本地的,也可以多存几天,所以记住密码的操作只需要读取cookie,将其中的账号密码直接显示在输入框就好 ...