我一直想使用 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
我在执行流解析后运行以下步骤:
稀疏快速启动字数统计 光盘字数 稀疏运行
我收到以下错误:
从中央检索 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:无法找到请求目标的有效证书路径 无法从 clojars (https://clojars.org/repo/) 传输工件 clojure-complete:clojure-complete:pom:0.2.4:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security .provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径 这可能是由于 :dependency 中的拼写错误或网络问题造成的。 如果您使用代理,请尝试设置“http_proxy”环境变量。
我的project.clj 文件如下所示:
(defproject 字数“0.0.1-SNAPSHOT” :源路径[“拓扑”] :资源路径 ["_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
文件中,以便它被永久接受。
步骤:
mmc
工具导出此根证书:
mmc
工具
keytool -importcert –noprompt -file %PATH_TO_EXPORTED_CERTIFICATE% -keystore %PATH_TO_SAVE_CACERTS% -alias "%CACERTS_ALIAS%"
-vmargs
行下方,检查
-Djavax.net.ssl.trustStore
和
-Djavax.net.ssl.trustStoreType
的值,它们定义了导出的
CACERTS
的路径
$ sudo update-ca-certificates -f