系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > Redis > 详细页面

redis集群redis-cluster搭建

时间:2020-02-18来源:系统城装机大师作者:电脑系统城

 

这是来自redis官网的一段介绍,大概意思就是:

Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持诸如字符串、散列、列表、集、带范围查询的排序集、位图、hyperloglogs、带半径查询和流的地理空间索引等数据结构。Redis具有内置的复制、Lua脚本、LRU清除、事务和不同级别的磁盘持久性,并通过Redis Sentinel和带有Redis集群的自动分区提供高可用性。

and so on ...

不过这不是今天的重点,今天的重点是redis的集群搭建。

搭建集群呢,先安装个单击版的,其实呢安装挺简单。

 

redis的安装单机版:

  • redis是c语言开发的。安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yum install gcc-c++

  • 将redis的安装包上传到Linux并解压缩。

  • 进入redis源码目录进行编译。输入命令:make

  • 编译完后进行安装,输入命令:make install PREFIX=/usr/local/redis

       PREFIX指定redis的安装目录,我的安装在了/usr/local/redis

 

 

 

这时单击版的就已经安装好了,接下来启动一下:

在redis的安装目录直接启动:

输入命令:[root@localhost bin]# ./redis-server 

 

 

 

出现这个界面表示启动成功。

可以通过查看redis进程:

输入命令:ps aux|grep redis

 

 

 

 

但是这是前台启动,退出后redis就关闭了,下面设置后台启动的方法。

  • 把/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下

  • 进入/usr/local/redis/bin目录下,修改redis.conf配置文件,将daemonize no 改为 yes,保存并退出

 

 

 

  • 这时再次启动redis,但是要指定配置文件以后台启动

    输入命令:[root@localhost bin]# ./redis-server redis.conf

 

 

 

可以看到并没有出现redis的启动图标,那是否启动成功了呢?这时我们查看一下redis进程。

输入命令:ps aux|grep redis

 

 

 

可以看到redis已经成功启动。

下面我们开始搭建集群版,下面是redis官网的一段截取。

 

 

 

更多的介绍请到redis官网查看。

由于redis-cluster采用投票容错的方式来判断该节点是否挂掉,投票容错简单点说就是投票超总数的一半即判定该节点挂掉,因此最少需要三个节点,但是由于redis-cluster要保证高可用,因此每个主节点需要一个备份机,也就是说至少需要六个节点。

这里在redis官网也提到了。

 

 

 六个节点需要六台服务器,这里为了演示就先搭建一个伪分布式,操作步骤和在六台服务器上搭建完全一样。

 

集群环境搭建

步骤一

使用ruby脚本搭建集群,需要ruby的运行环境

安装ruby

yum install ruby

yum install rubygems

 

 

 

步骤二

安装ruby脚本运行所需的依赖包 redis-3.0.0.gem

[root@localhost wl]# gem install redis-3.0.0.gem

搭建redis集群

搭建伪分布式,需要6个redis的实例,分别运行在7001,7002,7003,7004,7005,7006端口

步骤一

创建6个redis实例,把之前的单机版复制6份就可以。

在/usr/local/下创建redis-cluster目录

 

 

 将/usr/local/redis目录下的单机版复制6分到/usr/local/redis-cluster/

 

 

 步骤二

每个实例运行在不同的端口。需要修改redis.conf配置文件。

配置文件中还需要把cluster-enabled yes前的注释去掉。

进入redis01目录下,打开redis.conf配置文件

修改端口号为7001,并把cluster-enabled yes前的注释去掉

 

 

 

 

 

 其他5个做相同的设置,注意端口不一样。

步骤三

  • 启动每个redis实例

  • 使用ruby脚本搭建集群,需要使用redis-trib.rb,此文件在源码src目录下。

  • 进入src目录,将redis-trib.rb复制到/usr/local/redis-cluster目录下

    cp redis-trib.rb /usr/local/redis-cluster

  进入/usr/local/redis-cluster目录执行命令:

  ./redis-trib.rb create --replicas 1 192.168.25.131:7001 192.168.25.131:7002 192.168.25.131:7003 192.168.25.131:7004 192.168.25.131:7005 192.168.25.131:7006

  • 到此redis集群就搭建完成了,这时启动一下。

    逐个启动太费事,编写个脚本

    在redis-cluster目录下创建一个.sh的脚本,

  • 创建完成后修改文件的权限 

    chmod u+x start_redis.sh

    运行文件  sh start_redis.sh,启动redis集群

    查看后台进程 ps aux|grep redis 

  •  

     可以看到redis集群成功启动。

  •  
分享到:

相关信息

  • redis实现session共享的方法

    引言大厂很多项目都是部署到多台服务器上,这些服务器在各个地区都存在,当我们访问服务时虽然执行的是同一个服务,但是可能是不同服务器运行的;在我学习项目时遇到这样一个登录情...

    2023-11-01

  • 简单聊一聊redis过期时间的问题

    1.多次修改一个redis的String过期键,如何保证他仍然能保留第一次设置时的删除时间 2.修改hash、set、Zset、list的值,会使过期时间重置吗?...

    2023-11-01

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载