亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Elasticsearch TransportClient 連接 [Java]

Elasticsearch TransportClient 連接 [Java]

隔江千里 2023-03-31 16:59:52
我在使用Maven 的Java 項目中使用Elasticsearch:... <elasticsearch.version>6.7.0</elasticsearch.version>...    <!-- Elasticsearch -->    <dependency>        <groupId>org.elasticsearch</groupId>        <artifactId>elasticsearch</artifactId>        <version>${elasticsearch.version}</version>    </dependency>    <dependency>        <groupId>org.elasticsearch.client</groupId>        <artifactId>transport</artifactId>        <version>${elasticsearch.version}</version>    </dependency>    <dependency>        <groupId>org.elasticsearch.plugin</groupId>        <artifactId>transport-netty4-client</artifactId>        <version>${elasticsearch.version}</version>    </dependency>    <dependency>        <groupId>org.apache.logging.log4j</groupId>        <artifactId>log4j-to-slf4j</artifactId>        <version>2.8.2</version>    </dependency>    <!-- Elasticsearch -->        當我嘗試初始化 TransportClient 以便為文檔編制索引時,出現錯誤:    NoNodeAvailableException[None of the configured nodes are available:     [{#transport#-1}{BHMBbfcrSUOM_Pyaf1LcnA}{localhost}{127.0.0.1:9300}]]也許需要在 config/elasticsearch.yaml 中添加更多關于傳輸的信息,或者當前配置是錯誤的。Java代碼:    TransportAddress address;    TransportClient client;    Settings settings;    try {        address = new TransportAddress(InetAddress.getByName("localhost"), 9300);        settings = Settings                    .builder()                    .put("cluster.name", "lib2life")                    .put("client.transport.sniff", true)                    .build();        /* Initiate Transport Client */        client = new PreBuiltTransportClient(settings)                    .addTransportAddress(address);    }
查看完整描述

2 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

我解決了這個問題。問題是我使用的是帶有 TransportClient 的 Elasticsearch 6.7.0 版本,它已被棄用并被 RestHighLevelClient 取代。此外,我必須使用端口 9200 并取消注釋 http.port: 9200 和 discovery.seed_hosts: ["host1", "host2"] from elasticsearch.yaml



查看完整回答
反對 回復 2023-03-31
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

問題在于您的端口配置,您正在使用端口9300進行 REST 調用,該端口實際上用于 elasticsearch 集群中的節點間通信。請更改下面的 java 代碼以使用該端口9200

address?=?new?TransportAddress(InetAddress.getByName("localhost"),?9200);
查看完整回答
反對 回復 2023-03-31
  • 2 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號