redis5.0.4-cluster集群搭建及jedis客户端操作

时间:2023-03-09 16:02:38
redis5.0.4-cluster集群搭建及jedis客户端操作

一、去官网下载redis5.0

https://redis.io/download

然后解压安装

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

redis5.0.4-cluster集群搭建及jedis客户端操作

二、准备配置文件

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

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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.

redis5.0.4-cluster集群搭建及jedis客户端操作

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

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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

三、启动集群

进入src/目录

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

redis5.0.4-cluster集群搭建及jedis客户端操作

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.4-cluster集群搭建及jedis客户端操作

到这里,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); }

运行结果:

redis5.0.4-cluster集群搭建及jedis客户端操作

redis集群情况:

redis5.0.4-cluster集群搭建及jedis客户端操作

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

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