Redis 集群搭建准备

Redis 集群搭建准备

下面先搭建一个最简单的 3 个节点的集群,先不为主节点添加从节点,在稍后的文章中会添加从节点。至于Redis如何安装将在后面的文章补充上.

现在的假设我们有 3 个 A,B,C 节点,分别部署一个 Redis 节点。由于测试环境受限影响,现在把 3 个节点都部署到一台服务器上。新建 Redis-Cluster 目录,然后新建 3 个文件夹,分别是:

mkdir Redis-Cluster
mkdir 30001 30002 30003

然后在 30001 30002 30003 中分别生成 redis.conf 文件,文件内容分别如下。

port 30001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

port 30002
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
    
port 30003
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

执行如下命令来分别启动每个 Redis 实例:

../src/redis-server redis.conf

创建集群

现在我们已经有了三个正在运行中的 Redis 实例, 接下来我们需要使用这些实例来创建集群, 并为每个节点编写配置文件。通过使用 Redis 集群命令行工具 redis-trib , 编写节点配置文件的工作可以非常容易地完成: redis-trib 位于 Redis 源码的 >src 文件夹中, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片>(reshared)等工作。

./redis-trib.rb create 192.168.1.179:30001 192.168.1.179:30002 192.168.1.179:30003

执行结果如下,这表示集群中的 16384 个槽都有至少一个主节点在处理, 集群运作正常。

[root@192 src]# ./redis-trib.rb create 192.168.1.179:30001 192.168.1.179:30002 192.168.1.179:30003

>>> Creating cluster
>>> Performing hash slots allocation on 3 nodes...
Using 3 masters:
192.168.1.179:30001
192.168.1.179:30002
192.168.1.179:30003
M: a87f3bd894a5d58fda2c7ba0fb0926e05c8ebf96 192.168.1.179:30001
   slots:0-5460 (5461 slots) master
M: 915039a399601973b5d5915f71d8c37f6caeeb45 192.168.1.179:30002
   slots:5461-10922 (5462 slots) master
M: c4628faf0aa4cf8d083733abd9e1c10225d7a731 192.168.1.179:30003
   slots:10923-16383 (5461 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..
>>> Performing Cluster Check (using node 192.168.1.179:30001)
M: a87f3bd894a5d58fda2c7ba0fb0926e05c8ebf96 192.168.1.179:30001
   slots:0-5460 (5461 slots) master
M: 915039a399601973b5d5915f71d8c37f6caeeb45 192.168.1.179:30002
   slots:5461-10922 (5462 slots) master
M: c4628faf0aa4cf8d083733abd9e1c10225d7a731 192.168.1.179:30003
   slots:10923-16383 (5461 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

到此为止,Redis 最简配置的集群就搭建完成了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文档翻译自 http://redis.io/topics/cluster-tutorial 。 本文档是 Red...
    会跳舞的机器人阅读 67,022评论 2 21
  • 前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。单节点的Red...
    Kevin_ZGJ阅读 13,998评论 19 133
  • 1 Redis介绍1.1 什么是NoSql为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方...
    克鲁德李阅读 10,787评论 0 36
  • 在开始搭建 Redis 集群之前,首先要明确集群节点的数量。集群正常运作至少需要三个主节点,为了增加集群的可访问性...
    简书冷雨阅读 7,347评论 2 22
  • 熬了几个礼拜,终于到今天下午没有什么课。也谢天谢地高数、基化、vb放了一马,也终于不用写什么作业。更感激班级、社团...
    致夏kli阅读 1,007评论 0 0