CentOS7下Redis集群搭建

一、引言

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

二、安装Redis

1、查询系统版本

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

cat /etc/centos-release

在这里插入图片描述

2、下载Redis

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

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

cd  /home/frank/redis/

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

在这里插入图片描述

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

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

4、安装C语言环境

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

yum install gcc-c++

在这里插入图片描述

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

在这里插入图片描述

6、安装Redis

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

9、测试

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

 <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>3.0.1</version>
</dependency>
public static void main( String[] args ) {

	//方式一
	Jedis jedis = new Jedis("192.168.2.230",6379);
	jedis.set("hello","world");
	String value = jedis.get("hello");
	System.out.println(value);
	jedis.close();
	
	//方式二:线程池
	JedisPool pool = new JedisPool("192.168.2.230",6379);
	Jedis jedis = pool.getResource();
	String value = jedis.get("hello");
	System.out.println(value);
	jedis.close();
}

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

Centos7关闭防火墙

	systemctl stop firewalld.service

禁止firewall开机启动

	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的运行状态

ps -ef|grep redis

在这里插入图片描述

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

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

4、安装Ruby
yum install ruby

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

5、测试
public static void main( String[] args )
    {
        //集群
        Set<HostAndPort> nodes = new HashSet<>();
        nodes.add(new HostAndPort("192.168.2.230",6661));
        nodes.add(new HostAndPort("192.168.2.230",6662));
        nodes.add(new HostAndPort("192.168.2.230",6663));
        nodes.add(new HostAndPort("192.168.2.230",6664));
        nodes.add(new HostAndPort("192.168.2.230",6665));
        nodes.add(new HostAndPort("192.168.2.230",6666));

        JedisCluster cluster = new JedisCluster(nodes);

        cluster.set("cluster","我们六个人");

        String value = cluster.get("cluster");
        System.out.println(value);

在这里插入图片描述

发布了123 篇原创文章 · 获赞 230 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/zxd1435513775/article/details/88901992