springboot2.1.0整合elasticsearch一個小
阿新 • • 發佈:2018-11-29
<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就好了 允悲臉