当前位置: 首页 > news >正文

【Elasticsearch】-7.17.24版本接入

官网 https://www.elastic.co/cn/downloads/elasticsearch

本项目基于windows环境下,其他环境操作类似

1、初始化配置

打开config/elasticsearch.yaml

添加如下配置

cluster.name: dams_clusternetwork.host: 127.0.0.1
http.port: 9200# 不开启geo数据库
ingest.geoip.downloader.enabled: false# 设置访问账号密码
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: false 

2、设置访问密码

使用elasticsearch提供的内置工具

2.1、手动设置密码

bin/elasticsearch-setup-passwords interactive

2.2、自动分配密码

密码配置需要elasticsearch处于运行状态,否则执行失败

bin/elasticsearch-setup-passwords auto

其中,用户权限分别如下:

  • elastic 账号:拥有 superuser 角色,是内置的超级用户。
  • kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
  • logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。

2.3、修改密码

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

2.4、带密码查询

curl -XGET --user user:passwd 'http://XXXX:9200/XX/XXX'

3、Java客户端连接

官方Java接入说明 

3.1、pom依赖

 <properties><es.version>7.17.24</es.version></properties><dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>${es.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.17.0</version></dependency><dependency><groupId>jakarta.json</groupId><artifactId>jakarta.json-api</artifactId><version>2.0.1</version></dependency>

 3.2、初始化连接

import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
import org.elasticsearch.client.RestClient;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.io.IOException;
import java.util.Map;/*** 初始化服务,可以对外*/public synchronized ElasticsearchClient init(EsConfig esConfig) {if (null != esClient) {return esClient;}final BasicCredentialsProvider credential = new BasicCredentialsProvider();// 配置身份验证if (esConfig.openAuth()) {credential.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(esConfig.getLoginName(), esConfig.getPassword()));}RestClient restClient = RestClient.builder(new HttpHost(esConfig.getIp(), esConfig.getPort(), esConfig.getScheme())).setRequestConfigCallback(requestConfigBuilder -> {// 设置连接超时和请求超时return requestConfigBuilder.setConnectTimeout(5000)    // 连接超时时间.setSocketTimeout(60000)    // 套接字超时时间.setConnectionRequestTimeout(1000); // 请求超时时间}).setHttpClientConfigCallback(httpClientBuilder -> {// 设置 keep-alive 策略return httpClientBuilder.setDefaultCredentialsProvider(credential).setKeepAliveStrategy(DefaultConnectionKeepAliveStrategy.INSTANCE);}).build();ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());// And create the API clientesClient = new ElasticsearchClient(transport);return esClient;}

http://www.lryc.cn/news/440469.html

相关文章:

  • ShouldSniffAttr在自动化测试中具体是如何应用?
  • 前端vue3打印,多页打印,不使用插件(工作中让我写一个打印功能)
  • 传感技术是如何实现实时监测和控制的呢
  • 为什么mac打不开rar文件 苹果电脑打不开rar压缩文件怎么办
  • linux下日志系统setvbuf接口及结构体 handle_file_t成员介绍
  • ESP8266+httpServer+GET+POST实现网页验证密码
  • git仓库修改ip,本地代码修改
  • 轻便灵活,声学卓越,流动会场创新应用—轻空间
  • 13 Midjourney从零到商用·进阶篇:灯光、角度与风格等精细控制方法
  • 为什么要把raw转成yuv
  • 基于双向RRT算法的三维空间最优路线规划matlab仿真
  • 若依-原理
  • 台球厅灯控系统如何布线 佳易王桌球计时计费管理系统操作教程
  • 安卓将本地日志上传到服务器
  • FloodFill(洪水灌溉)算法专题——DFS深搜篇
  • 直播标准权威发布,阿里云RTS获首批卓越级评估认证
  • iOS 知识点记录
  • C++系列-STL中搜索相关算法
  • 5.C++程序中的注释
  • com.kingbase8.util.KSQLException: ERROR: permission denied for table xxx
  • 开发小程序
  • JS考核答案
  • 高德地图2.0 绘制、编辑多边形覆盖物(电子围栏)
  • MySQL底层为什么选择用B+树作为索引
  • MATLAB系列05:自定义函数
  • C++速通LeetCode简单第20题-多数元素
  • 回收站永久删除的文件还能恢复吗?教你恢复技巧
  • Python Web 微服务架构全面解析与实战指南
  • SEAFARING靶场漏洞攻略
  • ROS 编程入门的介绍