0

我正在將我的應用程序的彈簧啓動版本更新到某個版本,以防我使用的是1.3.2版本,現在我正在遷移到1.4.3。所以我的Elasticsearch給出了以下錯誤。Elasticsearch不會在Spring Boot中初始化

2017-06-01 10:41:28.449 WARN 12480 --- [ I/O worker #1}] org.elasticsearch.transport.netty  : [Maxam] exception caught on transport layer [[id: 0x12666e2c, /192.168.1.9:63584 => /XXX.XXX.XXX.XXX:9300]], closing connection 

java.lang.NullPointerException: null 
    at org.elasticsearch.transport.netty.MessageChannelHandler.handleException(MessageChannelHandler.java:179) ~[elasticsearch-2.4.3.jar:2.4.3] 
    at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:174) ~[elasticsearch-2.4.3.jar:2.4.3] 
    at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:122) ~[elasticsearch-2.4.3.jar:2.4.3] 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [netty-3.10.6.Final.jar:na] 
    at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [netty-3.10.6.Final.jar:na] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_121] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_121] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] 

配置

@Configuration 
public class SearchConfiguration { 

    @Bean 
    public ElasticsearchOperations elasticsearchTemplate() throws Exception { 
     return new ElasticsearchTemplate(elasticsearchClient()); 
    } 

    @Bean 
    public Client elasticsearchClient() throws UnknownHostException { 

     Settings settings = Settings 
          .settingsBuilder() 
          .put("cluster.name", "production-1") 
          .build(); 

     InetAddress address = InetAddress.getByName("XXX.XXX.XXX.XXX"); 

     InetSocketTransportAddress transportAddress = new InetSocketTransportAddress(address, 9300); 

     return TransportClient 
       .builder() 
       .settings(settings) 
       .build() 
        .addTransportAddress(transportAddress); 

    } 

應用

@Configuration 
@ComponentScan(basePackages = { "br.com.projectx" }) 
@EnableAutoConfiguration 
@EnableAspectJAutoProxy(proxyTargetClass = true) 
@EnableElasticsearchRepositories(basePackages = { "br.com.projectx.devices.commands.search" }) 
@EnableRedisRepositories 
@EnableAsync 
public class Application { ... } 

POM

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.3.RELEASE</version> 
    </parent> 

    <artifactId>projectx-endpoint-devices-commands</artifactId> 
    <groupId>br.com.projectx</groupId> 
    <description>Commands Endpoints</description> 
    <version>1.0.0-SNAPSHOT</version> 



    <properties> 
     <main.basedir>${basedir}/../..</main.basedir> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-aop</artifactId> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-elasticsearch</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.amqp</groupId> 
      <artifactId>spring-rabbit</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-redis</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.google.cloud</groupId> 
      <artifactId>google-cloud-datastore</artifactId> 
      <version>0.8.1-beta</version> 
      <exclusions> 
       <exclusion> 
        <groupId>javax.servlet</groupId> 
        <artifactId>servlet-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>com.jmethods</groupId> 
      <artifactId>catatumbo</artifactId> 
      <version>1.1.3</version> 
      <exclusions> 
       <exclusion> 
        <groupId>javax.servlet</groupId> 
        <artifactId>servlet-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.quartz-scheduler</groupId> 
      <artifactId>quartz</artifactId> 
      <version>2.2.3</version> 
     </dependency> 

     <dependency> 
      <groupId>com.github.fge</groupId> 
      <artifactId>json-patch</artifactId> 
      <version>1.9</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-api</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-core</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.skyscreamer</groupId> 
      <artifactId>jsonassert</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.powermock</groupId> 
      <artifactId>powermock-module-junit4</artifactId> 
      <version>1.6.5</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.powermock</groupId> 
      <artifactId>powermock-core</artifactId> 
      <version>1.6.5</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.powermock</groupId> 
      <artifactId>powermock-api-mockito</artifactId> 
      <version>1.6.5</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>3.3.2</version> 
     </dependency> 
     <dependency> 
      <groupId>com.github.kstyrc</groupId> 
      <artifactId>embedded-redis</artifactId> 
      <version>0.6</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>redis.clients</groupId> 
      <artifactId>jedis</artifactId> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>${java.version}</source> 
        <target>${java.version}</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 

     <finalName>${project.artifactId}</finalName> 
    </build> 



</project> 
+0

請分享pom.xml。 –

+0

@ IssamEL-ATIF添加 –

+1

檢查所有elasticsearch實例(節點)是否已關閉並重新啓動您的應用程序。在ES中查看此問題https://github.com/elastic/elasticsearch/issues/14400 –

回答

相關問題