三、elasticsearch之插件x-pack许可证安装说明
概要在elasticsearch中有30天的试用期我找到网上大神的一些文章试用了之后发现可以进行破解使用整个过程比较简单特此写下笔记http://ip:9100/?auth_userelasticauth_password123456现在发现都访问不了查了下日志才发现我的license过期啦 这时我才想起来x-pack好像是收费的。破解x-pack我的版本是x-pack-5.2.2在elasticsearch插件中找到x-pack-5.2.2.jar拷贝到其他目录下进行解压找到LicenseVerifier.class 路径为org.elasticsearch/license/LicenseVerifier.class和XPackBuild.class路径为/org/elasticsearch/xpack/XPackBuild.class文件1.修改license准备LicenseVerifier.java 和XPackBuild.java两个文件后进行替换LicenseVerifier.java如下:packageorg.elasticsearch.license;importjava.nio.*;importjava.util.*;importjava.security.*;importorg.elasticsearch.common.xcontent.*;importorg.apache.lucene.util.*;importorg.elasticsearch.common.io.*;importjava.io.*;publicclassLicenseVerifier{publicstaticbooleanverifyLicense(finalLicenselicense,finalbyte[]encryptedPublicKeyData){returntrue;}publicstaticbooleanverifyLicense(finalLicenselicense){returntrue;}}XPackBuild.java如下packageorg.elasticsearch.xpack.core;importorg.elasticsearch.common.io.*;importjava.net.*;importorg.elasticsearch.common.*;importjava.nio.file.*;importjava.io.*;importjava.util.jar.*;publicclassXPackBuild{publicstaticfinalXPackBuildCURRENT;privateStringshortHash;privateStringdate;SuppressForbidden(reasonlooks up path of xpack.jar directly)staticPathgetElasticsearchCodebase(){finalURLurlXPackBuild.class.getProtectionDomain().getCodeSource().getLocation();try{returnPathUtils.get(url.toURI());}catch(URISyntaxExceptionbogus){thrownewRuntimeException(bogus);}}XPackBuild(finalStringshortHash,finalStringdate){this.shortHashshortHash;this.datedate;}publicStringshortHash(){returnthis.shortHash;}publicStringdate(){returnthis.date;}static{finalPathpathgetElasticsearchCodebase();StringshortHashnull;Stringdatenull;Label_0157:{shortHashUnknown;dateUnknown;}CURRENTnewXPackBuild(shortHash,date);}}2.打包成class打包成class而后替换。如果你的安装在/usr/local下那么大概如下LicenseVerifier到LicenseVerifier.java所存放的目录下执行javac-cp/usr/local/elasticsearch/lib/elasticsearch-5.2.2.jar:/usr/local/elasticsearch/lib/lucene-core-6.4.1.jar:/usr/local/elasticsearch/plugins/x-pack/x-pack-5.2.2.jarLicenseVerifier.javaXPackBuild到XPackBuild.java所存放的目录下执行javac-cp/usr/local/elasticsearch/lib/elasticsearch-5.2.2.jar:/usr/local/elasticsearch/lib/lucene-core-6.4.1.jar:/usr/local/elasticsearch/plugins/x-pack/x-pack-5.2.2.jarXPackBuild.java如下生成的所需文件[rootlinuxscripts]# ll total18-rw-r--r--1root root410Jun2311:49LicenseVerifier.class-rw-r--r--1root root523Jun2311:32LicenseVerifier.java-rw-r--r--1root root1508Jun2311:52XPackBuild.class-rw-r--r--1root root1311Jun2311:34XPackBuild.java为了能够分辨的更清楚创建一个目录demo复制进去后解压而后删除原来的包或者备份[rootlinux ]# cp /usr/local/elasticsearch/plugins/x-pack/x-pack-5.2.2.jar /data/scripts/demo/ [rootlinux ]# cd /data/scripts/demo/ jar -xvf x-pack-5.2.2.jar 解压到当前目录,注意,不会创建一个新文件夹,而是将所有jar包的内容全部解压到当前文件夹将class文件覆盖到解压出的文件下[rootlinux scripts]# \cp LicenseVerifier.class /data/scripts/demo/org/elasticsearch/license/LicenseVerifier.class[rootlinux scripts]# \cp XPackBuild.class /data/scripts/demo/org/elasticsearch/xpack/XPackBuild.class当文件覆盖回去之后开始打包压缩[rootlinux scripts]# cd demo/[rootlinux demo]# jar -cvfM0 x-pack-5.2.2.jar ./参数解析-c 创建jar包-v 显示过程信息-f 指定jar包的文件名-M 不产生所有文件的清单文件(Manifest.mf)-0 产生jar包时不对其中的内容进行压缩处理生成一个新的x-pack-5.2.2.jar包后覆盖到/usr/local/elasticsearch/plugins/x-pack/下license修改完成然后重启es[rootlinux demo]# \cp x-pack-5.2.2.jar /usr/local/elasticsearch/plugins/x-pack/[rootlinux demo]# ps aux|egrep ^elastic|awk {print $2}|xargs kill su elastic -c /usr/local/elasticsearch/bin/elasticsearch -d3.申请license打开elastic申请页面进行申请会发送到邮箱下载后进行编辑https://register.elastic.co将expiry_date_in_millis:1565135999999修改expiry_date_in_millis:3107746200000 # 1年变为50年将type:“basic修改为type”:“platinum” # 基础版变更为铂金版保存下来修改后的文件可以重复使用到其它ES服务器修改之前的许可证可用时间[rootlinux scripts]# curl -XGET -u elastic:123456 http://localhost:9200/_license{license:{status:active,uid:5227c16c-b7c8-4cd0-ad80-ab3d6200bca7,type:trial,issue_date:2020-06-22T08:18:57.356Z,issue_date_in_millis:1592813937356,expiry_date:2020-07-22T08:18:57.356Z,expiry_date_in_millis:1595405937356,max_nodes:1000,issued_to:es_cluster,issuer:elasticsearch,start_date_in_millis:-1}}更新 license文件把文件重命名为license.json接着上次到服务器放在自己喜欢的目录中接着在该目录中执行如下命令[rootlinux scripts]# curl -XPUT -u elastic:123456 http://localhost:9200/_xpack/license?acknowledgetrue -d license.json{acknowledged:true,license_status:valid}[rootlinux scripts]# curl -XPUT -u elastic:123456 http://localhost:9200/_xpack/license?acknowledgetrue -H Content-Type: application/json -d license.json{acknowledged:true,license_status:valid}在查看修改之后的许可证可用时间[rootlinux scripts]# curl -XGET -u elastic:123456 http://localhost:9200/_license{license:{status:active,uid:45b6723c-ec7a-48de-ac5f-9625ca41acd1,type:platinum,issue_date:2020-06-23T00:00:00.000Z,issue_date_in_millis:1592870400000,expiry_date:2068-06-24T06:50:00.000Z,#到期时间变为2068年expiry_date_in_millis:3107746200000,max_nodes:100,issued_to:Bertram Bertram (???),issuer:Web Form,start_date_in_millis:1592870400000}}到此证书许可证完成修改

相关新闻

小样本数据评估难题:交叉验证原理、方法与实践指南

小样本数据评估难题:交叉验证原理、方法与实践指南

1. 项目概述:当数据成为瓶颈,交叉验证如何成为你的“定心丸”在数据科学和机器学习的实战中,我们最常听到的抱怨之一就是:“数据量太少了,模型根本训不好!” 这几乎是每个从业者,尤其是项目初期…

2026/8/25 7:41:27 阅读更多 →
STM32内存分配全解析:从变量存储到链接脚本实战

STM32内存分配全解析:从变量存储到链接脚本实战

1. 项目概述:从“我的变量去哪儿了?”说起如果你在STM32开发中,曾经对着一个明明赋值了却读出来是乱码的全局变量发呆,或者疑惑为什么某个数组稍微大一点程序就“跑飞”了,又或者纠结于该用static还是malloc&#xff0…

2026/8/25 7:41:27 阅读更多 →
LoadRunner 12.02性能测试实战:从脚本录制到瓶颈分析全流程解析

LoadRunner 12.02性能测试实战:从脚本录制到瓶颈分析全流程解析

1. 项目概述:为什么LoadRunner依然是性能测试的基石在软件交付节奏越来越快的今天,性能问题往往是压垮项目的最后一根稻草。一个功能完备的系统,可能在几十个并发用户访问时就响应迟缓,甚至直接崩溃。作为从业十多年的测试老兵&am…

2026/8/25 7:41:27 阅读更多 →

最新新闻

原生JavaScript与Canvas实现Siri风格动态波纹:从数学建模到性能优化

原生JavaScript与Canvas实现Siri风格动态波纹:从数学建模到性能优化

1. 项目概述:从灵感到实现,一个纯粹的视觉魔法那天我在浏览一个设计类网站,偶然看到一个登录页的背景,几条优雅的波浪线随着鼠标的移动缓缓起伏,那种流畅、灵动又带点科技感的视觉效果,瞬间让我想起了苹果设…

2026/8/25 8:18:40 阅读更多 →
基于多模态AI的智能截图解析:从图片到结构化数据的工程实践

基于多模态AI的智能截图解析:从图片到结构化数据的工程实践

1. 项目概述:当截图不再是“图片”,而是一个可交互的数据接口最近在做一个内部效率工具时,我遇到了一个非常具体且普遍的问题:团队里每天产生大量的会议纪要截图、产品设计稿截图、数据报表截图,这些图片散落在各个聊天…

2026/8/25 8:18:40 阅读更多 →
C++除法陷阱与安全实践:从整数截断到工业级防护

C++除法陷阱与安全实践:从整数截断到工业级防护

1. 项目概述:这不是一道“送分题”,而是一次C底层能力的实战压力测试“C A除以B”——看到这个标题,很多人第一反应是:“这有什么好写的?不就是a / b吗?”我刚接触C时也这么想,直到在某次嵌入式…

2026/8/25 8:18:40 阅读更多 →
Linux服务器文件实时同步:rsync+lsyncd原理与生产环境部署指南

Linux服务器文件实时同步:rsync+lsyncd原理与生产环境部署指南

1. 项目缘起:为什么是rsynclsyncd?如果你在Linux环境下管理过服务器,尤其是那些需要处理大量文件、日志或者应用数据的场景,大概率会遇到一个经典需求:如何把A服务器上某个目录里的文件,实时或准实时地同步…

2026/8/25 8:18:40 阅读更多 →
如何从 v1 仓储升级到 v2 网关架构:Laravel feature-flags 完整升级指南与最佳实践

如何从 v1 仓储升级到 v2 网关架构:Laravel feature-flags 完整升级指南与最佳实践

如何从 v1 仓储升级到 v2 网关架构:Laravel feature-flags 完整升级指南与最佳实践 【免费下载链接】feature-flags A Laravel package for handling feature flags 项目地址: https://gitcode.com/gh_mirrors/fe/feature-flags 本指南面向使用 feature-flag…

2026/8/25 8:18:40 阅读更多 →
CentOS 7.9 Redis系统级安装:解决重启失效与配置丢失

CentOS 7.9 Redis系统级安装:解决重启失效与配置丢失

1. 为什么 CentOS 7.9 上装 Redis 不能只抄命令?——从“重启就失效”说起你是不是也遇到过这样的情况:在 CentOS 7.9 虚拟机里,用wget下载 Redis 源码、make && make install一气呵成,redis-server --version显示 5.0.3 …

2026/8/25 8:17:39 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →