Elasticsearch(简称ES)是一个开源的分布式搜索和分析引擎,最初由Elastic公司创建。它属于Elastic Stack(ELK Stack)的核心组件之一,用于实时地存储、检索和分析大量数据。
以下是Elasticsearch的一些关键特点和用途:
1. 分布式搜索引擎:Elasticsearch可以轻松地扩展到成百上千台服务器,允许你在大规模数据集上执行快速和复杂的搜索。
2. 全文搜索:它支持全文搜索,可以处理非结构化和半结构化数据,使用户能够进行自然语言搜索。
3. 实时性:Elasticsearch能够提供近实时的搜索和分析,因此非常适合用于日志处理、监控和实时数据分析。
4. 多数据类型支持:它支持各种数据类型,包括文本、数字、地理位置、日期等,因此适用于多种应用场景。
5. 分布式特性:Elasticsearch具有强大的分布式特性,自动管理数据的分片和复制,以确保高可用性和容错性。
6. 开放源代码:Elasticsearch是开源的(源码地址),基于Apache许可证,允许用户自由使用、修改和分发。
7. 丰富的生态系统:Elasticsearch与Kibana、Logstash和Beats等工具结合使用,构成了Elastic Stack,提供了强大的日志管理、监控和数据可视化功能。
8. 用途广泛:Elasticsearch可用于各种用途,包括日志和指标分析、全文搜索引擎、企业搜索、安全信息和事件管理、商业智能等。
Kibana是一个用于数据可视化和管理的开源工具,主要用于与Elasticsearch协同工作。它是Elastic公司ELK堆栈(Elasticsearch、Logstash、Kibana)的一部分,旨在帮助用户轻松地搜索、分析和可视化大规模数据集。
下面我们来介绍一下在docker环境下ES的安装流程及Kibana工具的安装流程。
1. 安装并运行docker
Docker Desktop.
2. 运行命令行
docker network create elastic
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.1.1
docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.1.1
3. 安全配置准备
首次启动 Elasticsearch 时,会自动进行以下安全配置:
elasticsearch.yml
.elastic
用户生成密码。4. 复制生成的密码和注册令牌并将其保存在安全位置。
这些值仅在您第一次启动 Elasticsearch 时显示。我们将使用这些将 Kibana 注册到我们的 Elasticsearch 集群并登录。
5. 运行 docker ps
命令验证容器是否启动
6. 访问 localhost:9200 输入 elastic / 密码
验证。
ES8.1增加了安全验证, ssl默认开启, 因此不能使用http访问。
> max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Linux
修改配置文件
grep vm.max_map_count /etc/sysctl.conf vm.max_map_count=262144
启动配置sysctl -w vm.max_map_count=262144
Mac
启动命令行执行
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
回车然后确认输入配置sysctl -w vm.max_map_count=262144
Windows and macOS with Docker Desktop
通过docker-machine进行设置
docker-machine ssh
sudo sysctl -w vm.max_map_count=262144
Windows with Docker Desktop WSL 2 backend
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
> exception during geoip databases update
重启容器, 并使用docker exec
链接容器
在 elasticsearch.yml 配置文件 添加以下配置关闭 geoip database
ingest.geoip.downloader.enabled: false
1. 运行命令行
docker pull docker.elastic.co/kibana/kibana:8.1.1
docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.1.1
2. 要访问 Kibana,请单击终端中生成的链接。默认为:Kibana
3. 使用 Kibana
打开 Kibana 的主菜单并转到Dev Tools > Console