制作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支持函数…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...