在Linux系统下,CentOS7是一个非常流行的操作系统,广泛应用于服务器环境中,ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,Elasticsearch是用Java开发的,并作为Apache许可条款下的开源发布,是当前主流的企业级搜索引擎,本文将介绍如何在CentOS7下搭建ElasticSearch中间件,并进行常用接口的演示。
安装JDK
我们需要在CentOS7上安装JDK,可以通过yum命令进行安装:
sudo yum install java-1.8.0-openjdk-devel
下载并解压ElasticSearch
接下来,我们需要从ElasticSearch的官方网站下载最新的版本,然后解压到/usr/local/目录下:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz -C /usr/local/
配置ElasticSearch
配置ElasticSearch主要是修改两个文件:elasticsearch.yml和jvm.options,elasticsearch.yml是ElasticSearch的主要配置文件,jvm.options是JVM的启动参数配置文件。
1、修改elasticsearch.yml文件:
vim /usr/local/elasticsearch-7.6.2/config/elasticsearch.yml
在这个文件中,我们可以设置ElasticSearch的运行模式(单机或集群)、数据存储路径、网络设置等,我们可以设置如下内容:
cluster.name: my-application node.name: node-1 path.data: /usr/local/elasticsearch-7.6.2/data network.host: localhost http.port: 9200
2、修改jvm.options文件:
vim /usr/local/elasticsearch-7.6.2/config/jvm.options
在这个文件中,我们可以设置JVM的启动参数,例如设置堆内存大小:
-Xms1g -Xmx1g
启动ElasticSearch
配置完成后,我们可以通过以下命令启动ElasticSearch:
cd /usr/local/elasticsearch-7.6.2/bin/ ./elasticsearch
常用接口演示
ElasticSearch提供了丰富的RESTful API,我们可以通过这些API进行数据的增删改查等操作,以下是一些常用的API:
1、创建索引:PUT /my_index
2、删除索引:DELETE /my_index
3、添加文档:POST /my_index/_doc/1
4、查询文档:GET /my_index/_doc/1
5、更新文档:POST /my_index/_update/1
6、删除文档:DELETE /my_index/_doc/1
7、批量操作:POST /my_index/_bulk
8、聚合操作:GET /my_index/_search?aggs=avg_price(price)&group=by_brand
问题与解答
问题1:我在启动ElasticSearch时遇到了"max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]"的错误,怎么办?
答:这个错误是因为JVM的虚拟内存区域数量设置过低导致的,你可以通过以下命令增加虚拟内存区域数量:
sudo sysctl -w vm.max_map_count=262144
问题2:我在使用ElasticSearch的API时,总是返回"Request failed to get http://… No living connections"的错误,怎么办?
答:这个错误通常是因为ElasticSearch服务没有正常运行导致的,你可以先检查ElasticSearch服务是否已经启动,然后再检查网络连接是否正常,如果以上都没有问题,那么可能是ElasticSearch的配置有问题,需要检查elasticsearch.yml和jvm.options两个文件的配置是否正确。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/346134.html