Redis集群搭建

Redis安装及集群搭建(cluster模式)

操作系统:CentOS7

Redis版本:5.0.5

端口:6379、6380、16379、16380

备注:下文的安装步骤中,【】包围的部分需根据自己的环境来配置

单节点安装

1 使用源代码方式安装

  安装包下载地址:http://download.redis.io/releases/redis-5.0.5.tar.gz
  redis相关依赖在deps中,如果安装redis过程中报缺少依赖错误,则到deps目录下执行相关的make 【文件名】命令。

2 配置

2.1 新建相关目录

2.1.1 新建配置文件存放目录

mkdir /etc/redis

2.1.2 新建数据存放目录

mkdir -p 【数据目录】/【端口号】

2.2 编辑配置文件

  将源代码目录内的配置文件模板(./redis.conf)复制到/etc/redis目录中,若一个物理节点需要运行多个redis服务,配置文件以端口号区分(如“redis_6379.conf”),然后按照下表对其中的部分参数进行编辑。

daemonize yes
pidfile /var/run/redis_6379.pid
port 【端口号】
dir 【数据目录】/【端口号】
requirepass 【密码】
protected-mode no
cluster-replica-validity-factor 0
#bind 127.0.0.1

3 测试

/usr/local/bin/redis-server /etc/redis/redis_6379.conf

4 将redis服务加入systemd管理

vi /etc/systemd/system/redis_【端口号】.service

编辑

[Unit]
Description=redis
After=network.target
 
[Service]
Type=forking
PIDFile=/var/run/redis_【端口号】.pid
ExecStart=/usr/local/bin/redis-server /etc/redis/redis_【端口号】.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

5 开机启动

systemctl enable redis_【端口号】

6 增加布隆过滤器模块

  项目中需要使用布隆过滤器做token的失效判定,如果没有需求可以不安装。

6.1 安装

  源码方式安装(下载地址:https://github.com/RedisBloom/RedisBloom

6.2 增加配置

loadmodule 【源码存放路径】/RedisBloom-master/redisbloom.so

6.3 重启

systemctl restart redis_【端口号】

6.4 测试

redis-cli -p 【端口号】
auth 【密码】
bf.reserve userid 0.01 100000
bf.add userid '1'
bf.madd userid '2' '3'
bf.exists userid '1'

集群安装

简介

  Redis支持3种集群模式,分别为主从(master/slave)、哨兵(sentinal)和集群(cluster),以下针对负载均衡、高可用和伸缩性(水平扩展)三方面需求做简单总结:

负载均衡高可用伸缩性
master/slave只能实现读服务的高可用×
sentinal×
cluster

cluster模式集群安装步骤

  部署架构如“图1”所示,三台机器Host-1、Host-2和Host-3,每台机器部署一个master节点和一个replica节点(master实现伸缩性,replica实现高可用),master节点运行在6379端口,replica节点运行在6380端口。

在这里插入图片描述

图1

1 增加配置

vi /etc/redis/redis_【端口号】.conf

​ 增加或修改

port 【端口号】
cluster-enabled yes
cluster-config-file nodes_【端口号】.conf
cluster-node-timeout 5000
appendonly yes

2 cd到/usr/local/bin,执行集群构建命令,形成3个master组成的集群

redis-cli --cluster create 【Host-1的IP】:6379 【Host-2的IP】:6379 【Host-3的IP】:6379 -a 【密码】

3 验证

redis-cli -a 【密码】 -p 6379 cluster nodes

4 添加3个replica节点

redis-cli -a 【密码】 --cluster add-node 【Host-2的IP】:6380 【Host-1的IP】:6379 --cluster-slave --cluster-master-id 【Master-1的ID】
redis-cli -a 【密码】 --cluster add-node 【Host-3的IP】:6380 【Host-2的IP】:6379 --cluster-slave --cluster-master-id 【Master-3的ID】
redis-cli -a 【密码】 --cluster add-node 【Host-1的IP】:6380 【Host-3的IP】:6379 --cluster-slave --cluster-master-id 【Master-2的ID】

5 常用命令

  官方文档:https://redis.io/topics/cluster-tutorial

5.1 修复分片

redis-cli -a 【密码】 --cluster fix 【集群中的某个节点(IP:端口号)】

5.2 添加节点

redis-cli -a 【密码】 --cluster add-node 【新的节点(IP:端口号)】 【集群中的某个节点(IP:端口号)】

5.3 重新分片

redis-cli -a 【密码】 --cluster reshard 【集群中的某个节点(IP:端口号)】

5.4 添加replica节点

redis-cli -a 【密码】 --cluster add-node 【要增加的replica节点(IP:端口号)】 【集群中的某个节点(IP:端口号)】 --cluster-slave --cluster-master-id 【主节点的IP】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值