Redis3集群搭建(下)- 实操
Redis3集群搭建(下)- 实操
上一篇博客学习了一些Redis集群的基础知识,这篇文章将会开始学习搭建一个3主3从的小型的Redis集群。
准备
- Redis 3.2.9
- 一台机器,Linux或者macOS
我本机是macOS,所以这里以macOS为例。
安装
$ wget http://download.redis.io/releases/redis-3.2.9.tar.gz
$ tar xzf
$ cd redis-3.2.9/
$ make
编译完成后,就可以启动Redis了
$ src/redis-server redis.conf
启动完成,说明Redis已经可以使用了。
配置文件
还需要准备一些配置文件供Redis集群使用,Redis集群搭建需要六个运行在Redis集群模式下的Redis实例,而不是普通的Redis实例,所以需要通过修改配置文件来让Redis实例支持集群。
$ mkdir redis-cluster
$ cd redis-cluster
$ mkdir 7000 7001 7002 7003 7004 7005
在7000-7005这几个文件夹中各创建一个redis.conf文件,文件的内容可以使用最开始解压后文件夹中的redis.conf文件,在这个基础上进行修改。需要修改如下几个配置:
port 7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
appendonly yes
- cluster-enabled:配置打开集群模式
- cluster-enabled:配置保存节点配置文件的路径,默认值为nodes.conf,无需人为修改,它由Redis集群启动时创建,并在有需要时自动进行更新
- appendonly:打开持久化
其他文件夹的配置以此类推,将可执行文件redis-server复制到redis-cluster文件夹下面,然后使用以下命令,一次在每个文件夹下面执行:
$ cd 7000
$ ../redis-server ./redis.config
搭建集群
把所有实例都运行起来之后,就可以使用这些实例开始搭建集群了,同时为每个节点编写配置文件。使用 Redis集群命令行工具redis-trib,编写节点配置文件可以变得非常简单。redis-trib.rb在Redis源码的src目录下,他是用ruby编写的,可以通过它来对Redis集群进行创建、检查、分片等工作。所以本机还需要安装配置ruby环境(ps:ruby环境配置后,需要安装Ruby的Redis接口,使用命令gem install redis)。
Ruby方式
创建集群:
./redis-trib.rb create --replicas 1 127.0.0.1:7000 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
这个命令在这里用于创建一个新的集群,–replicas 1表示为集群中的每个主节点创建一个从节点。redis-trib这时候会打印出一份预想中的配置给你看,如果觉得没有问题,输入yes,集群就开始创建了。
如下图所示,表示集群创建成功:
create-cluster脚本
如果觉得这种方式太麻烦,也可以通过Redis源码目录下的utils/create-cluster文件夹中的create-cluster脚本创建集群。通过这个脚本可以创建一个3主3从的集群,并且端口默认从30001开始。但是通过这种方式就不能学习到那么多Redis集群的细节。
这个脚本主要有以下命令:
* create-cluster start
* create-cluster create
* create-cluster stop
测试集群
这里用redis-cli脚本进行测试,看集群是否可用。
$ ./redis-cli -c -p 7000
127.0.0.1:7000> set mykey redis
-> Redirected to slot [14687] located at 127.0.0.1:7002
OK
127.0.0.1:7002> set hello world
-> Redirected to slot [866] located at 127.0.0.1:7000
OK
127.0.0.1:7000> get mykey
-> Redirected to slot [14687] located at 127.0.0.1:7002
"redis"
127.0.0.1:7002> get hello
-> Redirected to slot [866] located at 127.0.0.1:7000
"world"
127.0.0.1:7000>
可以看出Redis会根据key计算对应的slot,然后跳转到对应的node上去,和我们之前介绍的内容一致。
至此,一个3主3从的Redis集群就搭建完成了,接下来可能会写一篇使用Docker搭建Redis集群的文章。
参考
上一篇: redis集群的搭建
下一篇: Maven 部署说明
推荐阅读
-
【window】window下搭建zookeeper集群(一)
-
Linux(Centos7)下redis5集群搭建和使用说明详解
-
CentOS下RabbitMq高可用集群环境搭建教程
-
linux下Mongodb集群搭建:分片+副本集
-
Linux(Centos7)下redis5集群搭建和使用
-
详解centos下搭建redis集群
-
强烈推荐,超详细,实操零失误:node.js安装 + npm安装教程 + Vue开发环境搭建 【非原创,但是用生命推荐的转载】
-
Linux下zookeeper集群搭建
-
用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法
-
了解一下zookeeper,搭建单机版和集群版的环境玩玩,需要手稿的,留下邮箱