APP下载

浅析ElasticSearch在CentOS环境下的部署与应用

2020-12-30

网络安全和信息化 2020年8期
关键词:引擎集群部署

编者按:ElasticSearch是一款分布式的搜索及分析引擎,在建立索引、搜索以及数据分析方面都有着非常优异的表现。本文笔者详细介绍了该引擎的部署细节与如何应用。

ElasticSear ch能够对所有类型数据进行实时的搜索及分析,无论是结构化或者非结构化的文本、数值数据、地理空间数据,ElasticSearch都能对数据进行存储并建立一种能支持高速搜索的索引。

ElasticSearch不止能简单地检索信息,还可以整合信息以发现数据中的规律及趋势。ElasticSearch的分布式特性使之能够很好地适应数据和查询量的不断增加,除此之外,ElasticSearch还能在各种情形下高效、灵活地处理数据,例如:

在应用程序或者网站中添加搜索框;

存储并分析日志、指标数据以及安全事件数据;

利用机器学习自动地、实时地为数据建立模型;

使用ElasticSearch作为存储引擎实现业务工作流的自动化;

使用ElasticSearch作为地理信息系统管理、集成和分析空间信息数据;

使用ElasticSearch作为生物信息学研究工具存储和处理遗传信息数据。

近年来,人们使用Elast icSearch的创新方式越来越多,但是无论是在上述几种情况下,还是在处理一些新的问题时,ElasticSearch处理数据、文档以及索引的基本原理都是不变的。

安装部署ElasticSearch

ElasticSearch的有两种部署方式,一种是创建一个托管在Elasticsearch Service上的服务,另一种是在本地的服务器上部署一个多节点的集群。在本文中,将详细介绍如何在CentOS系统环境下创建一个拥有三个节点的ElasticSearch集群。

1.新建1台装有CentOS系统的虚拟机(主机IP为172.16.24.118),安装好JDK并配置好环境变量,此过程不再赘述。

2.将下载好的ElasticS earch安装包上传到虚拟机中并解压。(命令:#tar -zxvf elasticsearch-6.4.3.tar.gz)

3.修改elasticsearch-6.4.3/config/elasticsea rch.yml文件中以下内容:

network.host:172.16.2 4.117

http.port:9200

4.在/etc/sysctl.conf文件中添加以下内容:

vm.max_map_count=6553 60

并执行命令#sysctl -p。

5.在/etc/security/limits.conf文件中添加以下内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

6.因为无法直接从root用户启动ElasticSearch,所以我们新建一个用户user1并给用户赋权,执行命令如下:

#groupadd es

#useradd user1 -g es-p 123456

切换到/usr/local目录下并执行命令:

#chown -R user1:es elasticsearch-6.4.3

7.执行下列命令以关闭防火墙并启动ElasticSearch

#systemctl stop firew alld.service

#cd/usr/local/elasticsearch-6.4.3/bin

#./elasticsearch

8.通过浏览器访问http:/172.16.24.118:9200以验证是否启动成功。

9.将上述已经安装好ElasticSearch的虚拟机克隆两台。(将IP地址分别修改为:172.16.24.117和172.16.24.116)

对elasticsearch-6.4.3/config/elasticsearch.yml文件进行以下修改。

cluster.name:myes(保证三个节点集群名称是相同的)

node.name:node-1(确保每个节点名称不一样,其他两台分别为node-2,node-3)

network.host:172.16.2 4.118(当前服务器IP地址)

discovery.zen.ping.unicast.hosts:["172.16.24.118","172.16.24.117","172.16.24.116"]

discovery.zen.minimum_master_nodes:1

10.启动三台服务器的elasticsearch服务,并通过浏览器访问http://172.16.24.118:9200/_cat/nodes?P retty来验证集群是否创建成功。

11.下面我们对Elastic Search进行一些测试(为了方便起见,我们通过一款叫做postman的软件进行测试)。

(1)通过向服务器发送下列HTTP请求以建立索引并定义类型:http://localhost:9200/local_mst_student_idx_1,返回。

(2)向新建的索引中添加数据。

(3)向elasticsearch发送查询请求。

后记

Elasticsearch把操作都封装成了HTTP的API,用户只需给Elasticsearch发送HTTP请求就能完成相关操作。除了用上述的方法安装部署ElasticSearch以外,各位还可以尝试用其他方式部署。

例 如,在Docker容 器中运行Elasticsearch、在Linux系统中用DEB包或者RPM包安装Elasticsearch、利用Homebrew在macOS环境下安装等。

大家可以前往ElasticS earch官方网站查看更多关于该软件的安装及使用方法介绍。

猜你喜欢

引擎集群部署
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
部署
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
蓝谷: “涉蓝”新引擎
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
部署“萨德”意欲何为?
无形的引擎