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
,成功启动。