今天小編給大家分享一下Docker怎么部署ElasticSearch和ElasticSearch-Head的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)提供從項(xiàng)目策劃、軟件開(kāi)發(fā),軟件安全維護(hù)、網(wǎng)站優(yōu)化(SEO)、網(wǎng)站分析、效果評(píng)估等整套的建站服務(wù),主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、網(wǎng)站制作,app開(kāi)發(fā)定制以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。成都創(chuàng)新互聯(lián)公司深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
1.docker部署elasticsearch:6.8.4版本
1.1 拉取鏡像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.4
1.2 運(yùn)行容器
elasticsearch的默認(rèn)端口是9200,我們把宿主環(huán)境9200端口映射到docker容器中的9200端口,就可以訪問(wèn)到docker容器中的elasticsearch服務(wù)了,同時(shí)我們把這個(gè)容器命名為es。
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e es_java_opts="-xms=256m -xms=256m" docker.elastic.co/elasticsearch/elasticsearch:6.8.4
說(shuō)明:
-e discovery.type=single-node :表示單節(jié)點(diǎn)啟動(dòng)
-e es_java_opts="-xms=256m -xms=256m" :表示設(shè)置es啟動(dòng)的內(nèi)存大小,這個(gè)真的要設(shè)置,不然后時(shí)候會(huì)內(nèi)存不夠,比如我自己的辣雞服務(wù)器!
1.3 內(nèi)存不足問(wèn)題
centos下載完elasticsearch并修改完配置后運(yùn)行docker命令:
發(fā)現(xiàn)沒(méi)有啟動(dòng)成功,去除命令的-d后打印錯(cuò)誤如下
java hotspot(tm) 64-bit server vm warning: info: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='cannot allocate memory' (errno=12)
經(jīng)過(guò)一番查找發(fā)現(xiàn)這是由于elasticsearch6.0默認(rèn)分配jvm空間大小為2g,內(nèi)存不足以分配導(dǎo)致。
解決方法就是修改jvm空間分配
運(yùn)行命令:
find /var/lib/docker/overlay/ -name jvm.options 查找jvm.options文件,找到后進(jìn)入使用vi命令打開(kāi)jvm.options如下: 將 -xms2g -xmx2g 修改為 -xms512m -xmx512m
保存退出即可。再次運(yùn)行創(chuàng)建運(yùn)行elasticsearch命令,成功啟動(dòng)。
2.docker部署elasticsearch-heard
2.1 拉取鏡像
docker pull mobz/elasticsearch-head:5
2.2 運(yùn)行容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
2.3 啟動(dòng)容器
docker start elasticsearch-head
2.4 打開(kāi)瀏覽器: http://ip:9100
發(fā)現(xiàn)連接不上,是因?yàn)橛锌缬騿?wèn)題,因?yàn)榍昂蠖朔蛛x開(kāi)發(fā)的所以需要設(shè)置一下es
2.5 進(jìn)入剛剛啟動(dòng)的 es 容器,容器name = es
docker exec -it es /bin/bash
2.6 修改elasticsearch.yml文件
vi config/elasticsearch.yml
添加
http.cors.enabled: true http.cors.allow-origin: "*"
其實(shí)就是springboot的yml文件 添加跨域支持
2.7 退出容器 并重啟
exit docker restart es
2.8 訪問(wèn)
以上就是“Docker怎么部署ElasticSearch和ElasticSearch-Head”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。