制作ChatPDF之Elasticsearch8.13.4搭建(一)
Elasticsearch8.x搭建
在Windows系统上本地安装Elasticsearch的详细步骤如下:
1. 下载Elasticsearch
- 访问 Elasticsearch下载页面。
- 选择适用于Windows的版本8.13.4,并下载ZIP文件。
2. 解压文件
- 下载完成后,找到ZIP文件(例如
elasticsearch-8.13.4-windows-x86_64.zip)。 - 右键点击ZIP文件并选择“解压到当前文件夹”或使用解压软件(如WinRAR或7-Zip)解压到一个方便的位置。
3. 启动Elasticsearch
-
打开命令提示符(cmd)或PowerShell。
-
导航到解压后的Elasticsearch目录。例如:
cd C:\path\to\elasticsearch-8.13.43.运行以下命令启动Elasticsearch:
bin\elasticsearch.batElasticsearch将开始启动,启动过程可能需要一些时间。在启动成功后,你应该会看到类似以下的日志输出:
复制代码 [2024-05-27T10:00:00,000][INFO ][o.e.n.Node ] [your-node-name] started
5. 验证Elasticsearch是否启动成功
-
打开浏览器并访问以下URL:
http://localhost:9200你应该会看到类似如下的JSON响应:
{"name" : "your-node-name","cluster_name" : "elasticsearch","cluster_uuid" : "your-cluster-uuid","version" : {"number" : "7.10.0","build_flavor" : "default","build_type" : "zip","build_hash" : "your-build-hash","build_date" : "2024-05-27T10:00:00.000Z","build_snapshot" : false,"lucene_version" : "8.7.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search" }结果无法成功启动,系统执行到current.health='green’无法继续执行:

postman访问http://localhost:9200/效果如下:

分析问题原因:
1. 确认Elasticsearch是否在运行
确保Elasticsearch服务器已经启动并正在运行。
检查Elasticsearch进程:
-
打开命令提示符(cmd)或PowerShell。
-
运行以下命令查看是否有Elasticsearch进程在运行:
复制代码 netstat -ano | findstr :9200
结果如下:

2. 检查Elasticsearch日志文件
查看Elasticsearch日志文件,以获取更多关于错误的信息。日志文件通常位于logs目录下,例如elasticsearch.log。
检查日志文件:
-
打开日志文件,例如:
lua 复制代码 C:\path\to\elasticsearch\logs\elasticsearch.log -
查找任何错误或警告信息,这些信息可能提供有关Elasticsearch未能正确启动或运行的问题的线索。
log的信息和windows powershell输出一致,未发现任何报错,更像是卡住了。

3. 检查网络连接
确保没有网络问题阻止客户端与Elasticsearch服务器之间的连接。
检查网络连接:
-
尝试在浏览器中访问Elasticsearch:
arduino 复制代码 http://localhost:9200 -
如果浏览器无法访问,尝试禁用防火墙或安全软件,或者检查是否有代理设置可能阻止连接。
4. 检查Java版本
输入命令查询本地的java版本为1.8,而elasticsearch版本为8.13.4.需要迁移java8到java11.
迁移java8到java11
将Java版本从1.8(Java 8)迁移到11(Java 11)涉及到多个步骤,包括下载和安装新的JDK,更新环境变量,调整应用程序代码和配置,进行测试等。以下是详细的迁移步骤:
1. 下载和安装Java 11
下载Java 11
你可以从以下网址下载Java 11的JDK:
- Oracle JDK 11
- OpenJDK 11
安装Java 11
按照下载页面上的安装说明进行操作。通常,Windows用户会下载一个安装程序(.exe),双击运行并按照提示完成安装。
2. 更新环境变量
设置Java环境变量
-
打开系统属性:
- 右键点击“此电脑”或“我的电脑”,选择“属性”。
- 点击“高级系统设置”,然后点击“环境变量”。
-
更新JAVA_HOME:
-
在“系统变量”中查找
JAVA_HOME,选择它并点击“编辑”。 -
将路径更新为新安装的Java 11的安装目录,例如:
makefile 复制代码 C:\Program Files\Java\jdk-11 -
如果没有
JAVA_HOME变量,点击“新建”并添加它。
-
-
更新PATH:
-
在“系统变量”中查找
Path,选择它并点击“编辑”。 -
找到包含旧JDK路径的条目并更新为新JDK的
bin目录,例如:
makefile 复制代码 C:\Program Files\Java\jdk-11\bin
-
-
验证安装: 打开命令提示符(cmd)或PowerShell,运行以下命令以确保新版本的Java已正确安装:
sh 复制代码 java -version你应该会看到类似于以下的输出,表明Java版本为11:
scss复制代码java version "11.0.10" 2021-01-19 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode)
3. 更新应用程序代码和配置
检查和更新代码
Java 11移除了和弃用了Java 8中的一些API和工具,因此需要检查和更新你的代码。以下是一些常见的问题和解决方法:
- 移除
Java EE和CORBA模块:Java 11不再包含这些模块。如果你的应用程序依赖于这些模块,需要添加相应的依赖项到你的构建工具(例如Maven或Gradle)。 - 更新第三方库:确保所有第三方库都兼容Java 11,可能需要更新这些库的版本。
- 模块系统:如果你使用Java 9引入的模块系统(Project Jigsaw),确保模块描述符(
module-info.java)正确配置。
更新构建工具配置
如果你使用Maven或Gradle等构建工具,需要更新它们的配置以使用Java 11。
Maven
在pom.xml中设置Java 11为目标版本:
xml复制代码<properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target>
</properties>
Gradle
在build.gradle中设置Java 11为目标版本:
groovy复制代码sourceCompatibility = '11'
targetCompatibility = '11'
4. 测试和验证
运行单元测试
确保所有单元测试在Java 11下通过。如果出现错误,检查日志和错误信息,修复不兼容的问题。
运行集成测试
确保所有集成测试在Java 11下通过。这包括与数据库、消息队列、外部服务等的集成。
5. 部署和监控
部署到测试环境
将更新后的应用程序部署到测试环境,进行全面测试。
部署到生产环境
在测试通过后,将应用程序部署到生产环境。密切监控应用程序的性能和行为,确保没有出现新的问题。
通过以上步骤,你可以将Java版本从1.8迁移到11。如果在迁移过程中遇到具体问题,请提供更多详细信息,以便进一步帮助你解决问题。
访问地址更改
更改访问地址为https://localhost:9200
弹出密码框

默认的用户名和密码是elastic,可以在elasticsearch.yml文件中修改
postman启动报错,
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}},"status":401}
关闭ssl校验,
# Enable security features
xpack.security.enabled: falsexpack.security.enrollment.enabled: false# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:enabled: false# keystore.path: certs/http.p12# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:enabled: false# verification_mode: certificate# keystore.path: certs/transport.p12# truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["WIN-MIAH1SMP4DL"]# Allow HTTP API connections from anywhere
# Connections are encrypted and require user authentication
http.host: 0.0.0.0
启动成功.

安装Kibana
安装 Kibana 是通过下载 Kibana 压缩包并解压,然后进行简单的配置即可。以下是在 Windows 系统上安装 Kibana 的基本步骤:
1. 下载 Kibana
访问 Elastic 官网的下载页面,选择适用于你系统的 Kibana 版本进行下载。根据你的系统选择 Windows 版本,并下载对应的 zip 压缩包。
2. 解压缩 Kibana
将下载的 zip 压缩包解压缩到你想要安装 Kibana 的目录。你可以选择将 Kibana 解压到任意目录,例如 C:\kibana。
3. 配置 Kibana
Kibana 的配置文件位于解压缩后的目录下的 config 文件夹中。在这里,你可以编辑 kibana.yml 文件来配置 Kibana。
默认情况下,你可能只需要更改以下几个配置项:
-
server.host:配置 Kibana 服务器的主机地址,默认为localhost,你可以将其设置为你的服务器 IP 地址或0.0.0.0以便所有网络都可以访问。 -
server.port:配置 Kibana 服务器的端口,默认为5601,你可以根据需要更改端口。 -
elasticsearch.hosts:配置 Elasticsearch 的地址,默认为http://localhost:9200,如果你的 Elasticsearch 不在同一台机器上,需要相应地更改。
4. 启动 Kibana
在命令行中切换到 Kibana 解压缩后的目录,并执行以下命令启动 Kibana:
sh
复制代码
.\bin\kibana.bat
5. 访问 Kibana
在浏览器中访问 http://localhost:5601(如果你更改了端口,请相应地更改 URL),你将会看到 Kibana 的登录界面。
6. 登录并开始使用 Kibana
第一次登录 Kibana 时,你需要创建一个帐户并设置密码。接下来,你就可以开始使用 Kibana 来探索和可视化你的 Elasticsearch 数据了。
注意事项
- 在 Windows 系统上,确保你的命令行具有管理员权限,以便启动 Kibana。
- 在配置文件中,确保你的配置项的格式正确,并且没有语法错误。YAML 文件对缩进和格式要求非常严格。
- 在启动 Kibana 前,确保 Elasticsearch 已经在运行,并且你的网络配置允许 Kibana 连接到 Elasticsearch。
- 在生产环境中,建议配置安全功能来保护 Kibana 的访问,例如启用基本身份验证或使用代理进行身份验证。
按照上述步骤,你应该能够成功安装和启动 Kibana,并开始使用它来分析和可视化 Elasticsearch 数据。如果你遇到任何问题,请随时提问,我会尽力帮助你解决。
结果访问http://localhost:5601/: 返回:

分析原因:
1. Elasticsearch 连接问题
Kibana 需要连接到 Elasticsearch 才能正常工作。如果 Elasticsearch 未启动或者 Kibana 配置中的 Elasticsearch 地址不正确,Kibana 将无法启动。请确保以下几点:
-
确保 Elasticsearch 已经正确启动,并且可以通过网络访问。
-
检查 Kibana 的配置文件
kibana.yml中的elasticsearch.hosts配置项,确保指定的 Elasticsearch 地址是正确的,并且可以访问到。增加跨域配置:
# 配置允许跨域 http.cors.enabled: true http.cors.allow-origin: "*"重启
elasticsearch。再重启kibana,访问地址:http://localhost:5601,成功启动。

相关文章:
制作ChatPDF之Elasticsearch8.13.4搭建(一)
Elasticsearch8.x搭建 在Windows系统上本地安装Elasticsearch的详细步骤如下: 1. 下载Elasticsearch 访问 Elasticsearch下载页面。选择适用于Windows的版本8.13.4,并下载ZIP文件。 2. 解压文件 下载完成后,找到ZIP文件(例如…...
一种最大重叠离散小波包特征提取和支持向量机的ECG心电信号分类方法(MATLAB 2018)
目前小波分析算法常采用Mallat快速算法。该算法由与滤波器卷积、隔点采样和隔点插零等三个环节组成。由于实际使用的滤波器并不具有理想频域特性,使得在标准二进小波算法中存在着频率混叠和小波系数失真等缺点,在标准二进小波包算法中还存在频带错乱现象…...
德勤:中国、印度等对ChatGPT等生成式AI应用,处领先地位
全球四大会计事务所之一的德勤(Deloitte)在官网发布了一份,名为《Generative AI in Asia Pacific: Young employees lead as employers play catch-up》的深度调查报告。 主要查看中国、澳大利亚、印度、日本、新加坡、韩国、中国台湾等亚太…...
开发靠谱心得
1、目的 记录下 不靠谱的行为,以规范自己的开发步骤。 2、内容 2.1 不应该做哪些事情 1、禁止虚假的交付 2、禁止随意的承诺 3、禁止推卸责任式的通知 4、禁止组织浪费多人时间的会议 5、禁止重要事故不向上反馈 6、禁止延期不提前预警 7、禁止遗漏工作和疏忽大意 …...
【OpenHarmony】TypeScript 语法 ④ ( 函数 | TypeScript 具名函数和匿名函数 | 可选参数 | 剩余参数 | 箭头参数 )
文章目录 一、TypeScript 函数1、TypeScript 具名函数和匿名函数2、TypeScript 函数 与 JavaScript 函数对比3、TypeScript 函数 可选参数4、TypeScript 函数 剩余参数5、TypeScript 箭头函数 参考文档 : <HarmonyOS第一课>ArkTS开发语言介绍 一、TypeScript 函数 1、Typ…...
嵌入式工程师人生提质的十大成长型思维分享
大家好,作为一名嵌入式开发者,很多时候,需要考虑个人未来的发展,人生旅途复杂多变,时常面临各种各样的挑战。如何在这个复杂多变的社会中稳步向前,不断成长,成为每个人都应该思考的问题。实际上,思维方式的差异决定我们应对挑战的能力与成长的速度。 第一:寻找自我坐…...
名下企业查询,清晰明了;在线操作,方便快捷
在现代社会,越来越多的人开始涉足创业和投资,拥有自己的企业成为一种时尚。然而,随之而来的是繁琐的企业注册流程和复杂的信息查询。为了解决这个问题,挖数据平台推出了一项名下企业查询接口,提供了一种方便快捷的方式…...
图书推荐:ChatGPT专业知识信息课程
《ChatGPT专业知识信息课程》(ChatGPT-Expertise Informative Course) 是一本由Dwayne Anderson撰写的电子书,提供了关于ChatGPT的丰富知识。该书涵盖了与ChatGPT相关的各种主题,如其与OpenAI的关系、ChatGPT与GPT-3之间的混淆、C…...
Java项目:94 springboot大学城水电管理系统
作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本管理系统有管理员和用户。 本大学城水电管理系统管理员功能有个人中心,用户管理,领用设备管理,消耗设备…...
Unity内制作动画
Unity内制作动画 动画剪辑(Animation Clips) 创建动画剪辑:在Unity中,可以通过导入动画数据来创建动画剪辑。这些数据可以是FBX、OBJ等格式的3D模型文件,其中包含关键帧动画。 编辑动画剪辑:在Unity的Anim…...
Java中的JDBC如何连接数据库并执行操作
JDBC(Java Database Connectivity)是Java编程语言中用来连接和操作数据库的一组API。以下是一个基本的步骤指南,用于连接数据库并执行操作: 导入JDBC驱动 首先,你需要将数据库的JDBC驱动添加到你的项目依赖中。如果你…...
webserver服务器从零搭建到上线(六)|Timestamp类和InetAddress类
本节我们重点来谈论: 时间类和我们的初始化链接地址类 文章目录 Timestamp类成员函数实现 InetAddress类具体实现 Timestamp类 我们为什么要封装一个时间类呢? 这也是一个大型项目必须的基础组建,这样我们不仅可以提高代码的可读性…...
【Java】一文看懂Thread 线程池的 7 种创建方式、任务队列及自定义线程池(代码示例)
本文摘要:【Java】Thread 线程池的 7 种创建方式及自定义线程池(代码示例版) 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专…...
【SpringBoot】四种读取 Spring Boot 项目中 jar 包中的 resources 目录下的文件
本文摘要:四种读取 Spring Boot 项目中 jar 包中的 resources 目录下的文件 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。公粽号…...
掌控未来,爱普生SR3225SAA用于汽车钥匙、射频电路的智慧引擎
为了响应市场需求,Epson使用独家QMEMS*2技术所生产的石英振荡器,与其精巧的半导体技术所制造的射频传输器电路,开发了SR3225SAA。不仅内建的石英震荡器之频率误差仅有2 ppm,更使其封装尺寸达仅3.2 mm x 2.5 mm,为客户大…...
第五届武汉纺织大学ACM程序设计竞赛 个人题解(待补完)
前言: 上周周日教练要求打的一场重现赛,时长五个小时,题目难度还行,除了部分题目前我还写不出来之外,大部分题都写完或补完了,这边给出比赛链接和我的代码(有些是队友的)和题解。 正…...
LeetCode---哈希表
242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 代码示例: //时间复杂度: O(n) //空间复杂度: O(1) c…...
Python知识点13---面向对象的编程
提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。 Python是一个完全面向对象开发的语言,它的一切都以对象的…...
Android Dialog软键盘弹出问题完美解决办法
一、问题: Dialog中有输入框时,显示后无法自动弹起软键盘,原因就不赘述了,自行Google。 一、解决办法: 开启独立线程,线程中使用while循环,循环调用弹起软键盘方法,直至showSoftI…...
【C++】C++入门1.0
鼠鼠最近在学C,那么好,俺来做笔记了! 目录 1.C关键字(C98) 2.命名空间 2.1.命名空间定义 2.2.命名空间的使用 3.C的输入&&输出 4.缺省参数 4.1缺省参数概念 4.2.缺省参数的分类 5.函数重载 5.1.函数重载概念 5.2.C支持函数…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
