怎么做集群服务器

怎么做集群服务器,第1张

集群是需要软件和硬件配合的,首先物理上需要有多台计算机(最好是相同型号的),在这些计算机上安装相同的 *** 作系统(通常都是Linux),然后在各个机器上配置SSH,确保这些机器能够彼此免输入密码直接通信,接着需要在这些机器上安装集群软件,具体安装哪种需要看你的需求,如VMWare、OpenStack、Hadoop、Docker等,安装方法也都不一样,可以参考具体的教程。

分布式集群是指将系统的计算和存储资源分散到多台服务器上,通过网络互相连接,形成一个高可用、高可靠、高性能的分布式计算环境。搭建全分布式集群可以提高系统的计算能力、数据处理能力和容错能力。
实现全分布式集群需要遵循以下原则:
1 水平扩展:将系统的计算和存储资源分散到多个节点上,可以根据业务需求按需增加或减少节点,从而方便地扩展系统的性能和容量。
2 节点均衡:每个节点都应该具有相同的硬件配置和软件环境,以保证节点之间的任务分配均衡,并且方便进行故障转移和负载均衡。
3 数据一致性:在分布式环境下,数据的一致性是非常重要的。为了保证数据的一致性,需要采用合适的同步机制,如数据复制、数据分片等。
4 故障容错:从节点故障恢复和任务重试等方面提供容错功能,使得系统可以在节点故障的情况下继续工作。
5 高性能通信:使用高速网络通信协议,如Infiniband、RDMA等,保证节点间的通信速度和吞吐量。
搭建全分布式集群需要使用一些分布式系统的基础组件,如分布式文件系统、分布式数据库、分布式缓存、分布式任务调度等,并且需要根据实际业务需求进行选择和调整。常用的分布式平台包括Hadoop、Spark、HBase、Cassandra等。同时,为了更好地管理和监控集群,还需要使用一些集群管理工具,如Zookeeper、Ambari等。

参考: Redis 集群教程

redisconf 文件中包含很多信息,如:端口号、持久化方式、持久化的文件等等。

使用写入了不同端口号的配置文件就可以启动多个 Redis 实例。
下面是一个最少选项的集群的配置文件:

文件中的 cluster-enabled 选项用于开实例的集群模式, 而 cluster-conf-file 选项则设定了保存节点配置文件的路径, 默认值为 nodesconf 。节点配置文件无须人为修改, 它由 Redis 集群在启动时创建, 并在有需要时自动进行更新。

要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。

首先, 让我们进入一个新目录, 并创建六个以端口号为名字的子目录, 稍后我们在将每个目录中运行一个 Redis 实例: 命令如下:

在文件夹 7000 至 7005 中, 各创建一个 redisconf 文件, 文件的内容可以使用上面的示例配置文件, 但记得将配置中的 port 和 cluster-conf-file 中的端口号数字 从 7000 改为与文件夹名字相同的号码。不同的集群节点要使用不同的 cluster-conf-file 。
配置文件的路径是可以自定义的。创建完毕后分别启动一个实例。

网上看到的教程,包括参考的官方文档里的文章,大多是使用以下方式创建集群。

这个命令在这里用于创建一个新的集群, 选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
之后跟着的其他参数则是这个集群实例的地址列表,3 个 master 3 个 slave redis-trib 会打印出一份预想中的配置给你看,如果你觉得没问题的话,就可以输入 yes,redis-trib 就会将这份配置应用到集群当中,让各个节点开始互相通讯,最后可以得到如下信息:

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

但是在 Redis 的 github 仓库 中看到,该文件已经不建议使用。

我在 手把手教你实现 Docker 部署 Redis 集群 的评论中看到, 现在 redis-cli --cluster 命令已经可以创建集群,分配槽,分配主从服务器了 ,于是使用以下命令了解到相关的命令。

可以看到,命令的组成形式和旧方式是一致的。

可以看到执行命令后,redis 客户端做了以下工作:

输入 yes 后,redis 客户端做了以下工作:

集群搭建完毕。

因为 Redis Cluster 默认要求所有的槽位被覆盖,可以通过修改 cluster-require-full-coverage yes 配置来改变该行为。
CLUSTERDOWN The cluster is down in redis 这里的回答中提到:我们可以使用 N 个Master 和 N+1 个 Slave,正常情况下多余的一个实例作为随机一个 Master 的 Slave,一旦有实例宕机,可以迅速顶替,以保证每个主节点总是有至少一个从节点保持数据同步。

ps:搜索命令行的输出时,才看到 深入理解Redis系列之集群环境搭建 这篇文章,有时候搜索的关键词不合适容易走弯路啊……


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12857848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存