elk之java连接es

1、创建Maven工程

  添加pom依赖,pom.xml代码如下:

<dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>5.5.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!-- 日志依赖 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.21</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.8.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.0</version>
        </dependency>

2.配置es配置文件并重启:

#集群名称
cluster.name: ES-TEST
#外网可以访问本地服务
network.host: 0.0.0.0
#客户端连接端口
transport.tcp.port: 9200
#http访问端口
http.port: 9100

3.创建连接es的工具类:

package com.xia.util;

import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class ConEsUtil {
    //客户端TransportClient对象
    private static TransportClient client = null;
    //es集群名称,必须和配置文件中的对应
    private static String clusterName = "my-es";
    //部署es服务器的ip
    private static String networkGost = "192.168.0.105";
    //es的port,注意不是http.host,是配置文件中的transport.tcp.port,默认9300.
    private static Integer transportTcpPort = 9200;

    /**
     * 创建es连接
     *
     * @return
     */
    public static TransportClient creatConEs() {
        if (null == client) {
            Settings settings = Settings.builder()
                    //嗅探功能
//                    .put("client.transport.sniff", true)
                    //集群名称
                    .put("cluster.name", clusterName)
                    .build();
            try {
                client = new PreBuiltTransportClient(settings)
                        //连接es端口
                        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(networkGost), transportTcpPort));
                System.out.println(".................连接成功!");
            } catch (UnknownHostException e) {
                System.out.println("1232123123");
            }
        }
        return client;
    }

    /**
     * 关闭连接
     */
    public static void closeConEs() {
        if (client != null) {
            client.close();
            client = null;
            System.out.println("........连接已关闭!");
        }
    }

}

猜你喜欢

转载自blog.csdn.net/a1148233614/article/details/80024983