Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 使用hdfs作为卡夫卡的后端存储,可行吗?_Apache Kafka_Hdfs_Distributed System - Fatal编程技术网

Apache kafka 使用hdfs作为卡夫卡的后端存储,可行吗?

Apache kafka 使用hdfs作为卡夫卡的后端存储,可行吗?,apache-kafka,hdfs,distributed-system,Apache Kafka,Hdfs,Distributed System,Kafka作为消息发布子系统,需要在本地存储数据并进行复制,以避免崩溃时丢失数据。我的想法是修改Kafka,让它将数据直接写入hdfs,这样就不需要进行复制,使Kafka更简单,它可行吗 如果您不使用复制,在代理失败的情况下,您将无法获取要发送到分区的数据,并且您将无法从该点接收任何数据。 复制不仅仅是为了在代理崩溃时保存数据,它还确保了系统的健壮性。如果不使用复制,在代理失败的情况下,您将无法获取要发送到分区的数据,并且从此以后您将无法接收任何数据。 复制不仅仅是为了在代理崩溃时保存数据,它还

Kafka作为消息发布子系统,需要在本地存储数据并进行复制,以避免崩溃时丢失数据。我的想法是修改Kafka,让它将数据直接写入hdfs,这样就不需要进行复制,使Kafka更简单,它可行吗

如果您不使用复制,在代理失败的情况下,您将无法获取要发送到分区的数据,并且您将无法从该点接收任何数据。
复制不仅仅是为了在代理崩溃时保存数据,它还确保了系统的健壮性。

如果不使用复制,在代理失败的情况下,您将无法获取要发送到分区的数据,并且从此以后您将无法接收任何数据。

复制不仅仅是为了在代理崩溃时保存数据,它还确保了系统的健壮性。

也许可行。好主意?几乎可以肯定不是。Kafka本身可以持久化数据,并跨多个节点管理复制和恢复能力,以实现冗余和性能。将HDF引入混合模式毫无意义。

也许可行。好主意?几乎可以肯定不是。Kafka本身可以持久化数据,并跨多个节点管理复制和恢复能力,以实现冗余和性能。将HDFS加入到混合中毫无意义。

不,没有复制,但有主代理和从代理,因此在检测到主代理关闭时,从代理将为发布/订阅请求提供服务,它将从底层HDFS存储读取/写入数据。如果从属代理承担此工作,则它必须同步复制主题分区才能继续。另外,从hdfs读取和写入的速度不会达到卡夫卡的速度。记住这一点。从属代理只监视主代理(例如,zookeeper中的主寄存器本身等),如果主代理关闭,从属代理将从hdfs加载主题数据,因此不需要复制。我不知道您使用的代理是什么。没有执行用户定义代码并从hdfs加载的代理。您忘记了从hdfs复制数据的速度,这本身就很慢。我的意思是,我将修改kafka源代码以这样做,任何可能的问题?不,没有复制,但有主代理和从代理,因此在检测到主代理关闭时,从代理将为发布/订阅请求提供服务,它将从底层HDFS存储读取/写入数据。如果从属代理承担此工作,则它必须同步复制主题分区才能继续。另外,从hdfs读取和写入的速度不会达到卡夫卡的速度。记住这一点。从属代理只监视主代理(例如,zookeeper中的主寄存器本身等),如果主代理关闭,从属代理将从hdfs加载主题数据,因此不需要复制。我不知道您使用的代理是什么。没有执行用户定义代码并从hdfs加载的代理。你忘记了从hdfs复制数据的速度,这本身就很慢。我的意思是我会修改卡夫卡的源代码,这样做,有什么可能的问题吗?为什么你认为这不是一个好主意?这背后的想法是,由于复制可以依赖于HDFS,而卡夫卡基本上是附加的。因此,如果卡夫卡是基于HDFS构建的,那么代码可以简化。为什么你认为表现会更差?需要详细的解释,因为卡夫卡已经做到了你所说的。添加HDFS与简化某些内容完全相反。我没说表现会更糟。不管怎样,如果你想这么做,它是开源的,那就去吧。我只是问了你一个相当宽泛的问题,并给出了答案和我个人的意见\_(ツ)_/“我的意思是,因为HDFS已经进行了复制,所以如果可以在HDFS上修改卡夫卡,卡夫卡代码可以更简单。从体系结构级别看,您如何看待性能是否会更差或更好?卡夫卡和HDFS中的使用情况和存储要求根本不同。您可以阅读卡夫卡如何使用文件系统e:.HDFS在这种情况下没有任何意义。我知道并理解卡夫卡做得很好,因为我开发了一个与卡夫卡内部使用的类似的。为什么你认为HDFS在这里没有意义?为什么你认为这不是一个好主意?这背后的想法是,既然复制可以依赖于HDFS,而卡夫卡基本上只是附加。因此,如果kafka是基于HDFS构建的,那么代码可以简化。为什么您认为性能会更差?需要详细解释。因为kafka已经做到了您所说的。添加HDFS与简化某些内容完全相反。我没有说性能会更差。无论如何……如果您想做到这一点,它是开源的,请继续。我只是问了你一个相当宽泛的问题,并给出了答案和我个人的意见\_(ツ)_/“我的意思是,因为HDFS已经进行了复制,所以如果可以在HDFS上修改卡夫卡,卡夫卡代码可以更简单。从体系结构级别看,您如何看待性能是否会更差或更好?卡夫卡和HDFS中的使用情况和存储要求根本不同。您可以阅读卡夫卡如何使用文件系统e:.HDFS在这种情况下没有任何意义。我知道并理解卡夫卡做得很好,因为我开发了一个类似于卡夫卡内部使用的版本。为什么您认为HDFS在这里没有意义?您是否计划使用数据(使用Spark或Map Reduce)来自HDFS?是的,这也是一个计划。如果您使用Cloudera或Hortonworks运行Hadoop,您不必做很多事情,因为两家供应商都支持Kafka。默认情况下,它应该将数据存储到HDFS中。我的意思是基于Kafka的新的调整设计,不需要复制,也不需要从属代理。每个代理只向HDFS写入附加数据并执行sub/pub工作。失败后,master选择一个新的并继续工作。您是否计划使用数据(使用Spark或Map)-