ElasticSearch添加xpack认证

一、新增xpack依赖包
由于xpack包需要从es的私服仓库下载,在data-platform-parent工程下的pom.xml新增如下:

<properties><x-pack-transport.version>5.5.3</x-pack-transport.version>
</properties><repositories><repository><id>elasticsearch-releases</id><url>https://artifacts.elastic.co/maven</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository>
</repositories><dependencyManagement><dependencies><dependency><groupId>org.elasticsearch.client</groupId><artifactId>x-pack-transport</artifactId><version>${x-pack-transport.version}</version></dependency></dependencies>
</dependencyManagement>

二、 在其他工程中引用
以bus为例,在message-bus工程pom.xml新增如下:

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>x-pack-transport</artifactId>
</dependency>

 然后 进入工程 执行

mvn clean install -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

 三、es整合xpack实现
application.yml 配置
由于需要整合xpack,则需要重新申明es client,由于原来是直接整合springboot,则去掉application.yml中es配置:

新增如下配置 

#自定义常量,先定义,后复用
framework:#es配置elasticsearch:#es 集群名#cluster-name: es-clustercluster-name: docker-cluster#es tcp的端口 多个用逗号隔开 192.168.81.5:9300,192.168.81.5:9300cluster-nodes-tcp: 192.168.6.77:9300#cluster-nodes-tcp: 192.168.81.6:9310#es http的端口 多个用逗号隔开 192.168.81.5:9200,192.168.81.5:9200#cluster-nodes-http: 192.168.81.5:9200#是否启用xpack认证xpack-security-enable: falsexpack-security-user-pwd: elastic:linewell@2019xpack-security-transport-ssl-enable: truexpack-security-transport-ssl-certificate-authorities: classpath:cert/ca.crtxpack-security-transport-ssl-key: classpath:cert/elasticsearch.keyxpack-security-transport-ssl-certificate: classpath:cert/elasticsearch.crt

 说明:如果不需要xpcak认证,则只需要将设置 xpack-security-enable: false

要重新申明es client,重新初始化TransportClient 以及ElasticsearchTemplate
具体实现如下: 

@Configuration
public class ElasticsearchClientConfig {@Value("${framework.elasticsearch.cluster-name:}")private String clusterName;@Value("${framework.elasticsearch.cluster-nodes-tcp:}")private String tcpClusterNodes;@Value("${framework.elasticsearch.xpack-security-enable:false}")private boolean xpackSecurityEnable;@Value("${framework.elasticsearch.xpack-security-user-pwd:}")private String xpackSecurityUserPwd;@Value("${framework.elasticsearch.xpack-security-transport-ssl-enable:false}")private boolean xpackSecurityTsslEnable;@Value("${framework.elasticsearch.xpack-security-transport-ssl-certificate-authorities:classpath:cert/ca.crt}")private String xpackSecurityTsslAuthoritiesCert;@Value("${framework.elasticsearch.xpack-security-transport-ssl-key:classpath:cert/elasticsearch.key}")private String xpackSecurityTsslKey;@Value("${framework.elasticsearch.xpack-security-transport-ssl-certificate:classpath:cert/classpath:cert/elasticsearch.crt}")private String xpackSecurityTsslCert;@Beanpublic TransportClient transportClient() throws Exception  {System.setProperty("es.set.netty.runtime.available.processors", "false");Settings.Builder SettingsBuilder = Settings.builder().put("cluster.name", clusterName).put("xpack.security.enabled", xpackSecurityEnable);//.put("client.transport.sniff", true) //使客户端去嗅探整个集群的状态,把集群中其它机器的ip地址加到客户端中。这样做的好处是,一般你不用手动设置集群里所有集群的ip到连接客户端,它会自动帮你添加,并且自动发现新加入集群的机器。//开启xpack认证if(xpackSecurityEnable) {//认证账号/密码SettingsBuilder.put("xpack.security.user", xpackSecurityUserPwd);//开启ssl认证协议if (xpackSecurityTsslEnable) {File authoritiesCertFile = ResourceUtils.getFile(xpackSecurityTsslAuthoritiesCert);File esTransportKeyFile = ResourceUtils.getFile(xpackSecurityTsslKey);File esTransportCerFile = ResourceUtils.getFile(xpackSecurityTsslCert);SettingsBuilder//是否开启ssl认证协议.put("xpack.security.transport.ssl.enabled", xpackSecurityTsslEnable)//ssl证书模式.put("xpack.security.transport.ssl.verification_mode", "certificate")//ssl身份认证证书.put("xpack.security.transport.ssl.certificate_authorities", authoritiesCertFile.getPath())//ssl key.put("xpack.security.transport.ssl.key", esTransportKeyFile.getPath())//ssl 认证证书.put("xpack.security.transport.ssl.certificate", esTransportCerFile.getPath());}}TransportClient client = new PreBuiltXPackTransportClient(SettingsBuilder.build());String[] tcpClusterNodesArr = tcpClusterNodes.split(",");for (String nodes : tcpClusterNodesArr) {String InetSocket [] = nodes.split(":");String address = InetSocket[0];Integer port = Integer.valueOf(InetSocket[1]);client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(address), port));}return client;}@Beanpublic ElasticsearchTemplate elasticsearchTemplate() throws  Exception {return new ElasticsearchTemplate(transportClient());}}

 其他代码保持不变即可。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1523240.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构基本知识

一、什么是数据结构 1.1、组织存储数据 ---------》内存&#xff08;存储&#xff09; 1.2、研究目的 如何存储数据&#xff08;变量&#xff0c;数组....)程序数据结构算法 1.3、常见保存数据的方法 数组&#xff1a;保存自己的数据指针&#xff1a;是间接访问已经存在的…

摄影竞赛系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;教师管理&#xff0c;学生管理&#xff0c;辅导员管理&#xff0c;项目信息管理&#xff0c;作品信息管理&#xff0c;留言板管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#…

【Leetcode】1-5

1 两数之和 1. 两数之和 - 力扣&#xff08;LeetCode&#xff09; 和为目标值 target 就是在找 target - nums[i] 利用 哈希表 查找只需要 O(1) class Solution {public int[] twoSum(int[] nums, int target) {HashMap<Integer, Integer> hm new HashMap<>();…

钢铁百科:NM360钢板材质、NM360机械性能、NM360韧性焊接性能

一、NM360钢板材质&#xff1a; NM360是一种高强度耐磨钢板&#xff0c;具有良好的综合机械性能和耐磨性能。它通常用于制造各种机械设备的耐磨部件&#xff0c;如挖掘机斗齿、破碎机锤头、磨煤机叶片等。NM360钢板的化学成分和热处理工艺被精心设计&#xff0c;以确保其在恶劣…

【Python知识宝库】深入理解Python中的字符串操作

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言一、字符串的创建1.1 使用引号创建字符串1.2 使用字符串函数创建 二、字符串的修改2.1 更改字符串的大小写2.2 拼…

心电调试笔记

原理图设计 注意事项 引脚连接检查&#xff1a;确保每个元器件与芯片引脚连接正确是基础&#xff0c;错误的连接可能导致系统无法正常工作。未连接引脚标识&#xff1a;对于未使用的引脚&#xff0c;虽然不连接但应标识为非使用状态&#xff0c;以免混淆或引起误操作。测试点设…

学学vue-1

vue 0 安装 装node.js&#xff0c;以及cnpm&#xff08;npm超时或者被屏蔽&#xff0c;安装cnpm国内镜像&#xff09; 查看安装版本&#xff08;是否安装成功&#xff09; node -v 安装成功之后也会安装npm npm -v cnpm镜像 npm install -g cnpm --registryhttp://registry.np…

哈希:哈希函数 | 哈希概念 | 哈希冲突 | 闭散列 | 开散列

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…

GEE APP——Bellingcat 雷达影像监测平台分析

简介 许多军用雷达在开启时会干扰开源卫星图像。 一个新工具可以让任何人监控这些雷达部署的时间和地点。 该资源库包含该工具的源代码。 下面是该工具使用时的截图,其中有五个标注组件,我们将逐一查看。 在此示例中,该工具以驻扎在沙特阿拉伯达曼的 MIM-104 爱国者 PAC-2 …

早上醒来嗓子干、喉咙痛、咳嗽……快用这个润养好物,给嗓子做个spa,让身体润起来~

进入秋季&#xff0c;很多人出现了眼睛干涩、大便干燥、嘴唇干裂、咽喉疼痛等症状&#xff0c;虽说这些还能够忍受&#xff0c;但它却影响了正常的饮食和休息。 秋季气候干燥&#xff0c;外界燥邪侵犯肺部&#xff0c;易伤津液&#xff0c;肺失滋润&#xff0c;清肃失司&#x…

探讨马丁格尔策略应用的3问和昂首平台的3答

问&#xff1a;为什么在使用马丁格尔策略时要如此谨慎?毕竟最大的市场波动可能根本不会发生。 答&#xff1a;让我们以一个具体的例子来说明这个问题。假设我们进行交易&#xff0c;计算出一个小于最大预期值的市场动量&#xff0c;比如说这个值为90便士。试想&#xff0c;如…

Acunetix v24.8 发布,新增功能概览

Acunetix v24.8 发布&#xff0c;新增功能概览 Acunetix v24.8 (Linux, Windows) - Web 应用程序安全测试 Acunetix | Web Application Security Scanner 请访问原文链接&#xff1a;https://sysin.org/blog/acunetix/&#xff0c;查看最新版。原创作品&#xff0c;转载请保…

Linux---文件(1)---初识文件

目录 预备知识 文件操作接口 打开文件接口 重定向与文件操作关系 "w"方式与重定向 “a”方式与追加重定向 写入文件接口 读取文件接口 系统调用接口 参数解析 预备知识 我们知道&#xff0c;创建出一个空文件也要在内存中占空间。 文件文件内容文件属性 操…

网络安全服务基础Windows--第12节-域与活动目录

工作组 在Windows环境中配置⼯作组相对简单&#xff0c;适合⼩型⽹络环境&#xff0c;如家庭或⼩型办公室⽹络。⼯作组通过简单的⽹络共享和本地管理来实现资源共享&#xff0c;⽽不依赖于中央控制的服务器。 ● 定义&#xff1a;⼯作组是⼀种对等⽹络模型&#xff0c;在这种…

总结一下windows电脑字体模糊的优化方案

问题&#xff1a;谷歌浏览器上页面显示的字体非常细&#xff0c;有点费眼睛了&#x1f47e; 解决方案&#xff1a; 方案1&#xff1a;手动调整ClearType文本。方案2&#xff1a;英伟达显卡控制面板->管理3d设置->关闭全局平滑FXAA&#xff08;如果某个软件需要使用平滑处…

【vue css】background设置背景图片不显示问题

问题&#xff1a; 如上图所示&#xff0c;添加背景图片页面没有显示 解决&#xff1a; 添加background-position: center center 即可显示 但是不知道为什么添加这个属性就可以&#xff0c;求大神解惑

出现 /www/server/mysql/bin/mysqld: Shutdown complete 的解决方法

目录 1. 基本知识1.1 查找my.cnf目录1.2 配置错误日志2. 问题所示3. 原理分析4. 解决方法1. 基本知识 主要补充一些基本知识的拓展 1.1 查找my.cnf目录 查看mysql默认读取my.cnf的目录: mysql --help|grep my.cnf 截图如下:(为了方便查看具体使用的配置文件在哪个路径)…

数据库悲观锁和乐观锁的区别

前言 MySQL本身不直接提供悲观锁&#xff08;Pessimistic Locking&#xff09;和乐观锁&#xff08;Optimistic Locking&#xff09;的实现机制&#xff0c;因为这些锁的概念通常是在应用层面通过不同的策略和工具来实现的。然而&#xff0c;我们可以利用MySQL的一些特性来模拟…

泰克THDP0100(Tektronix)thdp0100高压差分探头详情资料

泰克 THDP0100 高压差分探头具有较大的差分动态范围功能&#xff0c;为用户提供了安全的高压测量探头解决方案。每个探头都配有两种尺寸的钩尖&#xff0c;并具有超范围视觉和声音指示器&#xff0c;当用户超出探头的线性范围时会发出警告。泰克 THDP0100 探头配备 TEkVPI 接口…