apache-kafka - Streamparse wordcount 示例

标签 apache-kafka apache-storm streamparse

我一直想使用 Apache Storm 从 Kafka 流式传输。我更喜欢 Python,所以我决定使用 streamparse (https://github.com/Parsely/streamparse)。字数统计示例是介绍性示例。我一直试图让它在我的本地机器上工作。我安装了以下版本的 JDK、lein 和storm:

Java 1.8.0_73 Java HotSpot(TM) 64 位服务器 VM 上的 Leiningen 2.6.1

在遵循 streamparse 之后,我运行以下步骤:

稀疏快速入门字数
光盘字数
稀疏运行

我收到以下错误:

从中央检索 org/apache/storm/storm-core/0.10.1/storm-core-0.10.1.pom
从中央检索 org/apache/storm/storm/0.10.1/storm-0.10.1.pom
从中央检索 org/apache/storm/storm-core/0.10.1/storm-core-0.10.1.jar
无法将工件 com.parsely:streamparse:pom:0.0.4-SNAPSHOT 从/转移到 clojars (https://clojars.org/repo/):sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security .provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
无法将工件 clojure-complete:clojure-complete:pom:0.2.4 从/转移到 clojars (https://clojars.org/repo/): sun.security.validator.ValidatorException: PKIX path building failed: sun.security .provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
这可能是由于 :dependencies 中的拼写错误或网络问题。
如果您使用代理,请尝试设置“http_proxy”环境变量。

我的 project.clj 文件如下所示:

(defproject 字数“0.0.1-SNAPSHOT”
:源路径[“拓扑”]
:resource-paths ["_resources"]
:目标路径“_build”
:min-lein-版本“2.6.1”
:jvm-opts ["-client"]
: 依赖 [[org.apache.storm/storm-core "0.10.1"]
[com.parsely/streamparse“0.0.4-SNAPSHOT”]
]
:jar-exclusions [#"log4j\.properties"#"backtype"#"trident"#"META-INF"#"meta-inf"#"\.yaml"]
:uberjar-exclusions [#"log4j\.properties"#"backtype"#"trident"#"META-INF"#"meta-inf"#"\.yaml"]
)

因此,我的 lein 和storm core 版本设置正确。我不确定我哪里出错了。有人可以帮帮我吗?

-谢谢

最佳答案

这是因为 java 无法识别 https://clojars.org/repo 的根证书颁发机构 (CA) SSL 证书。 .

解决方案是将该证书添加到 java cacerts 文件中,以便它被永久接受。

第一步:获取https://clojars.org的根证书

  • 打开https://clojars.org在 chrome 浏览器中。
  • 在地址栏旁边找到锁定符号并单击它。
  • 查看详情
  • 单击层次结构中最顶部的证书并确认它带有根 CA 短语。
  • 拖放您在桌面上看到书面证书的图像。

  • 就是这样!你得到了你的根证书!

    第 2 步:将该证书添加到 java cacerts 文件中。
  • 在 jre bin 文件夹中使用 keytool.exe。
  • 触发以下命令,将您的证书放入 cacerts 文件

  • keytool –import –noprompt –trustcacerts –alias ALIASNAME -file /PATH/TO/YOUR/DESKTOP/CertificateName.cer -keystore /PATH/TO/YOUR/JDK/jre/lib/security/cacerts -storepass changeit



    这就对了!你的问题解决了。

    请注意
  • 请确认给您此 PKIX 错误(KAFKA 使用的 JRE)的 jre 是您执行第 2 步的地方。如果您尝试处理另一个 jre 问题,那么它就是这样。
  • 只使用 JDK 中的一个 jre,它会减少出现问题的机会。
  • 关于apache-kafka - Streamparse wordcount 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37398179/

    相关文章:

    ios - 如何通过 Web 服务器作为中间层将 Kafka 消费者集成到移动应用程序?

    java - 带有 Zookeeper 的 Kafka 3.5.7 崩溃 NoSuchMethodError : java. nio.ByteBuffer.flip()

    apache-kafka - 如何使用Kafka 0.10获得Kafka滞后?

    java - 如何对 Storm 拓扑进行单元测试?

    java - 如何在 Intellij IDEA 中构建和运行 Storm Topology

    apache-storm - Storm 场分组

    apache-kafka - Kafka 从提交失败异常中恢复