云环境下,如何快速搭建 ES集群、实现Kibana Web UI的正常访问?

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

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

OS:CentOS 7.6

ES:  ES 6.8.x

JDK: 1.8.181

第二步:安装ES集群

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

第三步:安装细节

默认情况下,我们的ES在不用更改任何配置的情况下,是可以正常启动的。因为ES有两种模式,一种是development模式,这个模式是供开发人员、运维人员去验证其功能是否正常完整的。默认情况下就是development.模式。一旦更改配置文件,那么它就运行在另外的模式  Production生产模式。那么这里我们不改配置。因为ES6以后,我们需要进行普通用户的创建,才能正常启动ES服务。所以我们需要新建一个普通用户,并将ES安装目录授权给刚新建的用户。命令如下:

所以,我们su - elas 切换到用户下,启动ES服务

/usr/local/elasticsearch-6.8.2/bin/elasticsearch 

通过JPS查看是否成功

好,接下来,重点来了,我们启动第二个ES节点,命令如下:

bin/elasticsearch -Ehttp.port=8200 -Epath.data=node2

以上这个命令的意思是:更改端口、更改索引存储的目录名字,默认是安装目录下的data目录。看是否启动ok?

再启动一个节点,同样的命令

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

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

看看安装目录下的索引目录的存放位置

我们知道,一个服务器上安装三个节点没问题了,但是三个节点是否组成一个集群呢?三者间有没有联系呢?我们确认一下:

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

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

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

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

进入安装目录,看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即可。 nohup $kibana安装目录/bin/kinaba &   ----->后台启动。

看浏览器能否正常打开界面呢?发现打开正常。说明Kibana链接ES集群成功

经查,我们可以在Kibana查到集群的三个节点的信息。至此,云主机快速搭建ES集群并连接kibana成功。

实际上,这个主机的ip为私有地址。这就实现了Kibana的外网访问,然后收集ES数据进行展示、存储、分析的过程。

发布了9 篇原创文章 · 获赞 7 · 访问量 7964

猜你喜欢

转载自blog.csdn.net/weixin_43236191/article/details/104190280