hadoop 设计机架感知功能?

hkmswyz6  于 2023-10-15  发布在  Hadoop
关注(0)|答案(1)|浏览(201)

我想了解像Kafka,Hadoop和其他产品中的机架感知feature的设计。这些系统中的机架感知是如何构建的,Hadoop如何知道哪个服务器在哪个机架中?我想建立我的服务,这将Map到机架服务器相同,显示哪些服务器坐在哪个机架?
我想的一种方法是使用机架TOR交换机连接到哪个服务器,这样服务将知道哪个服务器位于哪个机架中,我不确定是否有其他方法?

hsgswve4

hsgswve41#

Hadoop如何知道哪个服务器在哪个Rack中?
不是。是接线员。必须在配置文件中手动定义机架。但是,当使用AWS EMR等云服务时,由于您无法直接控制数据中心中的物理机和文字服务器机架,因此需要进一步配置。区域经常被使用,尽管AWS有一个名为“放置组”的功能。
否则,使用S3,GCP,Azure Blob存储,这些都是HDFS兼容的。
Hadoop HDFS中的“感知”与限制网络流量有关。如果您有任何数据块/文件段的3个副本,那么您需要一个磁盘本地副本(相同的操作系统,通常是不同的卷),一个机架本地副本(由不同的操作系统卷管理,但在相同的网络链接上),然后是一个远程副本,在不同的机架上,但仍然是相同的LAN网络,以实现快速传输。
对于Kafka,它用于在同一数据中心运行的客户端,以便与代理协调,消费者应该优先考虑哪些副本进行轮询,因为客户端必须首先与领导者分区代理进行通信。如果您的客户端在其他区域运行,或者您在本地计算机上使用云Kafka服务,则从客户端的Angular 来看,机架感知没有任何好处,并且Kafka不使用与Hadoop相同的算法来分发副本。

相关问题