CentOS7下Redis集群搭建

小鱼儿 2022-02-26 13:06 431阅读 0赞

一、引言

工作中经常会用到Redis,下面在CentOs7上,搭建一个Redis集群。

二、安装Redis

1、查询系统版本

不同的系统版本,Linux的命令有所差别。

  1. cat /etc/centos-release

在这里插入图片描述

2、下载Redis

Redis官网地址:https://redis.io/download

在哪个目录下,执行wget操作,文件就会下载到哪个目录。

  1. cd /home/frank/redis/
  2. wget http://download.redis.io/releases/redis-5.0.4.tar.gz

在这里插入图片描述

3、解压
  1. tar -xzvf redis-5.0.4.tar.gz

在这里插入图片描述
在这里插入图片描述

4、安装C语言环境

因为Redis使用C语言写的,CentOS自带C语言环境,执行以下命令会更新C语言环境

  1. yum install gcc-c++

在这里插入图片描述

5、编译Redis源码
  1. cd redis-5.0.4
  2. make

在这里插入图片描述

6、安装Redis

默认安装在当前目录下,可以使用PREFIX参数更改安装位置

  1. cd redis-5.0.4
  2. make install PREFIX=/home/frank/redis/reids

在这里插入图片描述

7、将解压缩包下的Redis配置文件redis.conf拷贝到安装目录的bin目录下。(每一个Redis对应着一个配置文件)
  1. cp ./redis.conf ../redis/bin

在这里插入图片描述

8、进入到安装目录,启动Redis
  1. ./redis-server ./redis.conf

在这里插入图片描述

9、测试

建一个Maven工程,添加如下依赖

  1. <dependency>
  2. <groupId>redis.clients</groupId>
  3. <artifactId>jedis</artifactId>
  4. <version>3.0.1</version>
  5. </dependency>
  6. public static void main( String[] args ) {
  7. //方式一
  8. Jedis jedis = new Jedis("192.168.2.230",6379);
  9. jedis.set("hello","world");
  10. String value = jedis.get("hello");
  11. System.out.println(value);
  12. jedis.close();
  13. //方式二:线程池
  14. JedisPool pool = new JedisPool("192.168.2.230",6379);
  15. Jedis jedis = pool.getResource();
  16. String value = jedis.get("hello");
  17. System.out.println(value);
  18. jedis.close();
  19. }

运行上面代码,可能报下面的错,这是因为系统的防火墙没有关闭
在这里插入图片描述

Centos7关闭防火墙

  1. systemctl stop firewalld.service

禁止firewall开机启动

  1. systemctl disable firewalld.service

关闭防火墙后,重新运行后,结果如下:
在这里插入图片描述

10、关闭Redis

在这里插入图片描述

三、搭建Redis集群(伪集群)

搭建集群最少也得需要3台主机,如果每台主机再配置一台从机的话,则最少需要6台机器,准备6个redis

1、准备6个Redis,并逐一修改其配置文件

为了方便记忆,6个Redis的安装目录分别从6661-6666
在这里插入图片描述

2、逐一修改其配置文件

修改每个Redis绑定的Ip地址
在这里插入图片描述
修改每个Redis的端口地址,分别从6661-6666
在这里插入图片描述
把每个Redis的集群设置打开
在这里插入图片描述
把每个Redis改为后台运行
在这里插入图片描述
逐一启动Redis

在这里插入图片描述
查看Redis的运行状态

  1. ps -ef|grep redis

在这里插入图片描述

3、将6个Redis加入一个集群
  1. ./redis-trib.rb create --replicas 1 192.168.2.230:6661 192.168.2.230:6662 192.168.2.230:6663
  2. 192.168.2.230:6664 192.168.2.230:6665 192.168.2.230:6666

运行上面命令后,出现如下报错,说明缺少Ruby环境。
在这里插入图片描述

4、安装Ruby
  1. yum install ruby

在这里插入图片描述
yum install rubygems
在这里插入图片描述
再次执行上面集群命令
在这里插入图片描述

5、测试
  1. public static void main( String[] args )
  2. {
  3. //集群
  4. Set<HostAndPort> nodes = new HashSet<>();
  5. nodes.add(new HostAndPort("192.168.2.230",6661));
  6. nodes.add(new HostAndPort("192.168.2.230",6662));
  7. nodes.add(new HostAndPort("192.168.2.230",6663));
  8. nodes.add(new HostAndPort("192.168.2.230",6664));
  9. nodes.add(new HostAndPort("192.168.2.230",6665));
  10. nodes.add(new HostAndPort("192.168.2.230",6666));
  11. JedisCluster cluster = new JedisCluster(nodes);
  12. cluster.set("cluster","我们六个人");
  13. String value = cluster.get("cluster");
  14. System.out.println(value);

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,431人围观)

还没有评论,来说两句吧...

相关阅读

    相关 centos7 redis

    简单说明: 我们的集群结构: 我们的集群有三个主节点,每个主节点有一个从节点,一共有6个节点。都是在一台机器上创建多个redis实例来实现的。 1.集群环境的安装 1.

    相关 CentOS7redis

    客户是个关系户...  开设好centos7虚拟机的同时还得搭建好redis集群。安装过程很顺利,没有遇到什么坑。 环境介绍:两台centos7系统+redis 4.0.11