1.简介
Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic Stack 是一套适用于数据采集、扩充、存储、分析和可视化的免费开源工具。人们通常将 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为 Beats,可用来向 Elasticsearch 发送数据。添加链接描述
2.基本概念
2.1.索引index
- 动词,相当于 MySQL 中的 insert
- 名词,相当于 MySQL 中的 Database
2.2.类型type
在 Index(索引)中,可以定义一个或多个类型,类似于 MySQL 中的 Table;每一种类型的数据放在一起;
2.3.文档document
保存在某个索引(Index)下,某种类型(Type)的一个数据(Document),文档是 JSON 格式的,Document 就像是 MySQL 中的某个 Table 里面的内容;
2.4.倒排索引机制
3.docker安装es
3.1.下载镜像
3.1.1.下载es镜像
docker pull elasticsearch:7.4.2
3.1.2.下载kibana镜像(可视化检索数据)
docker pull kibana:7.4.2
3.2.创建实例
#显示的当前内存的使用
free -m
#创建映射文件夹
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
#写入配置 代表es可以被远程任何机器可以访问(host:后边有个空格) 双尖括号表示写入
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
#保证权限
chmod -R 777 /mydata/elasticsearch/
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
特别注意:
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ 测试环境下,设置 ES 的初始内存和最大内存,否则导
致过大启动不了 ES
4.docker安装kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 \
-d kibana:7.4.2
5.设置开机自启
docker update fa2 --restart=always
docker update a7c --restart=always