ElasticSearch简介与安装指南
一、Elasticsearch简介
Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,由 Elastic 公司创建并维护。它基于 Apache Lucene 构建,提供了一个分布式、多租户的全文搜索引擎,支持 HTTP Web 接口和无模式 JSON 文档。作为 Elastic Stack(通常被称为 ELK Stack)的核心组件,Elasticsearch 因其简单的 REST API、分布式特性、速度和可扩展性而广受欢迎。Elastic Stack 还包括 Logstash(用于数据采集和处理)和 Kibana(用于数据可视化展示)等组件。
Elasticsearch的主要特点和优势
- 分布式实时文件存储:支持将每一个字段存入索引,使其可以被快速检索到。
- 实时分析的分布式搜索引擎:支持将索引分拆成多个分片,每个分片可以有零个或多个副本,从而可以扩展到上百台服务器,处理 PB 级别的结构化或非结构化数据。
- 插件机制:支持各种插件,如分词插件(例如中文分词)、同步插件、可视化插件(如 Kibana),增强了其功能和灵活性。
- 多类型数据支持:适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。
- 简单易用:通过 RESTful API 隐藏了 Lucene 的复杂性,使得全文检索变得简单。
Elasticsearch的应用场景
Elasticsearch 被广泛应用于各种 IT 公司,用于实现:
- 应用搜索、网站搜索、企业搜索
- 日志记录和日志分析
- 基础设施指标和容器监控
- 应用性能监控
- 地理空间数据分析和可视化
- 安全分析、商业分析等
二、Elasticsearch安装
Elasticsearch 的安装方式多种多样,本文介绍基于 Docker 的安装方法和手动安装方法。
1. 基于 Docker 的安装
拉取 Elasticsearch 镜像
使用以下 Docker 命令从 Docker Hub 拉取 Elasticsearch 镜像:
docker pull elasticsearch:版本号
运行 Elasticsearch 容器
运行以下命令启动 Elasticsearch 容器,并设置必要的环境变量和端口映射:
docker run -d \
--name elasticsearch \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:版本号
(可选)安装 Kibana
Kibana 是 Elasticsearch 的可视化工具,可以通过 Docker 安装并配置以连接到 Elasticsearch。
2. 手动安装
下载 Elasticsearch 安装包
从 Elasticsearch 官网 下载适合你操作系统的安装包。
解压并配置 Elasticsearch
解压下载的安装包,并根据需要配置 Elasticsearch。例如,修改 config/elasticsearch.yml
文件,加入以下内容:
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
启动 Elasticsearch
使用命令行工具启动 Elasticsearch 服务,并确保其正常运行:
./elasticsearch -d
查看端口状态
检查 Elasticsearch 是否正常运行:
- 端口检查:
curl 'http://localhost:9200'
- 健康检查:
curl 'localhost:9200/_cat/health?v'
你应该看到类似如下的响应:
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1639571315 13:21:55 elasticsearch yellow 1 1 1 1 0 0 1 0 - 50.0%
(可选)安装和配置 Kibana
从 Kibana 官网 下载并安装 Kibana,然后配置其连接到 Elasticsearch。
安装注意事项
安装过程中可能需要根据具体的环境和需求调整安装步骤和配置参数。确保服务器有足够的资源来支持 Elasticsearch 的运行,尤其是在生产环境中部署时。