docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)
2019-02-17 08:12
603 查看
docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)
2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasticsearchelasticsearch-headik分词器更多
个人分类: Docker实战elasticsearch
所属专栏: elasticsearch之旅
版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/86669450
搭建一个elasticsearch6.5.0集群环境,再把elasticsearch-head插件和ik分词器装好,在docker环境下完成这些工作需要多久?
答案是:只需下面这一行命令:
[code]<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>
- 1
- 2
接下来就试试这一行命令吧;
环境信息
- 操作系统:CentOS 7.6
- docker:17.03.2-ce
- docker-compose:version 1.23.2
- elasticsearch:这里选用的是6.5.0版本的elasticsearch,因为目前ik分词器官方最高只支持到6.5.0版本
验证
- 在上述环境下,输入上面提到的那行命令,即可创建elasticsearch6.5.0集群环境,如下:
[code]<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>. 已连接。 已发出 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
- 执行以下命令来创建一个索引:
[code]<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>
- 1
- 执行以下命令验证ik分词器效果:
[code]<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>
- 1
- 2
- 3
- 4
收到的响应如下,可见ik分词器已经生效:
[code]<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分词器都是正常的;
一行命令如何能实现上述功能
- 首先来看看docker-compose.yml文件的内容,这里面决定了整个构成整个功能的容器:
[code]<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来实现head插件,关于此镜像的细节,请参考《自己动手制作elasticsearch-head的Docker镜像》;
- 上述yml文件中,使用了镜像bolingcavalry/elasticsearch-with-ik:6.5.0来集成ik分词器,关于此镜像的细节,请参考《自己动手制作elasticsearch的ik分词器的Docker镜像》;
希望这一行简单的命令能帮助您快速搭建所需的elasticsearch环境;
相关文章推荐
- docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)
- Linux环境快速搭建elasticsearch6.5.4集群和Head插件
- Docker搭建ElasticSearch-Head插件
- ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
- elasticsearch5.x集群搭建,ik分词器,head插件
- ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
- ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
- [置顶] ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
- 20-linux下ElasticSearch.6.2.2集群安装与head、Kibana、X-Pack..插件的配置安装
- ElasticSearch集群搭建及插件安装
- 基于docker 搭建Elasticsearch分布式集群
- Elasticsearch 5.2.x 使用 Head 插件连接不上集群
- Elasticsearch 5.2.x 使用 Head 插件连接不上集群
- ElasticSearch集群搭建及插件安装
- ElasticSearch集群搭建及插件安装
- Docker-compose搭建ELK+head+redis环境(2)-- head插件安装
- ElasticSearch Head插件常用操作命令
- ElasticSearch集群搭建及插件安装
- ElasticSearch集群搭建及插件安装
- elasticsearch集群管理工具head插件