一、去官网下载redis5.0

https://redis.io/download

然后解压安装

$ tar xzf redis-5.0..tar.gz
$ cd redis-5.0.
$ make

二、准备配置文件

打开redis-5.0.4/目录中的redis.conf文件,也就是redis的配置文件

1.注释掉本行配置,否则客户端连接会报错

2.修改端口为6381(后面还需要复制出来5个配置文件,6个配置文件端口分别从6381到6386)

3.修改启动方式为后台启动

4.这里文件名改成和端口一致

5.重要!打开三项cluster集群配置开关!

6.配置redis服务器密码,不配的话jedis连接会报如下错误:

redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients.

7.保存退出,重命名配置文件,和第5步中的配置保持一致

这个不改也可以,我是为了看上去知道是集群配置文件,才重命名的

8.将node-6381.conf文件再复制5份,并分别重命名

9.在复制出来的5份配置文件中,分别更改第2,4,5步中和端口相关的内容

三、启动集群

进入src/目录

1.依次启动6个节点的redis

2.执行集群启动命令

注意,命令随后有个“-a admin”,这里是输入刚才设置的密码,否则无法创建集群

而且ip不能输入127.0.01,否则客户端无法连接

./redis-cli --cluster create 10.100.93.44:6381 10.100.93.44:6382 10.100.93.44:6383 10.100.93.44:6384 10.100.93.44:6385 10.100.93.44:6386 --cluster-replicas 1 -a admin

中间需要输入一个“yes”

到这里,redis5.0的cluster集群就创建完成了,从中也能看到,6381,6382,6383节点是主节点

四、Jedis客户端操作

我这里采用的jedis版本是:

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.0.1</version>
</dependency>

客户端代码:

    public static void main(String[] args) {

        Set<HostAndPort> jedisClusterNodes = new HashSet<>();
//Jedis Cluster will attempt to discover cluster nodes automatically
jedisClusterNodes.add(new HostAndPort("10.100.93.44", 6381));
jedisClusterNodes.add(new HostAndPort("10.100.93.44", 6382));
jedisClusterNodes.add(new HostAndPort("10.100.93.44", 6383));
jedisClusterNodes.add(new HostAndPort("10.100.93.44", 6384));
jedisClusterNodes.add(new HostAndPort("10.100.93.44", 6385));
jedisClusterNodes.add(new HostAndPort("10.100.93.44", 6386)); JedisPoolConfig jpc = new JedisPoolConfig();
jpc.setMaxTotal(10);
jpc.setMaxIdle(10);
jpc.setMinIdle(10); JedisCluster jc = new JedisCluster(jedisClusterNodes, 5000, 5000, 2, "admin", jpc);
jc.set("dijia478", "112233"); String keys = jc.get("dijia478");
System.out.println(keys); }

运行结果:

redis集群情况:

可以看到,测试的一个key,已经插入到了6383节点了。

测试demo:https://github.com/dijia478/redis5-cluster-client

redis5.0.4-cluster集群搭建及jedis客户端操作的更多相关文章

  1. Redis5.0.8 Cluster集群部署

    目录 一.Redis Cluster简介 二.部署 三.创建主库 一.Redis Cluster简介 Redis Cluster集群是一种去中心化的高可用服务,其内置的sentinel功能可以提供高可 ...

  2. Redis Cluster集群搭建后,客户端的连接研究(Spring/Jedis)(待实践)

    说明:无论是否已经搭建好集群,还是使用什么样的客户端去连接,都是必须把全部IP列表集成进去,然后随机往其中一个IP写. 这样做的好处: 1.随机IP写入之后,Redis Cluster代理层会自动根据 ...

  3. Redis Cluster集群搭建与应用

    1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...

  4. 重要参考步骤---ProxySQL Cluster 集群搭建步骤

    环境 proxysql-1:192.168.20.202 proxysql-2:192.168.20.203 均采用yum方式安装 # cat <<EOF | tee /etc/yum.r ...

  5. redis5.0 Cluster集群搭建

    安装redis sudo apt update sudo apt install build-essential tcl cd ~ mkdir document/ cd document/ curl ...

  6. CentOs7.3 搭建 Redis-4.0.1 Cluster 集群服务

    环境 VMware版本号:12.0.0 CentOS版本:CentOS 7.3.1611 三台虚拟机(IP):192.168.252.101,192.168.102..102,192.168.252. ...

  7. Redis5以上版本伪集群搭建(高可用集群模式)

    redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,这里用一台机器(可以多台机器部署,修改一下ip地 ...

  8. Redis Cluster 集群搭建与扩容、缩容

    说明:仍然是伪集群,所有的Redis节点,都在一个服务器上,采用不同配置文件,不同端口的形式实现 前提:已经安装好了Redis,本文的redis的版本是redis-6.2.3 Redis的下载.安装参 ...

  9. redis 学习笔记(6)-cluster集群搭建

    上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...

随机推荐

  1. 登录PL/SQL无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误

    在使用在登录PL/SQL(使用scott用户)无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误(程序中的用户和密码无法登录 ...

  2. 用JDK自带的包来解析XML文件(DOM+xpath)

    DOM编程不要其它的依赖包,因为JDK里自带的JDK里含有的上面提到的org.w3c.dom.org.xml.sax 和javax.xml.parsers包就可以满意条件了.(1)org.w3c.do ...

  3. 迷你MVVM框架 avalonjs 学习教程2、模块化、ViewModel、作用域

    一个项目是由许多人分工写的,因此必须要合理地拆散,于是有了模块化.体现在工作上,PM通常它这为某某版块,某某频道,某某页面.某一个模块,必须是包含其固有的数据,样式,HTML与处理逻辑.在jQuery ...

  4. 使用Visual Studio进行 Android开发的十大理由

    [原文发表地址]Top 10 reasons to use Visual Studio for C++ Android Development! Visual Studio: C++跨平台的移动解决方 ...

  5. SVN代理设置

    [SVN代理设置] ~/.subversion/servers文件下可以配置svn的代理. 打开上面那3行,替换为自定义的域名即可.

  6. 77. Combinations (Recursion)

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  7. [OS] 修改屏幕分辨率(用Remote Desktop Connection 或者 用工具:Remote Desktop Connection Manager)

    用Remote Desktop Connection Remote Desktop Connection Manager

  8. Android使用ListView使用方法

    Android使用ListView应该注意的地方   在ListView中设置Selector为null会报空指针? mListView.setSelector(null);//空指针 试试下面这种: ...

  9. Swift:使用CAShapeLayer打造一个ProgresssBar

    ProgressBar是一个很小却在很多地方都会用到的东西.也许是网络连接,也许APP本身有很多东西需要加载的.默认的只有一个旋转的菊花,对于打造一款个性的APP这显然是不够的.这里就使用CAShap ...

  10. 组队作业_One

    Part 1.前言 结对项目作业 结对同学高裕翔的博客 本博文pdf版本 Part 2.PSP表 PSP3.1 Personal Software Process Stages 预估耗时(分钟) 实际 ...