制作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.4
3.运行以下命令启动Elasticsearch:
bin\elasticsearch.bat
Elasticsearch将开始启动,启动过程可能需要一些时间。在启动成功后,你应该会看到类似以下的日志输出:
复制代码 [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支持函数…...

springboot实现文件上传功能,整合云服务
文章目录 这是springboot案例的,文件上传功能的拆分,本篇将带大家彻底了解文件上传功能,先从本地存储再到云存储,全网最详细版本,保证可以学会,可以了解文件上传功能的开发文件上传功能剖析进行书写一个小的文件上传文件上传的文件三要素首先表单提交的方式要是 post方式,第二个…...

接口interfance的基本使用
一.为什么有接口? 接口:就是一种规则。 二.接口的定义和使用 1.接口用关键字interface来定义 public interface 接口名{} 2.接口不能实例化 3.接口和类之间是实现关系,通过implements关键字表示 4.接口的子类(实现类) 注意1: 接口和类的实现关系…...

Gitlub如何删除分支(删除远程分支+本地分支)
目录 背景 删除方法 总结 背景 想要删除自己在本地创建的并已上传到远程分支中的分支。 删除方法 1)删除远程分支 git push origin --delete brannchname 2)删除本地分支 先切换到其他分支 git checkout otherbranch 删除本地分支 git bran…...

使用RSA算法加密字符串:从基础到实现 - Python
在现代数据安全中,加密算法起着至关重要的作用。特别是非对称加密算法,如RSA(Rivest-Shamir-Adleman),广泛应用于保护敏感信息的传输。本文将详细介绍如何使用RSA算法加密和解密字符串,包括生成密钥对、加密…...

MFC实现守护进程,包括开机自启动、进程单例、进程查询、进程等待、重启进程、关闭进程
在Windows平台上实现一个守护进程,由于与系统有关,所有使用MFC来实现是最合适的,被守护的进程则不限语言。废话不多,直接开整。 目录 1. 开机自启动 2. 进程单例 3. 进程查询 4. 进程等待 5. 重启进程 6. 关闭进程 7、最后…...

Spark SQL数据源 - Parquet文件
当使用Spark SQL处理Parquet文件时,你可以使用spark.read.parquet()方法从文件系统中加载Parquet数据到一个DataFrame中。Parquet是一种列式存储格式,非常适合用于大数据集,因为它提供了高效的压缩和编码方案。 以下是一个简单的例子&#x…...

eNsp——两台电脑通过一根网线直连通信
一、拓扑结构 二、电脑配置 ip和子网掩码,配置两台电脑处于同一网段 三、测试 四、应用 传文件等操作,可以在一台电脑上配置FTP服务器...

杂牌记录仪TS视频流恢复方法
大多数的记录仪都采用了MP4/MOV文件方案,极少数的可能在用AVI文件,极极少数的在用TS文件方案。很多人可能不太解TS文件,这是一种古老的视频文件结构,下边这个案例我们来看下TS视频文件的恢复方法。 故障存储:8G存储卡/fat32文件系…...

十_信号7-信号集
int sigemptyset(sigset_t *set); 清空信号集 int sigfillset(sigset_t *set); 填充满 信号集 int sigaddset(sigset_t *set, int signum); 向信号集中添加信号 int sigdelset(sigset_t *set, int signum); 从型号集中删除信号 int sigismember(const sigset_t *set, int s…...

GPT-4o
微软最新发布的CopilotPC采用了OpenAI最新的GPT-4o技术,新增了多项强大功能。以下是主要的新增功能: 更强大的AI处理能力:CopilotPC采用了专门用于AI处理的特殊芯片,使得电脑能够处理更多的人工智能任务,而无需调用云…...