1. 程式人生 > >springboot2.1.0整合elasticsearch一個小

springboot2.1.0整合elasticsearch一個小

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    <version>${spring.boot.version}</version>
</dependency>
# ELASTICSEARCH (ElasticsearchProperties)
#注意java的es預設連線埠是9300,9200是http埠,這兩個在使用中應注意區分
spring.data.elasticsearch.cluster-name=ELK
spring.data.elasticsearch.cluster-nodes=192.168.1.129:19201
spring.data.elasticsearch.repositories.enabled=true

然後啟動一直報錯
java.lang.IllegalStateException: availableProcessors is already set to [12], rejecting [12]

谷歌上說是因為redis的netty和es的netty不一致,然後我全域性統一netty版本,結果還是不行,然後把redis的配置改成config手動配置,依舊失敗。移除redis還是不行。。
有一個方法說

public static void main(String[] args) {
		/**
		 * Springboot整合Elasticsearch 在專案啟動前設定一下的屬性,防止報錯
		 * 解決netty衝突後初始化client時還會丟擲異常
		 * java.lang.IllegalStateException: availableProcessors is already set to [12], rejecting [12]
		 */
		System.setProperty("es.set.netty.runtime.available.processors", "false");
		SpringApplication.run(CamphorCloudApplication.class, args);
	}

加上了確實沒有報錯了,但是一個空專案啟動要30s,而且五分鐘後依舊會有警告資訊,提示節點失敗

最後把
spring.data.elasticsearch.cluster-nodes=192.168.1.129:9300
埠號改成9300就好了 允悲臉