docker下,一行命令搭建elasticsearch6.5.0集群(帶head插件和ik分詞器)
2019年01月27日 21:06:12?博陵精騎?閱讀數(shù):794?標簽:?dockerelasticsearchelasticsearch-headik分詞器更多
個人分類:?Docker實戰(zhàn)elasticsearch
所屬專欄:?elasticsearch之旅
版權聲明:歡迎轉載,請注明出處,謝謝。 https://blog.csdn.net/boling_cavalry/article/details/86669450
搭建一個elasticsearch6.5.0集群環(huán)境,再把elasticsearch-head插件和ik分詞器裝好,在docker環(huán)境下完成這些工作需要多久?
答案是:只需下面這一行命令:
<span style="color:#000000"><code class="language-shell"><span style="color:#61aeee">wget</span> https://raw.githubusercontent.com/zq2599/blog_demos/master/elasticsearch_docker_compose/docker-compose.yml <span style="color:#669900">&&</span> \
docker-compose up -d
</code></span>
接下來就試試這一行命令吧;
環(huán)境信息
操作系統(tǒng):CentOS 7.6docker:17.03.2-cedocker-compose:version 1.23.2elasticsearch:這里選用的是6.5.0版本的elasticsearch,因為目前ik分詞器官方最高只支持到6.5.0版本
驗證
在上述環(huán)境下,輸入上面提到的那行命令,即可創(chuàng)建elasticsearch6.5.0集群環(huán)境,如下:
<span style="color:#000000"><code class="language-shell"><span style="color:#999999">[</span>root@hedy 003<span style="color:#999999">]</span><span style="color:#5c6370"># wget https://raw.githubusercontent.com/zq2599/blog_demos/master/elasticsearch_docker_compose/docker-compose.yml && \</span>
<span style="color:#669900">></span> docker-compose up -d
--2019-01-27 20:38:10-- https://raw.githubusercontent.com/zq2599/blog_demos/master/elasticsearch_docker_compose/docker-compose.yml
正在解析主機 raw.githubusercontent.com <span style="color:#999999">(</span>raw.githubusercontent.com<span style="color:#999999">)</span><span style="color:#999999">..</span>. 151.101.24.133
正在連接 raw.githubusercontent.com <span style="color:#999999">(</span>raw.githubusercontent.com<span style="color:#999999">)</span><span style="color:#669900">|</span>151.101.24.133<span style="color:#669900">|</span>:443<span style="color:#999999">..</span>. 已連接。
已發(fā)出 HTTP 請求,正在等待回應<span style="color:#999999">..</span>. 200 OK
長度:1227 <span style="color:#999999">(</span>1.2K<span style="color:#999999">)</span> <span style="color:#999999">[</span>text/plain<span style="color:#999999">]</span>
正在保存至: “docker-compose.yml”100%<span style="color:#999999">[</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">==</span><span style="color:#669900">=</span><span style="color:#669900">></span><span style="color:#999999">]</span> 1,227 --.-K/s 用時 0s 2019-01-27 20:38:11 <span style="color:#999999">(</span>61.9 MB/s<span style="color:#999999">)</span> - 已保存 “docker-compose.yml” <span style="color:#999999">[</span>1227/1227<span style="color:#999999">]</span><span style="color:#999999">)</span>Creating network <span style="color:#669900">"003_esnet"</span> with the default driver
Creating <span style="color:#61aeee">head</span> <span style="color:#999999">..</span>. <span style="color:#c678dd">done</span>
Creating elasticsearch2 <span style="color:#999999">..</span>. <span style="color:#c678dd">done</span>
Creating elasticsearch <span style="color:#999999">..</span>. <span style="color:#c678dd">done</span>
</code></span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
假設docker所在電腦的IP地址是192.168.1.101,如下圖,瀏覽器訪問此地址可以查看es信息:http://192.168.1.101:9200
如下圖,瀏覽器訪問此地址可以使用head插件:http://192.168.1.101:9100
執(zhí)行以下命令來創(chuàng)建一個索引:
<span style="color:#000000"><code class="language-shell"><span style="color:#61aeee">curl</span> -X PUT http://192.168.1.101:9200/test001
</code></span>
執(zhí)行以下命令驗證ik分詞器效果:
<span style="color:#000000"><code class="language-shell"><span style="color:#61aeee">curl</span> -X POST \
<span style="color:#669900">'http://192.168.1.101:9200/test001/_analyze?pretty=true'</span> \
-H <span style="color:#669900">'Content-Type: application/json'</span> \
-d <span style="color:#669900">'{"text":"我們是軟件工程師","tokenizer":"ik_smart"}'</span>
</code></span>
收到的響應如下,可見ik分詞器已經(jīng)生效:
<span style="color:#000000"><code class="language-shell"><span style="color:#999999">{</span><span style="color:#669900">"tokens"</span> <span style="color:#c678dd">:</span> <span style="color:#999999">[</span><span style="color:#999999">{</span><span style="color:#669900">"token"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"我們"</span>,<span style="color:#669900">"start_offset"</span> <span style="color:#c678dd">:</span> 0,<span style="color:#669900">"end_offset"</span> <span style="color:#c678dd">:</span> 2,<span style="color:#669900">"type"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"CN_WORD"</span>,<span style="color:#669900">"position"</span> <span style="color:#c678dd">:</span> 0<span style="color:#999999">}</span>,<span style="color:#999999">{</span><span style="color:#669900">"token"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"是"</span>,<span style="color:#669900">"start_offset"</span> <span style="color:#c678dd">:</span> 2,<span style="color:#669900">"end_offset"</span> <span style="color:#c678dd">:</span> 3,<span style="color:#669900">"type"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"CN_CHAR"</span>,<span style="color:#669900">"position"</span> <span style="color:#c678dd">:</span> 1<span style="color:#999999">}</span>,<span style="color:#999999">{</span><span style="color:#669900">"token"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"軟件"</span>,<span style="color:#669900">"start_offset"</span> <span style="color:#c678dd">:</span> 3,<span style="color:#669900">"end_offset"</span> <span style="color:#c678dd">:</span> 5,<span style="color:#669900">"type"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"CN_WORD"</span>,<span style="color:#669900">"position"</span> <span style="color:#c678dd">:</span> 2<span style="color:#999999">}</span>,<span style="color:#999999">{</span><span style="color:#669900">"token"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"工程師"</span>,<span style="color:#669900">"start_offset"</span> <span style="color:#c678dd">:</span> 5,<span style="color:#669900">"end_offset"</span> <span style="color:#c678dd">:</span> 8,<span style="color:#669900">"type"</span> <span style="color:#c678dd">:</span> <span style="color:#669900">"CN_WORD"</span>,<span style="color:#669900">"position"</span> <span style="color:#c678dd">:</span> 3<span style="color:#999999">}</span><span style="color:#999999">]</span>
<span style="color:#999999">}</span>
</code></span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
驗證完畢,集群、head插件、ik分詞器都是正常的;
一行命令如何能實現(xiàn)上述功能
首先來看看docker-compose.yml文件的內(nèi)容,這里面決定了整個構成整個功能的容器:
<span style="color:#000000"><code class="language-yml"><span style="color:#c678dd">version</span><span style="color:#999999">:</span> <span style="color:#669900">'2.2'</span>
<span style="color:#c678dd">services</span><span style="color:#999999">:</span><span style="color:#c678dd">elasticsearch</span><span style="color:#999999">:</span><span style="color:#c678dd">image</span><span style="color:#999999">:</span> bolingcavalry/elasticsearch<span style="color:#999999">-</span>with<span style="color:#999999">-</span>ik<span style="color:#999999">:</span>6.5.0<span style="color:#c678dd">container_name</span><span style="color:#999999">:</span> elasticsearch<span style="color:#c678dd">environment</span><span style="color:#999999">:</span><span style="color:#999999">-</span> cluster.name=docker<span style="color:#999999">-</span>cluster<span style="color:#999999">-</span> bootstrap.memory_lock=true<span style="color:#999999">-</span> http.cors.enabled=true<span style="color:#999999">-</span> http.cors.allow<span style="color:#999999">-</span>origin=*<span style="color:#999999">-</span> <span style="color:#669900">"ES_JAVA_OPTS=-Xms512m -Xmx512m"</span><span style="color:#c678dd">ulimits</span><span style="color:#999999">:</span><span style="color:#c678dd">memlock</span><span style="color:#999999">:</span><span style="color:#c678dd">soft</span><span style="color:#999999">:</span> <span style="color:#98c379">-1</span><span style="color:#c678dd">hard</span><span style="color:#999999">:</span> <span style="color:#98c379">-1</span><span style="color:#c678dd">volumes</span><span style="color:#999999">:</span><span style="color:#999999">-</span> esdata1<span style="color:#999999">:</span>/usr/share/elasticsearch/data<span style="color:#c678dd">ports</span><span style="color:#999999">:</span><span style="color:#999999">-</span> 9200<span style="color:#999999">:</span><span style="color:#98c379">9200</span><span style="color:#c678dd">networks</span><span style="color:#999999">:</span><span style="color:#999999">-</span> esnet<span style="color:#c678dd">elasticsearch2</span><span style="color:#999999">:</span><span style="color:#c678dd">image</span><span style="color:#999999">:</span> bolingcavalry/elasticsearch<span style="color:#999999">-</span>with<span style="color:#999999">-</span>ik<span style="color:#999999">:</span>6.5.0<span style="color:#c678dd">container_name</span><span style="color:#999999">:</span> elasticsearch2<span style="color:#c678dd">environment</span><span style="color:#999999">:</span><span style="color:#999999">-</span> cluster.name=docker<span style="color:#999999">-</span>cluster<span style="color:#999999">-</span> bootstrap.memory_lock=true<span style="color:#999999">-</span> http.cors.enabled=true<span style="color:#999999">-</span> http.cors.allow<span style="color:#999999">-</span>origin=*<span style="color:#999999">-</span> <span style="color:#669900">"ES_JAVA_OPTS=-Xms512m -Xmx512m"</span><span style="color:#999999">-</span> <span style="color:#669900">"discovery.zen.ping.unicast.hosts=elasticsearch"</span><span style="color:#c678dd">ulimits</span><span style="color:#999999">:</span><span style="color:#c678dd">memlock</span><span style="color:#999999">:</span><span style="color:#c678dd">soft</span><span style="color:#999999">:</span> <span style="color:#98c379">-1</span><span style="color:#c678dd">hard</span><span style="color:#999999">:</span> <span style="color:#98c379">-1</span><span style="color:#c678dd">volumes</span><span style="color:#999999">:</span><span style="color:#999999">-</span> esdata2<span style="color:#999999">:</span>/usr/share/elasticsearch/data<span style="color:#c678dd">networks</span><span style="color:#999999">:</span><span style="color:#999999">-</span> esnet<span style="color:#c678dd">head</span><span style="color:#999999">:</span><span style="color:#c678dd">image</span><span style="color:#999999">:</span> bolingcavalry/elasticsearch<span style="color:#999999">-</span>head<span style="color:#999999">:</span><span style="color:#98c379">6</span><span style="color:#c678dd">container_name</span><span style="color:#999999">:</span> head<span style="color:#c678dd">ports</span><span style="color:#999999">:</span><span style="color:#999999">-</span> 9100<span style="color:#999999">:</span><span style="color:#98c379">9100</span><span style="color:#c678dd">networks</span><span style="color:#999999">:</span><span style="color:#999999">-</span> esnet
<span style="color:#c678dd">volumes</span><span style="color:#999999">:</span><span style="color:#c678dd">esdata1</span><span style="color:#999999">:</span><span style="color:#c678dd">driver</span><span style="color:#999999">:</span> local<span style="color:#c678dd">esdata2</span><span style="color:#999999">:</span><span style="color:#c678dd">driver</span><span style="color:#999999">:</span> local<span style="color:#c678dd">networks</span><span style="color:#999999">:</span><span style="color:#c678dd">esnet</span><span style="color:#999999">:</span>
</code></span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
上述yml文件中,使用了鏡像bolingcavalry/elasticsearch-head:6來實現(xiàn)head插件,關于此鏡像的細節(jié),請參考《自己動手制作elasticsearch-head的Docker鏡像》;上述yml文件中,使用了鏡像bolingcavalry/elasticsearch-with-ik:6.5.0來集成ik分詞器,關于此鏡像的細節(jié),請參考《自己動手制作elasticsearch的ik分詞器的Docker鏡像》;
希望這一行簡單的命令能幫助您快速搭建所需的elasticsearch環(huán)境;
總結
以上是生活随笔為你收集整理的docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。