Streamparse wordcount示例
我一直想用阿帕奇风暴从卡夫卡stream。 我更喜欢Python,所以我决定使用streamparse( https://github.com/Parsely/streamparse )。 字数统计的例子就是介绍性的例子。 我一直在试图让它在我的本地机器上工作。 我已经安装了以下版本的JDK,lein和storm:
Leiningen 2.6.1,Java 1.8.0_73 Java HotSpot(TM)64位服务器虚拟机
我遵循streamparse后运行以下步骤:
稀疏快速启动wordcount 裁谈会wordcount 稀疏运行
我得到以下错误:
从中央检索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:PKIXpath构build失败:sun.security .provider.certpath.SunCertPathBuilderException:无法find有效的证书path到请求的目标 无法传输工件clojure-complete:clojure-complete:pom:0.2.4从/到clojars(https://clojars.org/repo/):sun.security.validator.ValidatorException:PKIXpath构build失败:sun.security .provider.certpath.SunCertPathBuilderException:找不到要求的目标的有效证书path 这可能是由于:依存关系或networking问题。 如果您位于代理之后,请尝试设置“http_proxy”环境variables。
我的project.clj文件如下所示:
(defproject wordcount“0.0.1-SNAPSHOT” :源path[“拓扑”] :resource-paths [“_resources”] :目标path“_build” :min-lein-version“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和风暴核心版本设置正确。 我不知道我哪里错了。 有人能帮我吗?
-谢谢
这是因为java不能识别https://clojars.org/repo的根证书颁发机构(CA)SSL证书。;
解决scheme是将该证书添加到java cacerts文件,以便它被永久接受。
第1步:获取https://clojars.org的根证书;
- 在Chrome浏览器中打开https://clojars.org 。
- find除地址栏之外的locking符号并点击它。
- 查看详情
- 点击最上面的层次结构证书,并确认它与根CA句组尾。
- 拖放您在桌面上看到书面证书的图像。
而已! 你有你的根证书!
第2步:获取证书添加到Java cacerts文件。
- 在你的jre bin文件夹中使用keytool.exe。
- fire下面的命令将你的证书放入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错误的JRE(由KAFKA使用的JRE),这是你正在执行STEP 2的地方。如果你尝试使用另一个JRE问题,它将会保持原样。
-
请仅使用JDK内部的一个jre,从而减less遇到问题的机会。
如果您使用的是debian或ubuntu,您可以执行:
$ sudo update-ca-certificates -f