Elasticsearch搭建

101 阅读2分钟

介绍

Elasticsearch(简称 ES)是一个开源的、高扩展的、分布式的、提供多用户能力的全文搜索引擎,也是一个基于 Lucene 搜索的服务器,可以近乎实时地存储和搜索数据。

在云计算环境中,Elasticsearch 能够达到数据的实时搜索,而且性能非常稳定,安装与使用也非常便捷。Elasticsearch 在 Java、.NET、PHP、Python、Apache Groovy、Ruby 等程序设计语言中都可以使用。根据 DB-Engines 的排名,Elasticsearch 是非常受欢迎的企业搜索引擎之一。

Elasticsearch 能很方便地用于对大量数据进行搜索和分析,充分利用 Elasticsearch 的水平伸缩性,能够使数据在生产环境中变得更富有价值。

安装

本文简单讲述如何搭建ES,ES依赖JDK,本次使用的JDK8,本次搭建对应的ES版本为7.17.

首先下载[ES](Elasticsearch 7.17.8 | Elastic) 本文使用Ubuntu进行搭建,所以选择 LINUX X86_64 下载后放在对应的服务器上

# 解压文件到 /usr/local/目录下
sudo tar -zxvf elasticsearch-7.17.8-linux-x86_64.tar.gz -C /usr/local/
# 进入目录
cd /usr/local/elasticsearch-7.17.8/

启用自动创建系统索引

进入config目录

# 复制配置
sudo mv elasticsearch.yml elasticsearch_back.yml
# 新建配置
sudo vim elasticsearch.yml
# 添加内容
action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

从命令行运行Elasticsearch\

./bin/elasticsearch

执行时可能会提示 AccessDeniedException 给文件执行权限

sudo chown -R 用户名:用户名 /usr/local/elasticsearch-7.17.8/

后台执行

./bin/elasticsearch -d

外部访问处理

配置文件添加配置

network.host: 0.0.0.0

配置添加了后启动报错

ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
bootstrap check failure [2] of [2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts
, discovery.seed_providers, cluster.initial_master_nodes] must be configured
  1. 修改/etc/sysctl.conf配置
vm.max_map_count=655360
  1. 修改config/elasticsearch.yml配置
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
  1. 重启服务器
  2. 启动ES成功