简介:
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
官方文档:
https://www.elastic.co/cn/
https://www.elastic.co/cn/
1.下载镜像文件
2.创建实例
$ docker pull elasticsearch:7.4.2 #存储和检索数据$ docker pull kibana:7.4.2 #可视化检索数据
2.1.ElasticSearch
$ mkdir -p /mydata/elasticsearch/config #容器挂载宿主机的目录$ mkdir -p /mydata/elasticsearch/data #容器挂载宿主机的目录$ mkdir -p /mydata/elasticsearch/plugins$ chmod -R 777 /mydata/elasticsearch #保证文件夹权限都能访问$ echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml #表示所有ip都能访问,注意:http.host:(空格)0.0.0.0
$ docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \-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
-p 9200:9200 :外部访问elasticsearch端口
-p 9300:9300 :分布式集群下,相互通信的端口
-e "discovery.type=single-node" :单节点运行
-e ES_JAVA_OPTS="-Xms64m -Xmx128m":设置启动内存,最大占用内存
注意:
如果启动失败,可查看docker-elasticsearch日志
$ docker logs elasticsearch
如是用户权限的问题则修改/mydata/elasticsearch下文件的权限
$ chmod -R 777 /mydata/elasticsearch
浏览器访问:http://192.168.96.10:9200/
2.2.Kibana
$ docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.96.10:9200 -p 5601:5601 -d kibana:7.4.2
http://192.168.96.10:9200一定改为自己虚拟机的地址
浏览器访问:http://192.168.96.10:5601