安装 Elasticsearch elasticsearch-8.11.1
下载
解压下载的压缩文件到你选择的目录。
运行
进入 Elasticsearch 目录,运行 bin/elasticsearch.bat
启动 Elasticsearch。
验证
elaasticsearch的默认访问路径是localhost:9200,我们打开浏览器直接访问即可。
如果访问不了也没关系,我们可以先修改配置文件之后再进行访问。
注意:8.4.3我测试的无法直接打开默认网址,需要先进行配置(原因是:ES8默认开启了ssl认证,导致无法访问9200端口,elasticsearch.yml配置文件添加【xpack.security.enabled: false】即可)(https://zhuanlan.zhihu.com/p/504694531)
Elasticsearch在Windows下开启了安全认证,虽然started成功,但访问http://localhost:9200/失败(https://blog.csdn.net/zhangphil/article/details/124476717)
received plaintext traffic on an encrypted channel, closing connection Netty4TcpChannel
修改 elasticsearch.yml
原来是这样:
# Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: true
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: true
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: ["PC-20230404XHIO"]
# Allow HTTP API connections from anywhere
# Connections are encrypted and require user authentication
http.host: 0.0.0.0
我们把几个安全的暂时都关闭掉。
# Enable security features
xpack.security.enabled: false
xpack.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: ["PC-20230404XHIO"]
# Allow HTTP API connections from anywhere
# Connections are encrypted and require user authentication
http.host: 0.0.0.0
重新启动 es。当然这只是为了演示关闭的,实际应用还是要注意安全问题。
PS: 我这里在启动日志中没有找到密码,按理说是有一个初始化密码的。
验证成功
如下:
{
"name" : "PC-20230404XHIO",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "gROAdkClQka3fHkZukU60A",
"version" : {
"number" : "8.11.1",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "6f9ff581fbcde658e6f69d6ce03050f060d1fd0c",
"build_date" : "2023-11-11T10:05:59.421038163Z",
"build_snapshot" : false,
"lucene_version" : "9.8.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
初始化与查询
1)创建 index
这会创建一个名为 my_index
的索引。
curl -X PUT "http://localhost:9200/my_index"
{"acknowledged":true,"shards_acknowledged":true,"index":"my_index"}
2) 添加一些文档
向刚刚创建的索引添加一些文档。使用 curl 或其他工具,发送一个 POST 请求。
例如:
这将在 my_index
索引中添加一个文档。
$ curl -X POST "http://192.168.1.13:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d '{"title": "Hello", "content": "World"}'
{"_index":"my_index","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
PS: 192.168.1.13 这个是我的本机 IP
3) 最简单的查询:
- 使用 curl 进行基本查询:
查询整个索引的文档。
例如:
```bash
curl -X GET "http://192.168.1.13:9200/my_index/_search"
``` - 这将返回 `my_index` 索引中的所有文档。
如下:
{"took":3,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":1,"relation":"eq"},"max_score":1.0,"hits":[{"_index":"my_index","_id":"1","_score":1.0,"_source":{"title": "Hello", "content": "World"}}]}}
-
使用 Query DSL 进行更复杂的查询:
- 使用 Elasticsearch 的 Query DSL 进行更复杂的查询。
例如,查询
my_index
索引中标题包含 “Hello” 的文档:curl -X GET "http://192.168.1.13:9200/my_index/_search" -H 'Content-Type: application/json' -d '{"query": {"match": {"title": "Hello"}}}'
结果如下:
{"took":13,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":1,"relation":"eq"},"max_score":0.2876821,"hits":[{"_index":"my_index","_id":"1","_score":0.2876821,"_source":{"title": "Hello", "content": "World"}}]}}
windows10 install kibana
下载
访问 Kibana 下载页面。
kibana-8.11.1-windows-x86_64.zip
解压
配置
进入 Kibana 目录,编辑 config/kibana.yml
文件,确保 elasticsearch.hosts
配置正确,指向你的 Elasticsearch 实例。
默认的配置如下:
# =================== System: Elasticsearch ===================
# The URLs of the Elasticsearch instances to use for all your queries.
#elasticsearch.hosts: ["http://localhost:9200"]
# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
#elasticsearch.username: "kibana_system"
#elasticsearch.password: "pass"
我们暂时不修改.
启动
运行 bin/kibana.bat
启动 Kibana。
cd D:\tool\elk\kibana-8.11.1\bin
./kibana.bat
验证
在地址栏中输入 Kibana 的地址,默认情况下为
然后再【Discover】中添加对应的数据信息。
把 index pattern 写成 【my_index】匹配我们前面 ES 中初始化的数据。
然后就可以看到这个对应的 index 页面了。
拓展
docker 安装?
chat
Q: ELK 技术栈 windows 如何安装?
在Windows上安装ELK(Elasticsearch, Logstash, Kibana)技术栈可以相对复杂,但以下是基本步骤,你可以按照这些步骤进行安装:
- 安装 Java:
- ELK 技术栈的核心组件 Elasticsearch 和 Logstash 都需要 Java 运行环境。你可以从 Oracle 或 OpenJDK 下载并安装 Java。
- 安装 Elasticsearch:
- 访问 Elasticsearch 下载页面。
- 下载适用于 Windows 的 Elasticsearch 安装包。
- 解压下载的压缩文件到你选择的目录。
- 进入 Elasticsearch 目录,运行
bin/elasticsearch.bat
启动 Elasticsearch。
- 安装 Kibana:
- 访问 Kibana 下载页面。
- 下载适用于 Windows 的 Kibana 压缩文件。
- 解压下载的文件到你选择的目录。
- 进入 Kibana 目录,编辑
config/kibana.yml
文件,确保elasticsearch.hosts
配置正确,指向你的 Elasticsearch 实例。 - 运行
bin/kibana.bat
启动 Kibana。
- 安装 Logstash:
- 访问 Logstash 下载页面。
- 下载适用于 Windows 的 Logstash 压缩文件。
- 解压下载的文件到你选择的目录。
- 进入 Logstash 目录,创建一个配置文件,例如
logstash.conf
,配置 Logstash 的输入、过滤和输出。 - 运行
bin/logstash.bat -f logstash.conf
启动 Logstash。
请注意,以上步骤提供了一个基本的安装和启动流程,你可能需要根据你的具体需求进行一些额外的配置。此外,确保你的系统符合 ELK 技术栈的版本要求,并在安装前检查相应的文档获取最新的信息。
此外,Windows 上还可以考虑使用 Elastic 提供的 MSI 安装程序,它提供了更便捷的安装过程。你可以在 Elastic 的官方网站上找到相应的 MSI 安装包。
Q: ES 安装成功后,如何做最简单的数据初始化和查询?
一旦 Elasticsearch 安装成功,你可以进行最简单的数据初始化和查询以验证系统是否正常工作。以下是一些建议的步骤:
最简单的数据初始化:
- 创建一个索引:
- 使用 curl 或者其他 HTTP 请求工具,向 Elasticsearch 发送一个 PUT 请求以创建一个索引。例如:
curl -X PUT "http://localhost:9200/my_index"
- 这会创建一个名为
my_index
的索引。
- 使用 curl 或者其他 HTTP 请求工具,向 Elasticsearch 发送一个 PUT 请求以创建一个索引。例如:
- 添加一些文档:
- 向刚刚创建的索引添加一些文档。使用 curl 或其他工具,发送一个 POST 请求。例如:
curl -X POST "http://localhost:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d '{"title": "Hello", "content": "World"}'
- 这将在
my_index
索引中添加一个文档。
- 向刚刚创建的索引添加一些文档。使用 curl 或其他工具,发送一个 POST 请求。例如:
最简单的查询:
- 使用 curl 进行基本查询:
- 查询整个索引的文档。例如:
curl -X GET "http://localhost:9200/my_index/_search"
- 这将返回
my_index
索引中的所有文档。
- 查询整个索引的文档。例如:
- 使用 Query DSL 进行更复杂的查询:
- 使用 Elasticsearch 的 Query DSL 进行更复杂的查询。例如,查询
my_index
索引中标题包含 “Hello” 的文档:curl -X GET "http://localhost:9200/my_index/_search" -H 'Content-Type: application/json' -d '{"query": {"match": {"title": "Hello"}}}'
- 使用 Elasticsearch 的 Query DSL 进行更复杂的查询。例如,查询
- 使用 Kibana 进行可视化查询:
- 打开 Kibana,连接到 Elasticsearch。
- 在 Kibana 中,你可以使用图形用户界面(GUI)来构建和执行查询,以及查看数据的可视化效果。
请注意,以上只是一个入门的简单示例。在实际项目中,你可能会面对更复杂的数据建模、索引设置和查询需求。深入了解 Elasticsearch 的 Query DSL 和相关概念将有助于更有效地利用 Elasticsearch 的强大功能。在生产环境中,还需要考虑安全性、性能调优和数据管理等方面的问题。
Q: 如何验证 kibana
一旦 Kibana 成功安装并启动,你可以通过浏览器访问 Kibana 的 Web 界面进行验证。以下是一些建议的步骤:
- 打开浏览器:
- 打开你的 Web 浏览器(如 Chrome、Firefox、或 Edge)。
- 访问 Kibana:
- 在地址栏中输入 Kibana 的地址,默认情况下为
http://localhost:5601/
。
- 在地址栏中输入 Kibana 的地址,默认情况下为
- 登录 Kibana:
- 在第一次访问时,Kibana 通常会要求你设置初始密码。请按照提示进行设置。
- 在登录页面输入用户名和密码登录。如果是第一次登录,使用设置的初始用户名和密码。
- 验证 Kibana 主页:
- 一旦成功登录,你应该看到 Kibana 的主页。这个页面通常包含一些快速访问的面板,用于探索和可视化数据。
- 创建索引模式:
- 在 Kibana 中,你需要创建一个索引模式来指定你想要在 Kibana 中探索的数据。
- 转到 “Management”(管理)页面,选择 “Index Patterns”(索引模式),然后创建一个新的索引模式,指向你 Elasticsearch 中的索引。
- 执行查询和创建仪表板:
- 转到 “Discover”(探索)页面,执行一些简单的查询,确保你可以在 Kibana 中看到数据。
- 探索页面允许你执行查询并查看原始文档,而 “Visualize”(可视化)和 “Dashboard”(仪表板)页面则用于创建和展示数据可视化。
这些步骤应该帮助你验证 Kibana 是否正确安装并与 Elasticsearch 集成。
请注意,具体的步骤可能会根据你的 Kibana 版本和配置有所不同。如果遇到任何问题,请查看 Kibana 的日志文件以获取更多信息。
如何匹配 my_index
在 Kibana 中配置索引模式时,你需要确保模式能够正确匹配你的 Elasticsearch 索引。对于 my_index
这个例子,你可以按照以下步骤创建索引模式:
-
打开 Kibana 并登录。
-
转到 “Management”(管理)页面。
-
选择 “Index Patterns”(索引模式)。
-
点击 “Create index pattern”(创建索引模式)按钮。
-
在 “Index pattern” 字段中输入
my_index
。 -
Kibana 会尝试匹配以
my_index
开头的索引,选择正确的索引模式后,点击 “Next step”(下一步)。 -
在 “Time Filter field name”(时间过滤字段名称)中选择一个适合的时间字段(如果你的索引包含时间信息)。这是可选的。
-
点击 “Create index pattern”(创建索引模式)完成配置。
这样,你就成功创建了一个与 my_index
匹配的索引模式。在 Kibana 中,你现在可以使用该索引模式探索和可视化 my_index
中的数据。
请注意,索引模式的名称通常可以使用通配符,例如 *
,以匹配多个索引。如果你的索引有时间戳,你还可以使用日期通配符,例如 [my_index-]YYYY.MM.DD
,以按日期分割的索引命名规范来匹配。
如果有其他字段或特定配置在索引模式中需要处理,请根据实际情况进行调整。
参考资料
chat
https://www.cnblogs.com/hualess/p/11540477.html
https://www.cnblogs.com/djd66/p/16824935.html