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

一、去官网下载redis5.0

https://redis.io/download

然后解压安装

$ tar xzf redis-5.0.4.tar.gz
$ cd redis-5.0.4
$ 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

转载于:https://www.cnblogs.com/dijia478/p/10755580.html

redis安装 1: 下载redis-5.0.4.tar.gz 2: 解压源码并进入目录 tar zxvf redis-5.0.4.tar.gz cd redis-5.0.4 3: 不用configure 4: 直接make (如果是32位机器 make 32bit) 查看linux机器是32位还是64位的方法:file /bin/ls 注:易碰到的问题,时间错误. 原因: 源码是官方configure过的,但官方configure时,生成的文件有时间戳信息, Make只能发生在configure之后, 如果你的虚拟机的时间不对,比如说是2012年 解决: date -s ' yyyy-mm-dd hh:mm:ss ' 重写时间 再 clock -w 写入cmos 5: 可选步骤: make test 测试编译情况 (可能出现: need tcl >8.4这种情况, yum -y install tcl ) 6: 安装到指定的目录,比如 /usr/local/redis make PREFIX=/usr/local/redis install 注: PREFIX要大写 7: 复制配置文件 cp redis.conf /usr/local/redis 注path为解压后的安装包路径 /root/gsj/redis-3.0.6 8: 让redis以后台进程的形式运行 vim /usr/local/redis/redis.conf 编辑redis.conf配置文件,修改如下内容; daemonize yes 9: make install之后,cd /usr/local/redis/bin得到如下几个文件 redis-benchmark 性能测试工具 redis-check-aof 日志文件检测工(比如断电造成日志损坏,可以检测并修复) redis-check-dump 快照文件检测工具,效果类上 redis-cli 客户端 redis-server 服务端 10: 启动与连接 启动redis并指定配置文件 cd /usr/local/redis ./bin/redis-server ./redis.conf #设置随机启动 vim /etc/rc.local 最后添加: /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf 连接: 用redis-cli cd /usr/local/redis/bin/ ./redis-cli #进入 exit /quit #退出 关闭redis pkill redis-server #关闭 ./redis-cli shutdown #关闭 查看是否启动成功 ps -ef | grep redis #查看端口是否占用 netstat -tunpl | grep 6379 11: 测试 String(字符串)类型: set name lijie #设置键name的值为lijie get name #获取name的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值