专栏首页南非骆驼的专栏ELK Stack系列之基础篇(四) - 如何快速搭建 ES集群、实现Kibana 的正常访问?
原创

ELK Stack系列之基础篇(四) - 如何快速搭建 ES集群、实现Kibana 的正常访问?

一、快速搭建ES集群

Elasticsearch本文统称“ES”。很多情况下,因为工作或者学习需要用到ES集群,但是自身服务器资源又有限,如何解决此问题呢?这里用1台云服务器,实现ES集群的搭建并与Kibana实现正常的连接。

第一步:检查系统环境、软件环境

Linx系统版本
ELK版本

第二步:安装集群

将ES软件从官网下载并解压到/usr/local/目录下,配置JDK开发环境变量(过程略)

解压目录
JDK设置

第三步:安装细节

默认情况下,我们的ES在不用更改任何配置的情况下,是可以正常启动的。因为ES有两种模式,一种是development模式,这个模式是供开发人员、运维人员去验证其功能是否正常完整的。默认情况下就是development.模式。一旦更改配置文件,那么它就运行在另外的模式Production生产模式。生产模式下的ES将会对各节点的环境检查、安全设置、日志告警级别有比较严格的要求。那么这里我们先不改配置,进而快速搭建一个集群。因为ES5以后,ES官方为了安全起见,禁止启用Root启动ES服务,因此我们需要进行普通用户的创建,才能正常启动ES服务。所以我们需要新建一个普通用户,并将ES安装目录授权给刚新建的用户。命令如下:

创建普通用户并授权ES安装目录

第四步:启动ES服务

所以,我们su - elas 切换到用户下,启动ES服务 /usr/local/elasticsearch-6.8.2/bin/elasticsearch (在前台启动,观看其进程状态,后面测试没问题后,我们在用“-d”选项放到后台启动)

第五步:通过JPS查看ES是否成功

查看ES进程命令

查看ES启动的默认端口9200是否启动,如下图

ES端口查看命令

当然我们也可以通过curl 命令,来查看这个节点的ES是否正常。如下图

curl命令

所以,到这里我们可以说,单节点ES是启动成功了对吧。

第六步:在同一个节点上,启动第二个节点

​​ 为了模拟集群的形式,我们需要再启动2个节点。我们用更改端口的形式在一台机器上启用第二个节点,使用如下命令

$PATH/bin/elasticsearch -Ehttp.port=8200 -Epath.data=node2 更改端口、更改索引存储的目录名字,默认是安装目录下的data

查看是否OK?发现正常启动

Node2的创建

第七步:在同一个节点上,启动第三个节点

$PATH/bin/elasticsearch -Ehttp.port=7200 -Epath.data=node3

Node3的创建

通过JPS命令查看: 三个ES进程启动了。

jps线程

同时我们也看到了ES安装目录下自动生成了我们的数据文件夹,如下所示:

ES集群数据文件存储目录

我们知道,一个服务器上安装三个节点没问题了,但是三个节点是否组成一个集群呢?三者间有没有联系呢?我们通过curl 127.0.0.1:8200/_cat/nodes 这个API看能否查出所有的节点信息:

集群状态信息

通过随便查看一个端口的状态我们可以看到有3个节点,然后带*号的是主节点,也就是Master节点。

我们再查看一下集群节点的状态:发现3个节点,集群的信息都显示出来了。说明集群间的连接是正常的。如下图:

查看集群状态

所以,到此为止,我们的三个节点都启动正常。

第八步:安装图形化工具 Kibana

一般情况下,ES作为实时的分布式搜索引擎,我们肯定不能将其暴露在外网,我们信息人员要保证其绝对的安全。但是我们又要操作ES,怎么办呢?这里推荐Kibana。它也是ELK Stack系列产品,能很好的无缝对接ES链接。Kibana基于Nodejs开发,解压即可使用。下面,我们将安装Kibana与ES进行无缝链接。

将Kibana解压到/usr/local下,解压即可

Kibana安装目录

进入安装目录,看config/kibana.yml文件,作简单的配置,只需要改下面三个地方:

server.port ---->kibana对外提供服务的http端口

server.host----->默认是localhost.因为这里是云主机,需要外网可以访问,因此我们需要改成0.0.0.0.但是如果是自己的虚拟机或者物理服务器我们需要改成自己的IP。

elastisearch.hosts----->Kibana链接ES的地址,一般Kibana跟ES都会安装在一起。所以这里只要改成127.0.0.1:9200即可。也就是说链接ES的内网IP即可。

Kibana配置

然后启动Kibana即可。使用 nohup $kibana安装目录/bin/kinaba & ----->后台启动

查看kibana是否正常启动

结果发现:kibana服务启动正常。那浏览器能否正常打开界面呢?

第九步:查看Kibana能否正常链接ES并打开 如下图:

Kibana操作界面

第十步:我们通过操作Kibana提供的开发工具,我们可以得出下面的结果,说明ES链接Kibana链接正常。

Kibana管理工具操作ES

二、总结

本节我们通过在一台云主机上,快速搭建了一个具有三个节点的ES集群。同时安装了Kibana,并实现了与ES的正常链接。后面我将利用其有效的管理开发工具对ES进行更进一步的讲解。以上就是基于云平台下环境的搭建。

本机的私有IP为:

云主机私有IP

​​

​​

​​

​​

​​

​​

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ELK Stack系列之基础篇(六) - ES6常用插件的推荐安装(六)

    前面我们讲到,ES是一款高可用、分布式的搜索分析存储引擎。那么这么一款软件本身已经非常强大,唯一的问题是什么呢?就是ES并不具备自身管理的功...

    南非骆驼漫谈ELK Stack
  • 腾讯云 Elasticsearch 实战篇(二十二) ES6.8权限使用配置

    在前面的章节中我们讲了开源架构ELK、腾讯云Elasticsearch产品系列。我们也知道了,在构建腾讯云ES集群的时候,我们选择的6.8.2白金版具备...

    南非骆驼漫谈ELK Stack
  • 腾讯云 Elasticsearch 运维篇(十五)实现Elasticsearch 基于白名单设置的公网访问

    腾讯云 Elasticsearch是一个搭建于云平台下的存储、搜索、分析引擎,可以预见它的安全性在企业中的位置是非常重要的。所以,一般我们不对外网暴露其...

    南非骆驼漫谈ELK Stack
  • ElasticSearch Aggregations 分析

    我记得有一次到一家公司做内部分享,然后有研发问我,即席分析这块,他们用ES遇到一些问题。我当时直接就否了,我说ES还是个全文检索引擎,如果要做分析,还是应该用I...

    用户2936994
  • ES的一知半解

    一个互联网应用(例如网上商城),搜索功能基本上是必备的。搜索的解决方案要快,最好有一个零配置和完全免费的搜索模式,能够简单地使用JSON通过HTTP的索引数据。...

    半吊子全栈工匠
  • 003.Elasticsearch-6.6.0生产环境集群部署指南

    ES是很消耗内存的,消耗的不是JVM的内存,一般来说ES用的JVM Heap还是比较少的,主要是使用机器的物理内存,ES底层基于Lucene,Lucene是基于...

    CoderJed
  • Elasticsearch学习,请先看这一篇!

    题记 Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨...

    铭毅天下
  • 百亿规模下,Elasticsearch如何打出实时计算架构设计、演进和性能优化的组合拳!

    ElasticSearch是基于Lucene的搜索服务器。依靠RESTful web接口,提供了一个分布式多用户能力的全文搜索引擎。

    养码场
  • 前沿 | 利用遗传算法优化神经网络:Uber提出深度学习训练新方式

    机器之心
  • Spark Core读取ES的分区问题分析

    ES也是比较火热,在日志数据分析,规则分析等确实很方便,说实话用es stack 浪尖觉得可以解决很多公司的数据分析需求。极客时间下周一要上线新的ES课程,有需...

    Spark学习技巧

扫码关注云+社区

领取腾讯云代金券