Debian安装和使用Elasticsearch 8.9

命令行通过 .deb 包安装 Elasticsearch

Debian安装和使用Elasticsearch 8.9_第1张图片

创建一个新用户

adduser elastic --> rust
# 添加sudo权限
# https://phoenixnap.com/kb/how-to-create-sudo-user-on-ubuntu
usermod -aG sudo elastic
groups elastic

下载Elasticsearch v8.9.0 Debian 包

https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html#install-deb

Elasticsearch: 初学者指南

https://medium.com/@animeshblog/elasticsearch-the-beginners-cookbook-1cf30f98218

快速开始

主要参考:Verifying HTTPS with a certificate fingerprint

创建 Elasticsearch Java客户端

package org.elastic.service.es;

import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.TransportUtils;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.elasticsearch.client.RestClient;

import javax.net.ssl.SSLContext;

/**
 * Verifying HTTPS with a certificate fingerprint
 */
public class MEElastic {
    /**
     * The SHA-256 fingerprint of the certificate used to sign the Elasticsearch server certificate.
     * 

* come from What is the actual value of a certificate fingerprint? */ private static final String fingerprint = "2c895506b07083da7299656fa7fc4b433c3e26c03cf1a99eef23c537711b6e6e"; private static final String esUsername = "elastic"; private static final String esPassword = "k_*t_arOy7RF6EQVL-QA"; private RestClient elasticsearchRestClient() { SSLContext sslContext = TransportUtils .sslContextFromCaFingerprint(fingerprint); BasicCredentialsProvider credsProv = new BasicCredentialsProvider(); credsProv.setCredentials( AuthScope.ANY, new UsernamePasswordCredentials(esUsername, esPassword) ); return RestClient .builder(new HttpHost("127.0.0.1", 9200, "https")) .setHttpClientConfigCallback(hc -> hc .setSSLContext(sslContext) .setDefaultCredentialsProvider(credsProv) .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) ) .build(); } public ElasticsearchClient elasticsearchClient() { // Create the transport and the API client ElasticsearchTransport transport = new RestClientTransport(elasticsearchRestClient(), new JacksonJsonpMapper()); return new ElasticsearchClient(transport); } }

测试ElasticsearchClient

@Test
void elasticsearchClient() throws IOException {
    MEElastic meElastic = new MEElastic();
    ElasticsearchClient esClient = meElastic.elasticsearchClient();
    GetIndexResponse rsp = esClient.indices().get(request -> request.index("test"));
    System.out.println(rsp);
    esClient._transport().close();
}

你可能感兴趣的:(debian,elasticsearch)