redis集群搭建并实现java连接

实验环境 :CentOS 7

redis集群中最少要有3个节点,为了保证集群高可用,需要每个节点有一个备份机。redis集群至少需要6个节点,也就是6台服务器。

本此实验用三台服务器模拟出6个节点,所以一台服务器上要安装两个节点。服务器IP如下(为了安全我的IP是假的):

1、47.103.221.121

2、47.103.222.122

3、47.103.223.123

一、安装redis:

1、下载redis

切换到/usr/local目录下下载

$ cd /usr/local

$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz

2、解压redis

$ tar -zxvf redis-5.0.4.tar.gz 

3、编译安装

指定安装redis到/usr/local/redis目录下

$ cd /usr/local/redis-5.0.4
$ make PREFIX=/usr/local/redis install

 成功后输出如下信息

如果不成功可能是你的服务器还没有gcc

4、 将 redis-trib.rb 复制到 /usr/local/bin 目录下

切换到/usr/local/redis-5.0.4/src目录下复制文件到usr/local/bin目录

$ cd /usr/local/redis-5.0.4/src 

$ cp redis-trib.rb /usr/local/bin/

5、创建 Redis 节点

在 /usr/local/redis/bin目录下新建一个redis_cluster目录用于存放节点配置文件,并在redis_cluster目录中新建7000 7001目录。

$ cd /usr/local/redis/bin

$ mkdir redis_cluster

$ cd redis_cluster

$ mkdir 7000 7001

之后再把/usr/local/redis-5.0.4目录中的redis.conf 拷贝到这两个目录中。

$ cp /usr/local/redis-5.0.4/redis.conf /usr/local/redis/bin/redis_cluster/7000 
$ cp /usr/local/redis-5.0.4/redis.conf /usr/local/redis/bin/redis_cluster/7001 

6、分别修改这两个配置文件,修改如下内容

port 7000 //端口7000,7002,7003 
bind 0.0.0.0 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群 ,我的修改成主机ip启动不了redis,我也不是啥原因,0.0.0.0就可以
daemonize yes //redis后台运行 
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001 
cluster-enabled yes //开启集群 把注释#去掉 
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001 把注释#去掉 
appendonly yes //aof日志开启 可不开启不影响,可根据需求开启

到此一台机中的两个redis节点就已经配置成功,

然后再另外两台机重复以上操作即可,但需要目录改为7002、7003、7004,7005 对应的配置文件也按照这个规则修改即可

7 、启动redis

分别在每台主机中启动各节点,切换到/usr/local/redis/bin目录下执行如下命令

注意:要在节点所在的主机中执行

//启动 7000、7001节点
$ ./redis-server redis_cluster/7000/redis.conf
$ ./redis-server redis_cluster/7001/redis.conf

//启动 7002、7003节点
$ ./redis-server redis_cluster/7002/redis.conf
$ ./redis-server redis_cluster/7003/redis.conf

//启动 7004、7005节点
$ ./redis-server redis_cluster/7004/redis.conf
$ ./redis-server redis_cluster/7005/redis.conf

8、验证是否启动成功

在个主机中执行如下命令

$ netstat -tnlp | grep redis

第一台主机输出如下就启动成功了,当然我这只是第一台机的,你也可以看其他两机的

 二、创建集群

1、关闭防火墙及SELINUX(三台机都要)

//关闭防火墙
$ systemctl stop firewalld.service
$ systemctl disable firewalld.service
//关闭SELINUX
$ vim /etc/selinux/config
//注释掉
#SELINUX=enforcing
#SELINUXTYPE=targeted
//添加
SELINUX=disabled

2、启用集群

在其中一台机中执行即可

切换到/usr/local/redi/bin目录下执行

$ cd /usr/redis/bin
$ ./redis-cli --cluster create --cluster-replicas 1 47.103.221.121:7000 47.103.221.121:7001 47.103.222.122:7002 47.103.222.122:7003 47.103.223.123:7004 47.103.223.123:7005

执行上面第二条命令后输入yes即可创建集群

等待会后输出如下信息即创建成功了

3、验证集群

在第一台机的7000节点中set一个数据,然后在第二台机中get这个数据的key

[root@master bin]# ./redis-cli -h 47.103.221.121 -c -p 7000
47.103.221.121:7000> set test 12345
-> Redirected to slot [6918] located at 47.103.222.122:7003
OK
47.103.222.122:7003>
[root@slave2 bin]# ./redis-cli -h 47.103.223.123 -c -p 7005
47.103.223.123:7005> get test
-> Redirected to slot [6918] located at 47.103.222.122:7003
"12345"
47.103.222.122:7003> 

可以看出集群成功了。

三、java连接redis

本次实验室是在java项目中连接需要自己下载jar包,当然你也创建maven项目导入redis依赖也可以,为了方便没有安装的maven人测试本次使用纯java项目

1、下载redis java 驱动程序

下载地址:

http://repo1.maven.org/maven2/redis/clients/jedis/3.0.0/jedis-3.0.0-sources.jar.asc

然后导入到java项目中

2、连接redis

import redis.clients.jedis.Jedis;

public class RedisJava {

public static void main(String[] args) {

//连接本地的 Redis 服务

Jedis jedis = new Jedis("你的服务器ip",你的redis端口);

System.out.println("连接成功");

//查看服务是否运行

System.out.println("服务正在运行: "+jedis.ping());

}

}

运行后输出:

连接成功
服务正在运行: PONG

3、简单操作redis

import redis.clients.jedis.Jedis;

public class RedisJava {

public static void main(String[] args) {

//连接本地的 Redis 服务

Jedis jedis = new Jedis("你的服务器ip",你的redis端口);

System.out.println("连接成功");

//查看服务是否运行

System.out.println("服务正在运行: "+jedis.ping());

System.out.println("连接成功"+jedis.ping());
        //增加数据
        jedis.set("name", "zzq");
        System.out.println("添加成功");
        //获取数据
        System.out.println(jedis.get("name"));

    }
}

输出如下数据

连接成功PONG
添加成功
zzq

到这简单的操作连接验证成功了

 

到此文章结束!

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值