redis集群redis-cluster搭建

redis集群搭建--参考微信公众号(诗情画意程序员):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQ

这是来自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的安装目录直接启动:

输入命令:[[email protected] 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,但是要指定配置文件以后台启动

    输入命令:[[email protected] 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

[[email protected] 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集群成功启动。

原文地址:https://www.cnblogs.com/wlv1314/p/12324492.html

时间: 2024-08-01 14:45:49

redis集群redis-cluster搭建的相关文章

redis集群环境的搭建和错误分析

redis集群环境的搭建和错误分析 redis集群时,出现的几个异常问题

Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义

Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义 学习了:https://www.cnblogs.com/lori/p/5825691.html 哨兵机制: 原文地址:https://www.cnblogs.com/stono/p/9003930.html

Linux下Redis集群环境的搭建

一.安装redis(使用redis3.0版本) 1.需要gcc环境,如果没有执行命令安装gcc yum install gcc-c++ 2.下载redis3.0的源码包并上传至服务器 3.解压源码包 tar -zxvf redis-3.0.0.tar.gz 4.进入解压目录编译 make 5.安装redis make install PREFIX=/usr/local/redis 二.启动redis 1.从redis-3.0.0文件中复制redis-conf到redis的安装目录中 2.然后修改

redis集群之Cluster

RedisCluster 是 Redis 的亲儿子,它是 Redis 作者自己提供的 Redis 集群化方案. 相对于 Codis 的不同,它是去中心化的,如图所示,该集群有三个 Redis 节点组成,每个节点负责整个集群的一部分数据,每个节点负责的数据多少可能不一样.这三个节点相互连接组成一个对等的集群,它们之间通过一种特殊的二进制协议相互交互集群信息. Redis Cluster 将所有数据划分为 16384 的 slots,它比 Codis 的 1024 个槽划分的更为精细,每个节点负责其

Redis集群redis主从自动切换Sentinel(哨兵模式)

Redis SentinelSentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中 一.Sentinel作用:1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave3):Master-Slave切换后,master_redis.conf.slave_redis.conf和sentinel.conf的内容都会发生改变,即mast

redis 集群架构 cluster 、sentinel

redis-cluster 实验环境: centos6.5   IP:192.168.1.11 依赖包:redis    ruby   rubygem     [[email protected] redis]#tar xf redis-3.0.2.tar.gz [[email protected] redis]#cd redis-3.0.2 [[email protected] redis]#make &&make install 用tab键看redis-  这些工具是否安装好,没安装则

redis集群简单codis搭建

codis是一个开源的集群项目,是由国内豌豆荚团队维护,代码在github上 github地址:https://github.com/codislabs/codis 架构图: 架构说明: codis-dashboard提供集群管理功能 codis-proxy:客户端连接这个提供的地址和端口,把来自客户端的求分发给codis-group,codis-group是由一组redis服务组成 codis-fe:提供一个与管理员进行交互的界面 这个集群的服务依赖go语言的环境: wget https://

Docker快速构建Redis集群(cluster)

Docker快速构建Redis集群(cluster) 以所有redis实例运行在同一台宿主机上为例子 搭建步骤 redis集群目录清单 . ├── Dockerfile ├── make_master_slave.sh ├── run_master_slave.sh ├── compose_master_slave.sh ├── redis-trib.rb ├── master │?? ├── 7000 │?? │?? ├── data │?? │?? │?? ├── appendonly.ao

redis集群实现(一)集群架构与初始化

redis是一个高可用.高性能.高可扩展性的基于内存也支持持久化存储的kv存储数据库,redis相比较于之前的kv存储memcached而言,不但支持的value类型大大增加,并且还支持数据的持久化,弥补了memcached的不能持久化的缺点,但是在3.0之前的redis并不支持集群功能,这也是redis在3.0之前不能被大量部署的一个原因,但是由于3.0以后的redis支持了集群功能,redis就开始大量的替代之前的memcached,今天我从源代码层次学习下redis是怎么实现集群功能的.

手动构建redis集群

1.准备节点 -- 主节点 --- redis-7000.conf redis-7100.conf redis-7200.conf -- 从节点 --- redis-7001.conf redis-7101.conf redis-7201.conf Redis集群一般有多个节点组成,节点数量至少为6个才能保证组成完整的高可用集群: 2.修改配置 $ vim redis-7000.conf daemonize yes   ## 开启守护进程  port 7000   # 节点端口 logfile