Debian安装和使用Elasticsearch 8.9

命令行通过 .deb 包安装 Elasticsearch

创建一个新用户

bash 复制代码
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客户端

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;

/**
 * <a href="https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/connecting.html#_verifying_https_with_a_certificate_fingerprint">Verifying HTTPS with a certificate fingerprint</a>
 */
public class MEElastic {
    /**
     * The SHA-256 fingerprint of the certificate used to sign the Elasticsearch server certificate.
     * <p>
     * come from <a href="https://security.stackexchange.com/a/14345">What is the actual value of a certificate fingerprint?</a>
     */
    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

java 复制代码
@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();
}
相关推荐
Elastic 中国社区官方博客25 分钟前
我们如何在 Elasticsearch Serverless 上将向量搜索吞吐量提升一倍
大数据·数据库·人工智能·elasticsearch·搜索引擎·云原生·serverless
愤怒的苹果ext3 小时前
Flink同步到ES时间遇到的问题
elasticsearch·flink·时间
共享家95273 小时前
OpenClaw核心功能
大数据·elasticsearch·搜索引擎
醉颜凉6 小时前
实战教程:如何使用 Kibana 对 Elasticsearch 数据进行可视化和操作(从入门到精通)
大数据·elasticsearch·jenkins
oioihoii6 小时前
CentOS 7单机部署Elasticsearch:这些坑和关键配置,生产环境踩过才知道
linux·elasticsearch·centos
Elastic 中国社区官方博客6 小时前
Kibana 仪表板即代码:在 Elastic 9.4 中用于 Kibana 仪表板的 GitOps、漂移检测与 Terraform
大数据·人工智能·elasticsearch·搜索引擎·云原生·kibana·terraform
MemoriKu8 小时前
【端侧 AI 部署】MobileCLIP 导出 ONNX/TFLite 并发布到 Hugging Face 的完整实践
大数据·人工智能·elasticsearch·搜索引擎·重构·开源
逸Y 仙X8 小时前
文章五:Elasticsearch安全通信
java·大数据·安全·elasticsearch·搜索引擎·全文检索·jenkins
garmin Chen10 小时前
Elasticsearch(2):JavaRestClient操作Elasticsearch全流程实战指南
java·大数据·elasticsearch·搜索引擎
不做无法实现的梦~1 天前
git指令速查
大数据·elasticsearch·搜索引擎