解决kafka connect 启动报错 java.lang.NoSuchMethodError: com.google.common.collect.Sets$SetView.iterator()
2018-11-23 13:17
1036 查看
报错
./bin/connect-distributed.sh ./config/connect-distributed.properties
./bin/connect-standalone.sh ./bin/connect-standalone.sh ./config/connect-file-source.properties ./config/connect-file-sink.properties
[2018-11-23 12:40:21,101] ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectDistributed:117) java.lang.NoSuchMethodError: com.google.common.collect.Sets$SetView.iterator()Lcom/google/common/collect/UnmodifiableIterator; at org.reflections.Reflections.expandSuperTypes(Reflections.java:380) at org.reflections.Reflections.<init>(Reflections.java:126) at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader$InternalReflections.<init>(DelegatingClassLoader.java:410) at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:310) at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:244) at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initPluginLoader(DelegatingClassLoader.java:192) at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:185) at org.apache.kafka.connect.runtime.isolation.Plugins.<init>(Plugins.java:61) at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:74)
解决
根本原因是CLASSPATH中首先找到的guava版本比较低。
直接原因是本机上之前配过了hadoop 环境,首先找到的是hadoop classpath 中包含有比较低版本的guava jar包,从而找到的不是kafka libs下自带的guava,如果手动一个一个地去把hadoop classpath中的guava去掉 或者换成高版本的(guava-20.0.jar以上),然后还会报java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties() 等错误,也是一样的原因,hadoop classpath中相关的包版本过低,还得一个有一个去解决。
一步到位的方法是,unzet CLASSPATH , 注意这样做之后,如果要搭建其他组件的时候 CLASSPATH 记得需要再配一下。
阅读更多相关文章推荐
- java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet()异常解决思路
- 解决storm整合kafka遇到的:java.lang.NoClassDefFoundError: com/google/common/base/Strings
- 如何解决sikuli-ide: java.lang.NoClassDefFoundError: com/google/common/collect/MapMaker
- JBOSS报错:com.google.common.collect.ComputationException: java.lang.ArrayIndexOutOfBoundsException: 3
- Storm之——Storm整合kafka:java.lang.NoClassDefFoundError: com/google/common/base/Strings
- Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Lists
- strom和kafka整合报java.lang.ClassNotFoundException: com.google.common.base.Strings异常
- Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/Maps
- java.lang.NoSuchMethodError: com.google.common.hash.HashFunction.hashInt(I)Lcom/google/common/hash/HashCode; 解决办法
- Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function问题解决
- 浏览器启动不起来java.lang.NoClassDefFoundError: com/google/common/base/Function
- 【软件测试】Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet
- Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/common/base/Function : Unsupported major.minor version 52.0的解决办法(图文详解)
- Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function问题解决
- java.lang.NoClassDefFoundError: com/google/common/reflect/Invokable
- Exception in thread “main” java.lang.NoClassDefFoundError: com/google/common/base/Preconditions
- HBASE: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>
- 服务器端java.lang.NoClassDefFoundError: com/google/gson/Gson错误的解决
- 解决Android使用GSON时报错 java.lang.NoClassDefFoundError: com.google.gson.Gson
- elasticsearch client 为空 错误信息:java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor