一讥邻、ElasticSearch是什么?
Elasticsearch也使用Java開發(fā)并使用Lucene作為其核心來實(shí)現(xiàn)所有索引和搜索的功能拦英,但是它的目的是通過簡(jiǎn)單的RESTful API來隱藏Lucene的復(fù)雜性蜒什,從而讓全文搜索變得簡(jiǎn)單。
不過疤估,Elasticsearch不僅僅是Lucene和全文搜索灾常,我們還能這樣去描述它:
- 分布式的實(shí)時(shí)文件存儲(chǔ),每個(gè)字段都被索引并可被搜索
- 分布式的實(shí)時(shí)分析搜索引擎
- 可以擴(kuò)展到上百臺(tái)服務(wù)器铃拇,處理PB級(jí)結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)
二钞瀑、Docker 部署 ElasticSearch
2.1 拉取鏡像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.8.0
2.2 運(yùn)行容器
ElasticSearch
的默認(rèn)端口是9200,我們把宿主環(huán)境9200端口映射到Docker
容器中的9200端口慷荔,就可以訪問到Docker
容器中的ElasticSearch
服務(wù)了雕什,同時(shí)我們把這個(gè)容器命名為es
。
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.8.0
2.3 配置跨域
2.3.1 進(jìn)入容器
由于要進(jìn)行配置显晶,因此需要進(jìn)入容器當(dāng)中修改相應(yīng)的配置信息监徘。
docker exec -it es /bin/bash
2.3.2 進(jìn)行配置
# 顯示文件
ls
結(jié)果如下:
LICENSE.txt README.textile config lib modules
NOTICE.txt bin data logs plugins
# 進(jìn)入配置文件夾
cd config
# 顯示文件
ls
結(jié)果如下:
elasticsearch.yml log4j2.properties scripts
# 修改配置文件
vi elasticsearch.yml
# 加入跨域配置,用于elasticsearch-head連接
http.cors.enabled: true #冒號(hào)后有空格
http.cors.allow-origin: "*" #冒號(hào)后有空格
2.3 重啟容器
由于修改了配置吧碾,因此需要重啟ElasticSearch
容器凰盔。
docker restart es
展示如下:
三、Docker 部署 ElasticSearch-Head
為什么要安裝ElasticSearch-Head
呢倦春,原因是需要有一個(gè)管理界面進(jìn)行查看ElasticSearch
相關(guān)信息
3.1 拉取鏡像
docker pull mobz/elasticsearch-head:5
3.2 運(yùn)行容器
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
展示如下:
這樣户敬,我們就完成了用Docker提供Elasticsearch服務(wù),而不污染宿主機(jī)環(huán)境了睁本,這樣還有一個(gè)好處尿庐,如果想同時(shí)啟動(dòng)多個(gè)不同版本的Elastcsearch或者其他服務(wù),Docker也是一個(gè)理想的解決方案呢堰。
轉(zhuǎn)載:Docker 簡(jiǎn)單部署 ElasticSearch