Redis 集群搭建

一、前言

工作需要,也比较急,这一篇就不用docker搭redis集群了。后面有时间再研究docker搭建redis集群。

 

二、Redis 集群简介

Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式部署来解决单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。

Redis 集群采用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 16384 个 slot,每个 Redis 实例负责其中一部分 slot 。集群中的所有信息(节点、端口、slot等),都通过节点之间定期的数据交换而更新。
Redis 客户端可以在任意一个 Redis 实例发出请求,如果所需数据不在该实例中,通过重定向命令引导客户端访问所需的实例。

 

三、安装redis

可以安装其他版本的,只要版本大于3.0即可

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

$ tar xzf redis-4.0.7.tar.gz

$ mv redis-4.0.7 redis

$ cd redis

$ make

编译完成后会在src目录下生成Redis服务端程序redis-server和客户端程序redis-cli

四、集群搭建

创建9001~9006 6个结点的文件夹,并在每个文件夹下创建data文件夹用于存放数据

$ cd /usr/local

$ mkdir redis-cluster && cd redis-cluster

$ mkdir -p 9001 9002 9003 9004 9005 9006

$ mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data

 

/usr/local/redis-cluster 下创建bin文件夹用于存放运行脚本

$ mkdir redis-cluster/bin

$ cd /usr/local/redis/src

$ cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin

 

执行到这里我们可以看到目录结构如下图

 

接下来要把redis(从这里开始省略redis的版本号)复制到9001文件夹中

$ cp /usr/local/redis/* /usr/local/redis-cluster/9001

 

修改redis.conf文件

$ cd 9001 && vim redis.conf

port 9001(每个节点的端口号)

daemonize yes

bind x.x.x.x(绑定当前机器 IP)

dir /usr/local/redis-cluster/9001/data/(数据文件存放位置)

pidfile /var/run/redis_9001.pid(pid 9001和port要对应)

cluster-enabled yes(启动集群模式)

cluster-config-file nodes9001.conf(9001和port要对应)

cluster-node-timeout 15000

appendonly yes

集群搭建最主要就是修改redis.conf 文件的以下3个地方

cluster_conf

 

再来,我们复制已经编辑好的9001到另外5个结点9002~9006

$ cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9002

$ cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9003  

$ cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9004

$ cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9005

$ cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9006

修改9002~9006中的redis.config文件.(用以下命令可能会简便一些)

假设我们当前是在9001目录下,修改9002的配置文件

同理修改9003~9006

$ cd ../9002 && vim redis.conf

# ----------------------------------------------redis.conf 文件内-------------------------------------------------------

:%s/9001/9002

# 运用正则表达式修改不同的地方,运行后会提示,成功修改4处,则说明修改成功!

 

到这里我们已经成功搭建完集群了

 

5、启动集群

启动9001~9006结点

$ /usr/local/bin/redis-server /usr/local/redis-cluster/9001/redis.conf

$ /usr/local/bin/redis-server /usr/local/redis-cluster/9002/redis.conf

$ /usr/local/bin/redis-server /usr/local/redis-cluster/9003/redis.conf

$ /usr/local/bin/redis-server /usr/local/redis-cluster/9004/redis.conf

$ /usr/local/bin/redis-server /usr/local/redis-cluster/9005/redis.conf

$ /usr/local/bin/redis-server /usr/local/redis-cluster/9006/redis.conf

执行ps -el | grep redis,看到一下信息说明启动成功!


 

安装ruby,启动redis结点需要ruby的支持

$ yum install ruby

$ yum install rubygems

$ gem install redis

启动集群

/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 10.0.98.69:9001 10.0.98.69:9002 10.0.98.69:9003 10.0.98.69:9004 10.0.98.69:9005 10.0.98.69:9006

出现下图提示就说明创建成功了,其中M是主节点,而S是从结点

在redis桌面工具看起来是这样的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值