定兴做网站的/北京整站线上推广优化

定兴做网站的,北京整站线上推广优化,丹阳网站设计公司,做网站注册哪类商标可以通过华为官方提供的Elasticsearch Java客户端(基于Elasticsearch官方版本改造),实现基于Kerberos认证访问和操作华为云Elasticsearch;亦可以使用更加通用的开源Elasticsearch Java客户端bboss,实现基于Kerberos认证…

可以通过华为官方提供的Elasticsearch Java客户端(基于Elasticsearch官方版本改造),实现基于Kerberos认证访问和操作华为云Elasticsearch;亦可以使用更加通用的开源Elasticsearch Java客户端bboss,实现基于Kerberos认证访问和操作华为云Elasticsearch。

本文介绍使用bboss实现基于Kerberos认证访问和操作华为云Elasticsearch的方法。

1. bboss介绍

bboss是一个高性能高兼容性的Elasticsearch java客户端框架:
在这里插入图片描述
更多bboss介绍,可以访问文档了解:https://esdoc.bbossgroups.com/#/README

2. 准备工作

2.1 准备Kerberos认证配置文件

获取Kerberos配置文件 :从华为云获取 krb5.conf 和 jaas.conf 文件,这些文件由华为云Elasticsearch提供。

获取keytab文件 :从华为云获取 keytab 文件,该文件包含了客户端的凭据信息,文件由华为云Elasticsearch提供。

2.2 集成bboss

集成bboss非常简单,只需在项目中导入bboss对应的maven坐标即可:

<dependency><groupId>com.bbossgroups.plugins</groupId><artifactId>bboss-datatran-jdbc</artifactId><version>7.3.5</version>
</dependency>

实际bboss版本号可以参考文档获取:
https://esdoc.bbossgroups.com/#/changelog

3. 配置和使用Elasticsearch数据源

在项目中导入bboss maven坐标,并准备好Kerberos认证相关的材料后,就可以实现基于Kerberos认证对接华为云Elasticsearch的功能,直接上代码。
通过以下代码定义和初始化Elasticsearch数据源,并通过ClientInterface接口操作和访问华为云Elasticsearch,验证集成是否成功:

		Map properties = new HashMap();/*** 配置Elasticsearch数据源参数,这里只设置必须的配置项,更多配置参考文件:* https://gitee.com/bboss/elasticsearchdemo/blob/master/src/main/resources/application.properties*///定义Elasticsearch数据源名称:esDS,后续通过esDS获取对应数据源的客户端API操作和访问Elasticsearchproperties.put("elasticsearch.serverNames","esDS");//es服务器地址和端口,多个用逗号分隔//properties.put("esDS.elasticsearch.rest.hostNames","192.168.137.1:8200");//开启https协议,华为云Elasticsearch一般会启用https,在bboss中,配置开启https协议的Elasticsearch节点地址时,需带上https://协议头;//更多https配置,可浏览后面参考资料中的【高性能elasticsearch ORM开发库使用介绍】了解properties.put("esDS.elasticsearch.useHttps","true");properties.put("esDS.elasticsearch.rest.hostNames","https://202.280.211.227:9280,https://202.280.211.227:9281,https://202.280.211.227:9282");//是否在控制台打印dsl语句,log4j组件日志级别为INFO或者DEBUGproperties.put("esDS.elasticsearch.showTemplate","true");//集群节点自动发现,关闭服务发现机制properties.put("esDS.elasticsearch.discoverHost","false");//Kerberos安全认证配置--开始properties.put("esDS.http.kerberos.serverRealmPath","/elasticsearch/serverrealm");//配置华为云Elasticsearch服务端Princpal查询服务地址properties.put("esDS.http.kerberos.useSubjectCredsOnly","false");//华为云Elasticsearch krb5.conf文件,由华为提供properties.put("esDS.http.kerberos.krb5Location","C:/environment/es/8.13.2/elasticsearch-8.13.2/config/krb5.conf");//华为云Elasticsearch jaas.conf文件,由华为提供properties.put("esDS.http.kerberos.loginConfig","C:/environment/es/8.13.2/elasticsearch-8.13.2/config/jaas.conf");//配置登录模块名称,与华为云Elasticsearch jaas.conf文件中的模块名称一致properties.put("esDS.http.kerberos.loginContextName","ESClient");//配置是否debug Kerberos认证详细日志properties.put("esDS.http.kerberos.debug","true");//Kerberos安全认证配置--结束//启动和初始化Elasticsearch数据源ElasticSearchBoot.boot(properties);//通过Elasticsearch数据源名称esDS获取对应数据源的客户端API,操作和访问Elasticsearch//可以反复根据数据源名称esDS,调用下面的方法获取ClientInterface接口实例,始终返回单实例多线程安全的ClientInterface对象ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil("esDS");//验证客户端:通过Elasticsearch rest服务获取ES集群信息String result = clientInterface.executeHttp("/?pretty", ClientInterface.HTTP_GET);logger.info(result);//验证客户端:通过API获取ES集群配置参数logger.info(clientInterface.getClusterSettings());//验证客户端:通过API判断索引demo是否存在boolean exist = clientInterface.existIndice("demo");logger.info(exist+"");//验证客户端:通过API从索引demo获取文档id为1的文档数据(String报文)String doc = clientInterface.getDocument("demo","1");logger.info(doc);//验证客户端:通过API从索引demo获取文档id为1的文档数据(or mapping示例:返回Map结构的数据,亦可以转换为PO对象)Map mapdoc = clientInterface.getDocument("demo","1",Map.class);

基于配置Kerberos认证实现代码非常简洁,只需在平常数据源参数配置的基础上,增加Kerberos认证相关的参数配置。上述代码中涉及的华为云Kerberos配置文件krb5.conf和jaas.conf,由华为云Elasticsearch提供,这里不单独介绍,需要注意一下:http.kerberos.loginContextName参数对应的值需与jaas.conf配置文件中认证模块名称一致,这里是ESClient。

下面是一个jaas.conf配置内容样例:

ESClient {com.sun.security.auth.module.Krb5LoginModule requireduseKeyTab=truekeyTab="C:/environment/es/8.13.2/elasticsearch-8.13.2/config/elastic.keytab"principal="elastic/admin@BBOSSGROUPS.COM"useTicketCache=falsestoreKey=truedebug=false;
};

其中的elastic.keytab文件由华为云Elasticsearch提供。更多ClientInterface api使用方法,可以访问下面参考资料中提供的链接了解。

4. 运行案例

本文对应的代码源码工程下载地址:

码云 https://gitee.com/bboss/eshelloword-booter

Github https://github.com/bbossgroups/eshelloword-booter

对应的Kerberos认证Java Demo CustormInitAndBootKerberosAuth.java

可以下载案例源码工程,参考前面章节内容,将Elasticsearch地址和Kerberos相关配置修改为本地配置,然后执行案例代码,如输出如下信息,说明集成成功:

11:36:07.976 [main] INFO  org.frameworkset.elasticsearch.client.ElasticSearchRestClient - Elasticsearch Server Info:
{"name" : "node@202.280.211.227","cluster_name" : "elasticsearch_cluster","cluster_uuid" : "3veeeeeeeeeeeeeeeee4Q","version" : {"number" : "7.10.2","build_flavor" : "oss","build_type" : "tar","build_hash" : "unknown","build_date" : "unknown","build_snapshot" : true,"lucene_version" : "8.7.0","minimum_wire_compatibility_version" : "6.7.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}

可以观看bboss环境搭建视频,搭建运行环境:
https://mp.weixin.qq.com/s/RoJdxiPw_mnuhQpkqzY9QQ

5. 参考资料

Elasticsearch文档增删改查操作介绍 https://esdoc.bbossgroups.com/#/document-crud

高性能elasticsearch ORM开发库使用介绍 https://esdoc.bbossgroups.com/#/development

快速开始bboss https://esdoc.bbossgroups.com/#/quickstart

开发交流 https://esdoc.bbossgroups.com/#/supportus

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【湖北省计算机信息系统集成协会主办,多高校支持 | ACM出版,EI检索,往届已见刊检索】第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025)

第二届边缘计算与并行、分布式计算国际学术会议&#xff08;ECPDC 2025&#xff09;将于2025年4月11日至13日在中国武汉盛大召开。本次会议旨在为边缘计算、并行计算及分布式计算领域的研究人员、学者和行业专家提供一个高水平的学术交流平台。 随着物联网、云计算和大数据技术…

CSS—背景属性与盒子模型(border、padding、margin)

目录 一.背景属性 二.盒子模型 1.边框border a. 圆角属性border-radius b. 图像属性border-image 2. 内边距padding 3. 外边距margin 3. 宽度width与高度height 一.背景属性 浏览器背景图默认是平铺效果&#xff08;复制图片直至填满设置的区域大小&#xff09; 背景…

【文献阅读】A Survey Of Resource-Efficient LLM And Multimodal Foundation Models

发表时间&#xff1a;二〇二四年九月二十三日 摘要 大型基础模型&#xff0c;包括大语言模型&#xff08;LLMs&#xff09;、视觉Transformer&#xff08;ViTs&#xff09;、扩散模型以及基于大语言模型的多模态模型&#xff0c;正在革新整个机器学习的生命周期&#xff0c;…

蓝桥 发现环

0发现环 - 蓝桥云课 找到环 不过在最近一次维护网络时&#xff0c;管理员误操作使得某两台电脑之间增加了一条数据链接&#xff0c;于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径&#xff0c;使得这些电脑上的数据传输出现了BUG。 为了恢复正常传输&am…

不同版本的BLE和WiFi有什么区别?

一、蓝牙技术对比&#xff1a;从 Bluetooth 4.0 到 5.3 的演进与室内定位应用 蓝牙技术自推出以来&#xff0c;经历了多次重大升级&#xff0c;每一代都在传输速率、功耗、覆盖范围和功能上有所改进。本文将从 Bluetooth 4.0 到 5.3&#xff0c;逐一对比各版本的特点&#xff0…

华为hcia——Datacom实验指南——STP工作基本原理及STP/RSTP基本功能配置

什么时候需要用到STP 在二层交换网络中&#xff0c;为了避免环路产生。 什么是STP STP生成树协议&#xff0c;是用来在冗余链路上消除二层环路。在众多交换机中&#xff0c;需要设置出一个根桥&#xff0c;其余的交换机称为非根桥&#xff0c;根桥是整个交换网络的核心&…

【后端】Docker一本通

长期更新补充&#xff0c;建议关注收藏点赞 目录 Docker概述安装部署Docker基本操作使用docker部署tomcat使用docker部署mysql Docker概述 docker是⼀个应⽤级隔离的虚拟化技术docker三大核心概念 镜像&#xff1a;是具有源的所有特征的⼀个标记⽂件 仓库&#xff1a;存放镜像…

linux中断调用流程(arm)

文章目录 ARM架构下Linux中断处理全流程解析&#xff1a;从硬件触发到驱动调用 ⚡**一、中断触发与硬件层响应** &#x1f50c;**1. 设备触发中断** &#x1f4e1; **二、CPU阶段&#xff1a;异常入口与上下文处理** &#x1f5a5;️**1. 异常模式切换** &#x1f504;**2. 跳转…

第十四届蓝桥杯大赛软件赛国赛C/C++大学C组

A 【跑步计划——日期问题】-CSDN博客 B 【残缺的数字】-CSDN博客 C 题目 代码 #include <bits/stdc.h> using namespace std;void change(int &x) {int sum 0, t x;while(t){sum t % 10;t / 10;}x - sum; } int main() {int n;cin >> n;int ans 0;…

汽车低频发射天线介绍

汽车低频PKE天线是基于RFID技术的深度研究及产品开发应用的一种天线&#xff0c;在汽车的智能系统中发挥着重要作用&#xff0c;以下是关于它的详细介绍&#xff1a; 移动管家PKE低频天线结构与原理 结构&#xff1a;产品一般由一个高Q值磁棒天线和一个高压电容组成&#xff…

蓝桥杯web第三天

展开扇子题目&#xff0c; #box:hover #item1 { transform:rotate(-60deg); } 当悬浮在父盒子&#xff0c;子元素旋转 webkit display: -webkit-box&#xff1a;将元素设置为弹性伸缩盒子模型。-webkit-box-orient: vertical&#xff1a;设置伸缩盒子的子元素排列方…

ubuntu22.04系统如何自建2级ntp服务器

一&#xff1a;ntp服务器详情 服务器型号 系统版本 IP地址 主机名 ntp服务版本 虚拟机8c-32g-1T Ubuntu22.04 10.20.30.2 DMZ-NTP-SERVER 4.2.8p15 二&#xff1a;ntp服务端部署配置脚本 #!/bin/bash # 脚本信息 echo "--------------------------…

计算机毕业设计SpringBoot+Vue.js汽车资讯网站(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

UE5切换关卡函数OpenLevel,输入模式结构体,UI界面

1.输入模式结构体 FInputModeGameOnly&#xff1a;玩家只能与游戏世界交互&#xff0c;UI 不可交互。FInputModeGameAndUI&#xff1a;玩家可以与游戏世界和 UI 同时交互。FInputModeUIOnly&#xff1a;玩家只能与 UI 交互&#xff0c;无法与游戏世界进行互动。 FInputModeGam…

JavaScript系列03-异步编程全解析

本文介绍了异步相关的内容&#xff0c;包括&#xff1a; 回调函数与回调地狱Promise详解async/await语法Generator函数事件循环机制异步编程最佳实践 1、回调函数与回调地狱 JavaScript最初是为处理网页交互而设计的语言&#xff0c;异步编程是其核心特性之一。最早的异步编…

kali liux的下载

Kali Linux | Penetration Testing and Ethical Hacking Linux Distributionhttps://www.kali.org/ VMware虚拟机https://pan.quark.cn/s/aa869ffbf184 【补充一个今天学到的知识昂和内容无关:&#xff08;遥感&#xff09;指非接触的远距离探测技术&#xff0c;使用传感器探…

windows下玩转vllm:在wsl下安装vllm

文章目录 前言安装wsl启动wsl的默认分发使用python部署vllm创建并激活虚拟环境直接说结论试错过程安装vllm简单测试一下,看看行不行附录,安装wsl安装ubuntu分发步骤 3: 设置用户和密码步骤 4: 更新系统步骤 5: 使用 WSL前言 当前,部署通义千问2.5-vl已经是一件箭在弦上,不…

《信息论与编码》课程笔记——绪论和离散信源(一)

目录 绪论 一、信息论的基本概念 1.1 信息的定义 1.2 信息的三个层次 二、香农信息论的研究内容 2.1 信源与信源编码 2.2 信道与信道编码 2.3 保密通信与密码学 离散信源&#xff08;一&#xff09; 一、自信息 1.1 定义 二、离散信源 2.1 定义 2.2 符号表示 三、…

大模型中的Token到底是什么?

文章目录 引言什么是Token&#xff1f;定义举例说明中文Tokenization Tokenization的复杂性子词TokenizationBPE算法BPE示例 可视化BPE过程 Token在大模型中的作用输入表示上下文理解输出生成 Tokenization的挑战语言差异未登录词计算效率 Token消耗的规则Token消耗的基本规则示…

Acwing 哞叫时间II

6134. 哞叫时间II - AcWing题库 题目大意&#xff1a;统计数组中子序列abb的数量&#xff1a; 做法&#xff1a;从右往左枚举倒数第二个b&#xff0c;查前面出现过多少次a&#xff0c;查的方法(开一个数组left[x]来统计当前及前面出现过多少次x&#xff0c;cnt记录不同x的数量…