将 Kafka 客户端从 0.8.2.0 升级到 0.11.0.0
Upgrading Kafka client from 0.8.2.0 to 0.11.0.0
目前,在我的公司,我们正在从 Kafka 0.8 迁移到 0.11,代理迁移步骤并在 kafka 文档中明确说明 here
我遇到的问题是,升级 kafka 客户端(生产者、消费者、spark-streaming),我没有找到任何文档/文章清楚地列出升级所需的更改或步骤客户,我找到的只是 java 文档 Producer Client
到目前为止,我所做的是将 gradle 中的 kafka 客户端版本更改为 kafka-clients-0.11.0.0
,从编译的角度来看一切都很好,根本没有代码更改。
我寻求帮助的是,有没有我应该注意的预期问题,除了 kafka-client 版本之外的客户端更改的任何指针?
为了完成这个我做了很多实验。
对于消费者和生产者,我只是使用kafka消费者和生产者0.11.0。
技巧部分是替换 spark-streaming,spark-streaming 最新版本仅支持 kafka 0.10.X,其中不包含与新代理相关的任何更新。
我在这里推荐的是,如果您打算从头开始编写应用程序并且您的主要目标是实时流式传输,请选择 kafka-streaming API,这太棒了!如果您已经拥有spark streaming 应用程序(这是我的情况),你应该判断哪个比另一个更重要是否会陷入 kafka-broker 版本 10.X 和 spark-streaming 这是 [experimental][1]
顺便说一句。
在 kafka 内部进行流式传输的好处不引发以下问题:
- Kafka streaming 是一个普通的 jar,可以注入到任何 java 应用程序中,因此您不必太在意部署和环境
- Auto-scaling 使用 kafka-streaming 使用任何云服务提供商提供的任何规模集时非常容易,这与扩展 HDP 集群不同。
- 使用 prometheus 之类的工具进行监控会容易得多。
目前,在我的公司,我们正在从 Kafka 0.8 迁移到 0.11,代理迁移步骤并在 kafka 文档中明确说明 here
我遇到的问题是,升级 kafka 客户端(生产者、消费者、spark-streaming),我没有找到任何文档/文章清楚地列出升级所需的更改或步骤客户,我找到的只是 java 文档 Producer Client
到目前为止,我所做的是将 gradle 中的 kafka 客户端版本更改为 kafka-clients-0.11.0.0
,从编译的角度来看一切都很好,根本没有代码更改。
我寻求帮助的是,有没有我应该注意的预期问题,除了 kafka-client 版本之外的客户端更改的任何指针?
为了完成这个我做了很多实验。
对于消费者和生产者,我只是使用kafka消费者和生产者0.11.0。
技巧部分是替换 spark-streaming,spark-streaming 最新版本仅支持 kafka 0.10.X,其中不包含与新代理相关的任何更新。
我在这里推荐的是,如果您打算从头开始编写应用程序并且您的主要目标是实时流式传输,请选择 kafka-streaming API,这太棒了!如果您已经拥有spark streaming 应用程序(这是我的情况),你应该判断哪个比另一个更重要是否会陷入 kafka-broker 版本 10.X 和 spark-streaming 这是 [experimental][1]
顺便说一句。
在 kafka 内部进行流式传输的好处不引发以下问题:
- Kafka streaming 是一个普通的 jar,可以注入到任何 java 应用程序中,因此您不必太在意部署和环境
- Auto-scaling 使用 kafka-streaming 使用任何云服务提供商提供的任何规模集时非常容易,这与扩展 HDP 集群不同。
- 使用 prometheus 之类的工具进行监控会容易得多。