原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/setup-xpack-client.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/setup-xpack-client.html

配置X-Pack的Java客户端

在 7.0.0 版本中废弃。

TransportClient 已被废弃,取而代之的是Java 高级 REST 客户端,并将在 Elasticsearch 8.0 中被移除。 迁移指南 描述了迁移所需的所有步骤。

如果您想在安装了 X-Pack 的集群上使用 Java 传输客户端,那么你必须下载并配置X-Pack传输客户端。

  1. 将 X-Pack transport JAR 文件添加到 CLASSPATH 中。 你可以下载 X-Pack 发行版并手动提取 JAR 文件,也可以从 Elasticsearch Maven 仓库 中获取。 与任何依赖项一样,你也需要它的可传递依赖项。 下载供离线使用时,请参考 对应你的版本的 X-Pack POM 文件
  2. 如果你使用的是 Maven,那么需要将 X-Pack JAR 文件作为一个依赖项添加到项目的 pom.xml 文件中:

    <project ...>
         <repositories>
         <!-- add the elasticsearch repo -->
          <repository>
             <id>elasticsearch-releases</id>
             <url>https://artifacts.elastic.co/maven</url>
             <releases>
              <enabled>true</enabled>
             </releases>
             <snapshots>
                <enabled>false</enabled>
             </snapshots>
          </repository>
          ...
       </repositories>
       ...
    
       <dependencies>
          <!-- add the x-pack jar as a dependency -->
          <dependency>
             <groupId>org.elasticsearch.client</groupId>
             <artifactId>x-pack-transport</artifactId>
                  <version>{version}</version>
          </dependency>
          ...
       </dependencies>
       ...
    
    </project>
  3. 如果你使用的是 Gradle,你需要将 X-Pack JAR 文件作为一个依赖项添加到 build.gradle 文件中:

    repositories {
      /* ... Any other repositories ... */
    
      // Add the Elasticsearch Maven Repository
      maven {
        name "elastic"
        url "https://artifacts.elastic.co/maven"
      }
    }
    
    dependencies {
      compile "org.elasticsearch.client:x-pack-transport:{version}"
    
      /* ... */
    }
  4. 如果你在公司内使用 Nexus OSS 等存储库管理器,你需要按照下面的屏幕截图添加存储库:

    Adding the Elastic repo in Nexus

    然后,如果使用 maven,在项目的 pom.xml 中添加以下存储库和依赖项定义:

    <dependencies>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>x-pack-transport</artifactId>
            <version>{version}</version>
        </dependency>
    </dependencies>
    
    <repositories>
        <repository>
            <id>local-nexus</id>
            <name>Elastic Local Nexus</name>
            <url>http://0.0.0.0:8081/repository/elasticsearch/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
      </repositories>
  5. 如果你使用了 Elastic Stack 的安全功能,还有更多的配置步骤。 参考 Java 客户端和安全