ES之x-pack-core-7.14.2许可证修改为白金版

news/2024/11/7 12:44:22/

X-Pack是什么

X-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,虽然x-pack被设计为一个无缝的工作,但是你可以轻松的启用或者关闭一些功能。

在这里插入图片描述
主要分一下步骤
1、修改x-pack-core-7.14.2.jar
拷贝ES目录下 ./modules/x-pack-core/x-pack-core-7.14.2.jar 文件并解压
解压之后找到一下两个文件
x-pack-core-7.14.2.jar/org/elasticsearch/license/LicenseVerifier.class
x-pack-core-7.14.2.jar/org/elasticsearch/xpack/core/XPackBuild.class
用以下两个java文件重新编译之后替换

创建以下两个java文件
LicenseVerifier.java

package org.elasticsearch.license;/***  * Responsible for verifying signed licenses*   */
public class LicenseVerifier {/***      * verifies the license content with the signature using the packaged*           * public key*                * @param license to verify*                     * @return true if valid, false otherwise*                          */public static boolean verifyLicense(final License license, byte[] publicKeyData) {return true;}public static boolean verifyLicense(final License license) {return true;}
}

XPackBuild.java

package org.elasticsearch.xpack.core;
import org.elasticsearch.common.SuppressForbidden;
import org.elasticsearch.common.io.PathUtils;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.jar.JarInputStream;
import java.util.jar.Manifest;public class XPackBuild {public static final XPackBuild CURRENT;static {CURRENT = new XPackBuild("Unknown", "Unknown");}/***      * Returns path to xpack codebase path*           */@SuppressForbidden(reason = "looks up path of xpack.jar directly")static Path getElasticsearchCodebase() {URL url = XPackBuild.class.getProtectionDomain().getCodeSource().getLocation();try {return PathUtils.get(url.toURI());} catch (URISyntaxException bogus) {throw new RuntimeException(bogus);}}private String shortHash;private String date;XPackBuild(String shortHash, String date) {this.shortHash = shortHash;this.date = date;}public String shortHash() {return shortHash;}public String date() {return date;}
}

拷贝以上两个java文件到es主目录
进入es主目录执行

javac -cp lib/elasticsearch-7.14.2.jar:modules/x-pack-core/x-pack-core-7.14.2.jar LicenseVerifier.java
javac -cp lib/elasticsearch-7.14.2.jar:lib/lucene-core-8.9.0.jar:modules/x-pack-core/x-pack-core-7.14.2.jar:lib/elasticsearch-core-7.14.2.jar XPackBuild.java
会生成两个新的class文件
LicenseVerifier.class
XPackBuild.class
分别替换
x-pack-core-7.14.2.jar/org/elasticsearch/license/LicenseVerifier.class
x-pack-core-7.14.2.jar/org/elasticsearch/xpack/core/XPackBuild.class

重新压缩成jar包x-pack-core-7.14.2.jar
替换./modules/x-pack-core/x-pack-core-7.14.2.jar
重启ES

去官网(https://license.elastic.co/registration)申请license后,下载下来是个JSON文件
主要替换两处 type 修改为 platinum (白金版)
expiry_date_in_millis 修改时间长一点2524579200999

{"license": {"uid": "f2f4a18c-f841-4b42-a2f6-26dfc577009e","type": "platinum","issue_date_in_millis": 1700697600000,"expiry_date_in_millis": 2524579200999,"max_nodes": 100,"issued_to": "hong hong (llll)","issuer": "Web Form","signature": "AAAAAwAAAA04M57PMmbvGO2JqgcvAAABmC9ZN0hjZDBGYnVyRXpCOW5Bb3FjZDAxOWpSbTVoMVZwUzRxVk1PSmkxaktJRVl5MUYvUWh3bHZVUTllbXNPbzBUemtnbWpBbmlWRmRZb25KNFlBR2x0TXc2K2p1Y1VtMG1UQU9TRGZVSGRwaEJGUjE3bXd3LzRqZ05iLzRteWFNekdxRGpIYlFwYkJiNUs0U1hTVlJKNVlXekMrSlVUdFIvV0FNeWdOYnlESDc3MWhlY3hSQmdKSjJ2ZTcvYlBFOHhPQlV3ZHdDQ0tHcG5uOElCaDJ4K1hob29xSG85N0kvTWV3THhlQk9NL01VMFRjNDZpZEVXeUtUMXIyMlIveFpJUkk2WUdveEZaME9XWitGUi9WNTZVQW1FMG1DenhZU0ZmeXlZakVEMjZFT2NvOWxpZGlqVmlHNC8rWVVUYzMwRGVySHpIdURzKzFiRDl4TmM1TUp2VTBOUlJZUlAyV0ZVL2kvVk10L0NsbXNFYVZwT3NSU082dFNNa2prQ0ZsclZ4NTltbU1CVE5lR09Bck93V2J1Y3c9PQAAAQAe9HG7AXDouL+RzcOpe1fcZxHPjlZ6NIGW+PZEHoabSfuUqVi/ItOL/zTX8BVriCe1NVxNyp6LuYh0Vt4gyZGUITQuWGCFMfT1c+IFLvuj3PKFvAs4biVs39vO5lWOpbpWSUbt4LBPm3GmrzMJuTYFbGc61gzOBpIqEoTOYMxz4JrVyuN65yZSy+0sH6xibLfYS+2xJ8llHbB/X6qt7UCaT+DHs1uqqWsAv3lwBUtVb/vd7ClppOIp34eV05wdQqvAFhByqjLQbXahlY+DWds+SP20lt2JG+351L/mZ1EaEsEAtYrdfOLeKdGUzoohRM4aHz6uD9IsotGbGgRr3Nvg","start_date_in_millis": 1700697600000}
}

修改完之后在kibana页面上传新的许可证
在这里插入图片描述
或者通过命令行之后

curl -u elastic:密码 -XPUT 'https://127.0.0.1:9200/_xpack/license' -H "Content-Type: application/json" -d @license.json

返回 {“acknowledged”:true,“license_status”:“valid”} 就表示更改许可证成功 。


http://www.ppmy.cn/news/1241532.html

相关文章

[架构之路-250]:目标系统 - 设计方法 - 软件工程 - 需求工程 - 需求开发:如何用图形表达需求,面向对象需求分析OOA与UML视图

目录 一、面向对象需求分析 1.1 面向对象的基本概念 1.2 什么是面向对象的需求分析 2.3 什么是UML图 2.4 UML视图 2.4 UML图与UML视图的关系 2.5 UML图与面向对象需求分析的关系 二、需求分析相关的UML图形与视图:14视图 2.1 用例模型与用例图:…

类与对象——(1)初识对象——C++中的string

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 或许不安或许迷惑,但…

探究Kafka原理-2.Kafka基本命令实操

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理🔥如果感觉博主的文章还不错的话,请&#x1f44…

kafka入门(二): 位移提交

位移提交: Kafka的每条消息都有唯一的 offset, 用来表示消息在分区中对应的位置。有的也称之为 “偏移量”。 消费者每次在 poll() 拉取消息,它要返回的是还没有消费过的消息集, 因此,需要记录上一次消费时的消费位…

Android设计模式--外观模式

弈之为术,在人自悟 一,定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口,使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的,尤其是在第三方的SDK里面&#xff0…

TCP 重传、滑动窗口、流量控制、拥塞控制的剖析

TCP 是一个可靠传输的协议,那它是如何保证可靠的呢? 为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。 那么,TCP 是…

2. 寄存器

锁存器,用于存储1位的电路 只有当 可写位(write enable)开启,才会把输入写到输出,同时保存输出 使用锁存器 带时钟的锁存器 带时钟带可写控制的完整版锁存器 下面的时钟使用按钮来代替, 只有按钮为1时,相连的电路才工作时钟的作用在于协同所有电路共同工作,也是一切电路自动化…

MySQL- 创建可以远程访问的root账户

创建用户 默认的root用户只能当前节点localhost访问,是无法远程访问的,所以,我们要创建一个root账户,帮助用户远程访问。 create user root% IDENTIFIED WITH mysql_native_password BY 1234;这个命令是在MySQL数据库管理系统中…