执行Observer时报错
ERROR [RS_OPEN_REGION-bdas02:16020-2] regionserver.RegionCoprocessorHost: Failed to load coprocessor com.jusfoun.data.DataSyncObserver
java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
at org.elasticsearch.threadpool.ThreadPool.<clinit>(ThreadPool.java:190)
at org.elasticsearch.client.transport.TransportClient$Builder.build(TransportClient.java:131)
at com.jusfoun.data.MyTransportClient.<clinit>(MyTransportClient.java:42)
at com.jusfoun.data.DataSyncObserver.start(DataSyncObserver.java:62)
at org.apache.hadoop.hbase.coprocessor.CoprocessorHost$Environment.startup(CoprocessorHost.java:414)
at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadInstance(CoprocessorHost.java:255)
原因:
guava版本冲突,es2.3.5依赖的guava18.0和hbase1.2.2所依赖的guava版本冲突。
解决:
<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.2.2</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions></dependency>