redis集群

集群搭建的三种方式

主从复制

在主从复制中,数据库分为俩类,主数据库(master)和从数据库(slave)。其中主从复制有如下特点:

  • 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库
  • 从数据库一般都是只读的,并且jie shou主数据库同步过来的数据
  • 一个master可以拥有多个slave,但是一个slave只能对应一个master
哨兵模式

哨兵的作用是监控 redis系统的运行状况,他的功能如下:

  • 监控主从数据库是否正常运行
  • master出现故障时,自动将slave转化为master
  • 多哨兵配置的时候,哨兵之间也会自动监控
  • 多个哨兵可以监控同一个redis
集群模式

使用集群,只需要将每个数据库节点的cluster-enable配置打开即可。每个集群中至少需要三个主数据库才能正常运行,集群具备如下特点:

  • 集群会开放两个tcp链接端口,一个用作正常的管理链接,如6379,另一个通常在管理端口上加10000,用作集群间的通信
  • 集群的数据是分片存储的,利用一致性的哈希算法对数据进行分片,每个节点负责一部分hash槽,用来存储数据
  • 集群具备主从模式,每个主节点都会搭建一个从节点保证无单点故障
  • 集群无法保证强一致性,原因是由于主从复制是异步进行的

集群搭建

安装redis服务
yum -y install epel-release  //安装epel源
yum -y install redis  //安装redis

下载redis-trib.rb工具

redis-server --version  //获取redis版本
wget http://download.redis.io/releases/redis-3.2.12.tar.gz //根据redis版本下载redis源码包
tar -xvf redis-3.2.12.tar.gz //解压源码包
cp redis-3.2.12/src/redis-trib.rb /usr/bin/    //复制ruby工具到/usr/bin下

创建配置文件

注意:在一台虚拟机上

mkdir redis-cluster/{7001,7002,7003,7004,7005,7006} -p      //创建集群配置文件存放目录
vi redis-cluster/7001/redis.conf //编辑集群配置文件,把7001换成7002其余不变
port 7001(7002,7003...)  //根据文件夹名称修改端口号
bind 本机ip 
daemonize    yes                               //redis后台运行
pidfile  /var/run/redis_7000.pid          //pidfile文件对应
cluster-enabled yes  //开启集群 
cluster-config-file nodes.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 5000   /请求超时  默认5秒,可自行设置
appendonly yes    //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

启动各redis实例

cd redis-cluster/7001    //进入各自配置文件目录启动集群方式启动redis
redis-server redis.conf &   //加&表示后台运行

安装ruby环境

yum -y install ruby     //安装ruby环境
yum -y install rubygems     //安装ruby的gems包管理工具
gem install redis     //使用gem包管理工具安装redis的ruby环境,用来支持redis-trib.rb运行

升级ruby环境(无报错不执行)

[root@localhost 7006]# gem install redis
Fetching: redis-4.1.0.gem (100%)
ERROR:  Error installing redis:
	redis requires Ruby version >= 2.2.2.
	
   报错样式,由于ruby版本过低,无法安装redis的ruby环境,升级ruby环境 
此种情况需升级ruby环境/
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB   //安装ruby下载的密钥
curl -sSL https://get.rvm.io | bash -s stable     //下载ruby包并执行安装
source /etc/profile.d/rvm.sh     //加载profile下的rvm脚本文件
rvm list known   //列出环境列表
rvm install 2.4.1     //升级2.4.1版本
gem install redis       //再次安装redis-trib.rb运行所需的ruby环境

创建集群

redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006      //使用ruby工具创建集群

验证集群

redis-cli -c -p 7001    //集群的方式链接redis
set a b    //设置一个键值对
get a     //在自动切换的环境下根据键获取值
set c d   //再次设置一个键值对
get c     //在自动切换的环境下根据键获取值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值