这可能是因为从httpclient库继承的commons日志版本与Apache Storm的Hortonworks版本放在类路径上的版本之间存在冲突。
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.5.3:compile
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.4.6:compile
[INFO] | +- commons-logging:commons-logging:jar:1.2:compile
[INFO] | \- commons-codec:commons-codec:jar:1.9:compile
您可以通过设置
http.protocol.implementation: "com.digitalpebble.stormcrawler.protocol.okhttp.HttpProtocol"
https.protocol.implementation: "com.digitalpebble.stormcrawler.protocol.okhttp.HttpProtocol"
在crawler-conf.yaml文件中。请注意,这并不保证对commons日志的调用不会在其他地方发生。理想情况下,您希望解决依赖性问题,例如确保Hortonworks使用与StormCrawler所需版本相同的版本。我们只支持Storm的Apache发行版。