阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Elasticsearch和Kibana安装部署

172次阅读
没有评论

共计 10170 个字符,预计需要花费 26 分钟才能阅读完成。

Elasticsearch 安装

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

java -version
echo $JAVA_HOME

安装了 Java 之后,下载并运行 Elasticsearch 这些二进制文件可以在 www.elastic.co/downloads 下载, 与过去所有的所有版本一起提供。对于每个版本,您可以选择一个 ziptarDEBRPM包。

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

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.tar.gz

然后解压缩如下

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

window 下由于启动执行的是 bat,不知道用这种方式该怎么修改集群或节点名称,望大神们赐教。

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

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

{"name" : "9fzvF2H",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "xBoSQEYqQSaJjzzpmAj7aw",
  "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 http://localhost:5601
  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
在浏览器中输入:http://localhost:5601,出现界面表示安装成功。

集群健康

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

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

Elasticsearch 和 Kibana 安装部署

回应

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” 的节点。

官方文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/_exploring_your_cluster.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/_cluster_health.html

https://www.elastic.co/guide/en/kibana/5.4/introduction.html

https://www.elastic.co/guide/en/kibana/5.4/setup.html

https://www.elastic.co/guide/en/kibana/5.4/install.html

https://www.elastic.co/guide/en/kibana/5.4/windows.html

参考文档

https://github.com/13428282016/elasticsearch-CN/wiki/es-gettting-started

Elasticsearch 教程系列文章

Linux 上安装部署 ElasticSearch 全程记录  http://www.linuxidc.com/Linux/2015-09/123241.htm

Linux 下 Elasticsearch 1.7.0 安装配置 http://www.linuxidc.com/Linux/2017-05/144215.htm

Elasticsearch 的安装,运行和基本配置 http://www.linuxidc.com/Linux/2016-07/133057.htm

使用 Elasticsearch + Logstash + Kibana 搭建日志集中分析平台实践  http://www.linuxidc.com/Linux/2015-12/126587.htm

Ubuntu 14.04 搭建 ELK 日志分析系统(Elasticsearch+Logstash+Kibana) http://www.linuxidc.com/Linux/2016-06/132618.htm

Elasticsearch1.7 升级到 2.3 实践总结  http://www.linuxidc.com/Linux/2016-11/137282.htm

Ubuntu 14.04 中 Elasticsearch 集群配置  http://www.linuxidc.com/Linux/2017-01/139460.htm

Elasticsearch-5.0.0 移植到 Ubuntu 16.04 http://www.linuxidc.com/Linux/2017-01/139505.htm

ElasticSearch 5.2.2 集群环境的搭建  http://www.linuxidc.com/Linux/2017-04/143136.htm

Linux 下安装搜索引擎 Elasticsearch  http://www.linuxidc.com/Linux/2017-05/144105.htm

CentOS 上安装 ElasticSearch 详解  http://www.linuxidc.com/Linux/2017-05/143766.htm

ElasticSearch 的详细介绍:请点这里
ElasticSearch 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144693.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计10170字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中