You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

StormCrawler与Hortonworks 1.1.0.2.6.4.0-91的Commons Logging版本冲突问题

解决StormCrawler FetcherBolt的NoSuchMethodError异常

这个问题我遇过好几次了,本质是commons-logging版本冲突搞的鬼。你的Hortonworks集群Storm版本1.1.0.2.6.4.0-91自带的commons-logging版本,和StormCrawler依赖的版本不兼容,导致org.apache.commons.logging.impl.LogFactoryImpl.handleThrowable(Ljava/lang/Throwable;)V这个方法找不到。

下面是具体的解决步骤:

  • 排除项目中冲突的commons-logging依赖
    打开你的项目pom.xml,找到StormCrawler核心依赖的配置块,添加排除规则,强制让项目使用Storm集群自带的commons-logging版本:

    <dependency>
        <groupId>com.digitalpebble.stormcrawler</groupId>
        <artifactId>storm-crawler-core</artifactId>
        <version>你使用的StormCrawler版本</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • 验证依赖树,确保无冲突
    执行Maven命令查看依赖树,确认commons-logging只来自Storm的依赖,没有其他版本:

    mvn dependency:tree | grep commons-logging
    
  • 重新打包并提交Topology
    用mvn clean package重新生成Jar包,然后用Storm命令提交:

    storm jar your-topology.jar com.your.package.YourTopologyClass
    

不管是本地模式还是分布式模式,这样处理后都能解决这个方法找不到的异常——因为现在项目会优先使用Storm集群自带的兼容版本的commons-logging,避免了版本不一致的问题。

内容的提问来源于stack exchange,提问作者chans.best

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:25:59