制作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支持函数…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
