必知的技术知识:Elasticsearch和Kibana安装

简介: 必知的技术知识:Elasticsearch和Kibana安装

Elasticsearch 版本:5.4


Elasticsearch快速入门 第1篇:Elasticsearch入门


Elasticsearch快速入门 第2篇:Elasticsearch和Kibana安装


Elasticsearch快速入门 第3篇:Elasticsearch索引和文档操作


Elasticsearch快速入门 第4篇:Elasticsearch文档查询


Elasticsearch安装


Elasticsearch 至少需要Java 8。在撰写本文时,建议你使用Oracle JDK版本1.8.0_131。Java安装因平台而异,所以在这里不再赘述。Oracle的推荐安装文档可以在Oracle的网站上找到。在安装 Elasticsearch 之前,请先检查您的Java版本,然后再运行(如果需要,请相应地进行安装/升级):


java -version


echo $JAVA_HOME


安装了Java之后,下载并运行 Elasticsearch 。这些二进制文件可以在下载,与过去所有的所有版本一起提供。对于每个版本,您可以选择一个zip、tar、DEB或RPM包。


为了简单起见,下载Elasticsearch 5.4.1 tar,方式如下(window用户下载Elasticsearch 5.4.1 zip)


curl -L -O


然后//代码效果参考:http://hnjlyzjd.com/hw/wz_25420.html

解压缩如下

tar -xvf elasticsearch-5.4.1.tar.gz


然后进入bin目录


cd elasticsearch-5.4.1 / bin


现在准备启动我们的节点和单个集群(Windows用户应该运行 Elasticsearch.bat文件)


./elasticsearch


如果一切顺利,您应该会看到一堆如下所示的消息:


【2017-06-09T12:11:37,851】【INFO 】【o.e.n.Node 】 【】 initializing ...


【2017-06-09T12:11:38,117】【INFO 】【o.e.e.NodeEnvironment 】 【9fzvF2H】 using 【1】data paths, mounts 【【(D:)】】, net usable_space 【111.8gb】, net total_space 【123.5gb】, spins? 【unknown】, types 【NTFS】


【2017-06-09T12:11:38,117】【INFO 】【o.e.e.NodeEnvironment 】 【9fzvF2H】 heap size【1.9gb】, compressed ordinary object pointers 【true】


【2017-06-09T12:11:38,117】【INFO 】【o.e.n.Node 】 node name 【9fzvF2H】derived from node ID 【9fzvF2HKTverLyZwFl6w0w】; set 【node.name】 to override


【2017-06-09T12:11:38,117】【INFO 】【o.e.n.Node 】 version【5.4.1】, pid【3964】, build【2cfe0df/2017-05-29T16:05:51.443Z】, OS【Windows 7/6.1/amd64】, JVM【Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_131/25.131-b11】


【2017-06-09T12:11:38,117】【INFO 】【o.e.n.Node 】 JVM arguments 【-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+DisableExplicitGC, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Delasticsearch, -Des.path.home=D:\ProgramFiles\elasticsearch-5.4.1】


【2017-06-09T12:11:39,193】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【aggs-matrix-stats】


【2017-06-09T12:11:39,193】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【ingest-common】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【lang-expression】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【lang-groovy】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【lang-mustache】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【lang-painless】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【percolator】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【reindex】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【transport-netty3】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 loaded module 【transport-netty4】


【2017-06-09T12:11:39,209】【INFO 】【o.e.p.PluginsService 】 【9fzvF2H】 no plugins loaded


【2017-06-09T12:11:41,471】【INFO 】【o.e.d.DiscoveryModule 】 【9fzvF2H】 using discovery type 【zen】


【2017-06-09T12:11:42,032】【INFO 】【o.e.n.Node 】 initialized


【2017-06-09T12:11:42,032】【INFO 】【o.e.n.Node 】 【9fzvF2H】 starting ...


【2017-06-09T12:11:43,171】【INFO 】【o.e.t.TransportService 】 【9fzvF2H】 publish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}, {【::1】:9300}


【2017-06-09T12:11:46,248】【INFO 】【o.e.c.s.ClusterService 】 【9fzvF2H】 new_master{9fzvF2H}{9fzvF2HKTverLyZwFl6w0w}{yMmmD0nORKqEmQ0lrqKu3Q}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master (【0】 nodes joined)


【2017-06-09T12:11:46,280】【INFO 】【o.e.g.GatewayService 】 【9fzvF2H】 recovered【0】 indices into cluster_state


【2017-06-09T12:11:46,919】【INFO 】【o.e.h.n.Netty4HttpServerTransport】 【9fzvF2H】 publish_address {127.0.0.1:9200}, bound_addresses {127.0.0.1:9200}, {【::1】:9200}


【2017-06-09T12:11:46,919】【INFO 】【o.e.n.Node 】 【9fzvF2H】 started


没有太多细节,我们可以看到,我们的名为"9fzvF2H"的节点(在您的情况下将是一组不同的字符)已经启动并在单个集群中将其选为 master 。此时先不用在意 master 是什么意思。最重要的是我们已经在一个集群中启动了一个节点。


如前所述,我们可以修改集群或节点名称。这可以在启动 Elasticsearch 时从命令行完成,如下所示:


./elasticsearch -Ecluster.name = my_cluster_name -Enode.name = my_node_name


比如, D:\ProgramFiles\elasticsearch-5.4.1\bin\elasticsearch.bat -Ecluster.name=my_cluster -Enode.name=node_1


还要注意标有http的行,该信息提示我们的节点可以通过HTTP地址(127.0.0.1)和port(9200)被访问。默认情况下, Elasticsearch 使用端口9200来提供对其REST API的访问。如果需要,该端口是可配置的。


在浏览器中输入: ,返回如下信息,表示安装成功。


{


"name" : "9fzvF2H",


"cluster_name" : "elasticsearch",


"version" : {


"number" : "5.4.1",


"build_hash" : "2cfe0df",


"build_date" : "2017-05-29T16:05:51.443Z",


"build_snapshot" : false,


"lucene_version" : "6.5.1"


},


"tagline" : "You Know, for Search"


}


探索集群


REST API


现在我们的节点(和群集)启动并运行,接下来的步骤是了解如何与它进行通信。幸运的是, Elasticsearch 提供了一个非常全面和强大的REST API,您可以使用它来与群集进行交互。API可以完成的几件事情如下:


检查您的群集,节点和索引运行状况,状态和统计信息


管理您的集群,节点和索引数据和元数据


执行CRUD(创建,读取,更新和删除)并针对索引进行搜索操作


执行高级搜索操作,如分页,排序,过滤,脚本,聚合等等


Kibana


Kibana 是一个开源分析和可视化平台,旨在可视化操作 Elasticsearch 。Kibana可以用来搜索,查看和与存储在 Elasticsearch 索引中的数据进行交互。可以轻松地进行高级数据分析,并可在各种图表,表格和地图中显示数据。


Kibana 可以轻松理解海量数据。其简单的基于浏览器的界面使您能够快速创建和共享动态仪表板,实时显示 Elasticsearch 查询的更改。


安装Kibana简单快速。您可以安装 Kibana ,并在几分钟内开始探索您的 Elasticsearch 索引 - 不需要代码,也不需要需额外的基础架构。


安装Kibana


本节包括安装 Kinbana ,以及配置和运行


支持的平台


提供 Kibana 软件包,并针对Linux,Darwin和Windows进行测试。由于Kibana运行在Node.js上,所以我们为这些平台添加了必要的Node.js二进制文件。不支持单独维护版本的Node.js来运行Kibana。


Elasticsearch版本


应将 Kibana 配置为和 Elasticsearch 节点运行的版本相同。这是官方支持的配置。


不支持运行不同主版本的 Kibana 和 Elasticsearch (例如 Kibana 5.x 和 Elasticsearch 2.x ), Kibana 的次要版本比 Elasticsearch 的次要版本(例如 Kibana 5.1 和 Elasticsearch5.0)高也不支持。


Elasticsearch 的次要版本比kibana的次要版本高通常会起作用,不过这样只是为了满足首先升级 Elasticsearch ,然后升级kibana的需要,(例如 Kibana 5.0 和 Elasticsearch 5.1 )。在这种配置中, Kibana 服务器启动时将会记录一个警告,因此两个版本不一致的情况只是暂时的,为了不记录警告,还得将 Kibana 升级到与 Elasticsearch 相同的版本。


一般情况下,支持运行Kibana和 Elasticsearch 的不同补丁版本(例如 Kibana 5.0.0 和 Elasticsearch 5.0.1 ),尽管我们鼓励用户下载Kibana和 Elasticsearch 的相同补丁版本。


安装包


Kibana提供以下格式的安装包:


tar.gz/zip: tar.gz 用于在Linux和Darwin上安装, zip 唯一支持window的安装包,是入门Kibana最好的选择。Install Kibana with .tar.gz or Install Kibana on Windows


deb: 适用于Debian, Ubuntu, 以及其他 Debian-based系统。Install Kibana with Debian Package


rpm:适用于 Red Hat, Centos, SLES, OpenSuSE 以及RPM-based 系统,Install Kibana with RPM


docker:一个镜像可以用来运行kibana作为docker容器,它附带 X-Pack 预安装,可从Elastic Docker注册。(不懂docker,不知道怎么表述好)Running Kibana on Docker


如果您的Elasticsearch安装受X-Pack安全保护, 请参阅使用Kibana与X-Pack Security进行其他安装说明。


在windows上安装Kibana


最新的稳定版本的Kibana可以在下载Kibana页面找到 。其他版本可以在过去版本页面找到 。


解压缩。这将创建一个名为kibana-5.4.1-windows-x86的文件夹,我们将其称为$KIBANA_HOME。在终端窗口中,CD到$KIBANA_HOME目录下的bin,例如:


D:>cd D:\ProgramFiles\kibana-5.4.1-windows-x86\bin


从命令行运行Kibana


kibana


出现以下日志


D:\ProgramFiles\kibana-5.4.1-windows-x86\bin>kibana


log 【07:29:47.631】 【info】【optimize】 Optimizing and caching bundles for kibana, timelion and status_page. This may take a few minutes


log 【07:31:43.968】 【info】【optimize】 Optimization of bundles for kibana, timelion and status_page complete in 116.34 seconds


log 【07:31:44.030】 【info】【status】【plugin:kibana@5.4.1】 Status changed from uninitialized to green - Ready


log 【07:31:44.124】 【info】【status】【plugin:elasticsearch@5.4.1】 Status changed from uninitialized to yellow - Waiting for Elasticsearch


log 【07:31:44.155】 【info】【status】【plugin:console@5.4.1】 Status changed from uninitialized to green - Ready


log 【07:31:44.170】 【info】【status】【plugin:metrics@5.4.1】 Status changed from uninitialized to green - Ready


log 【07:31:44.373】 【info】【status】【plugin:timelion@5.4.1】 Status changed from uninitialized to green - Ready


log 【07:31:44.389】 【info】【listening】 Server running at


log 【07:31:44.389】 【info】【status】【ui settings】 Status changed from uninitialized to yellow - Elasticsearch plugin is yellow


log 【07:31:49.435】 【info】【status】【plugin:elasticsearch@5.4.1】 Status changed from yellow to yellow - No existing Kibana index found


log 【07:31:50.000】 【info】【status】【plugin:elasticsearch@5.4.1】 Status changed from yellow to green - Kibana index ready


log 【07:31:50.000】 【info】【status】【ui settings】 Status changed from yellow to green - Ready


在浏览器中输入: ,出现界面表示安装成功。


集群健康


让我们先从基础的健康检查开始,我们可以使用它去了解我的集群是如何运作的。我们将会使用上面安装的kibana控制台去做这个实验,不过你也可以使用任何一个支持HTTP/REST的工具调用接口,比如curl。假如我们继续使用刚刚启动的 Elasticsearch 节点。


为了检查集群监控,我们需要使用 _cat API。在Kibana控制台中运行命令 GET /_cat/health?v 。


返回内容如下:


epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent


1496995261 16:01:01 elasticsearch yellow 1 1 1 1 0 0 1 0 - 50.0%


可以看到名为 elasticsearch 的集群已经处于黄色状态。 每当我们查询集群健康情况时,接口可能会返回green,yellow或red状态。green意味着一切良好(集群所有的功能都正常)。yellow意味着所有的数据都是可用的,但是一些复制分片可能没有正确分发(集群的所有功能还是正常的)。red意味着因为某些原因导致有些数据不能使用。注意,即使集群状态是red,它仍然可以运行一部分的功能。(例如,它依然可以从一些可用的分片处理搜索请求)但你应该尽快去修复它,因为这样会使搜索结果丢失一些数据。


从上面的响应中,可以看到集群名称为 elasticsearch ,只有1个节点,有1个数据,1个分片。注意,由于我们使用默认的群集名称( Elasticsearch ),并且由于 Elasticsearch 默认使用单播网络来查找同一台计算机上的其他节点,因此可能会意外启动计算机上的多个节点,并使它们都加入同一个群集。在这种情况下,您可能会在上述响应中看到超过1个节点。


也可以得到集群中节点列表,如下:


GET /_cat/nodes?v


返回内容如下:


ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name


127.0.0.1 8 84 4 mdi * 9fzvF2H


可以看到集群中只有一个名叫"9fzvF2H"的节点。


总结


1、什么是kibana?对于目前来说,就是一个可视化界面,方便写代码对ES进行操作。


2、ES和kibana怎么安装?在windows上,直接下载压缩包,解压后进入bin目录,运行Elasticsearch.bat和kibana.bat即可。


3、快速检查集群的健康状况, GET /_cat/health?v


4、集群的健康值理解


green:每个索引的primary shard和replica shard都是active状态的


yellow:每个索引的primary shard都是active状态的,但是部分replica shard不//代码效果参考:http://hnjlyzjd.com/hw/wz_25418.html

是active状态(比如单台机器上副本无法被分配),处于不可用的状态

red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了


5、查看所有节点, GET /_cat/nodes?v


官方文档


参考文档

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
2129 64
|
12月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
5857 0
|
数据采集 人工智能 运维
从企业级 RAG 到 AI Assistant,阿里云Elasticsearch AI 搜索技术实践
本文介绍了阿里云 Elasticsearch 推出的创新型 AI 搜索方案
870 3
从企业级 RAG 到 AI Assistant,阿里云Elasticsearch AI 搜索技术实践
|
机器学习/深度学习 人工智能 运维
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
阿里云技术公开课预告:Elastic和阿里云搜索技术专家将深入解读阿里云Elasticsearch Enterprise版的AI功能及其在实际应用。
731 2
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
|
数据采集 人工智能 运维
从企业级 RAG 到 AI Assistant,阿里云Elasticsearch AI 搜索技术实践
本文介绍了阿里云 Elasticsearch 推出的创新型 AI 搜索方案。
1099 5
|
存储 运维 监控
Elasticsearch Serverless高性价比智能时序分析关键技术解读
本篇演讲由阿里云1s团队的贾新寓讲解,主题为高性价比、智能日志更新关键技术。内容分为四部分:回顾日志场景痛点、介绍四大关键能力(开箱即用、高性能低成本、按量付费、智能调度免运维)、解读关键技术(如读写分离架构、ES内核优化等),并演示如何快速接入Serverless产品。通过这些技术,显著提升性能、降低成本,帮助用户实现高效日志管理。
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
1070 8
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。
|
存储 监控 安全
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
634 5

热门文章

最新文章