elasticSearch7.x創建索引庫,解決高版本es無法使用InetSocketTransportAddress


使用java創建索引庫,es7舍棄了InetSocketTransportAddress,需要替換成TransportAddress,另外如果報錯NoNodeAvailableException的原因是es的版本不一致,需要保證maven的依賴版本和服務器es版本一致。

es7.x創建索引庫

@Test
    public void createIndex() throws Exception {
        // 1.創建一個Settings對象
        Settings settings = Settings.builder().put("cluster.name", "my-elasticsearch").build();

        // 2.創建一個客戶端Client對象,需要在傳入setting為empty
        TransportClient client = new PreBuiltTransportClient(settings.EMPTY);
        // 指定集群中節點的列表
        client.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9301));
        client.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9302));
        client.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9303));
       

        // 3.使用client對象創建一個索引庫,索引庫名稱為arm(前面為設置,get()為執行操作)
        client.admin().indices().prepareCreate("arm").get();

        // 關閉client對象
        client.close();
    }

對比一下老版本es5.x 創建索引庫

 @Test
    public void createIndex() throws Exception {
        // 1.創建一個Settings對象
        Settings settings = Settings.builder().put("cluster.name", "my-elasticsearch").build();

        // 2.創建一個客戶端Client對象
        TransportClient client = new PreBuiltTransportClient();
        // 指定集群中節點的列表
 
        client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), 9303));

        // 3.使用client對象創建一個索引庫,索引庫名稱為arm(前面為設置,get()為執行操作)
        client.admin().indices().prepareCreate("arm").get();

        // 關閉client對象
        client.close();
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM