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环境下完成这些工作需要多久?

答案是:只需下面这一行命令:

<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

接下来就试试这一行命令吧;

环境信息

  1. 操作系统:CentOS 7.6
  2. docker:17.03.2-ce
  3. docker-compose:version 1.23.2
  4. elasticsearch:这里选用的是6.5.0版本的elasticsearch,因为目前ik分词器官方最高只支持到6.5.0版本

验证

  1. 在上述环境下,输入上面提到的那行命令,即可创建elasticsearch6.5.0集群环境,如下:
<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
  1. 假设docker所在电脑的IP地址是192.168.1.101,如下图,浏览器访问此地址可以查看es信息:http://192.168.1.101:9200
  2. 如下图,浏览器访问此地址可以使用head插件:http://192.168.1.101:9100
  3. 执行以下命令来创建一个索引:
<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
  1. 执行以下命令验证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>
  • 1
  • 2
  • 3
  • 4

收到的响应如下,可见ik分词器已经生效:

<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分词器都是正常的;

一行命令如何能实现上述功能

  1. 首先来看看docker-compose.yml文件的内容,这里面决定了整个构成整个功能的容器:
<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
  1. 上述yml文件中,使用了镜像bolingcavalry/elasticsearch-head:6来实现head插件,关于此镜像的细节,请参考《自己动手制作elasticsearch-head的Docker镜像》;
  2. 上述yml文件中,使用了镜像bolingcavalry/elasticsearch-with-ik:6.5.0来集成ik分词器,关于此镜像的细节,请参考《自己动手制作elasticsearch的ik分词器的Docker镜像》;

希望这一行简单的命令能帮助您快速搭建所需的elasticsearch环境;

docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)相关推荐

  1. Linux环境快速搭建elasticsearch6.5.4集群和Head插件

    今天来一起实战Linux环境下搭建elasticsearch6.5.4集群和Head插件: 环境信息 操作系统:Ubuntu 16.04.5 LTS JDK:1.8.0_191 elasticsear ...

  2. CentOS搭建Elasticsearch6.8.0集群

    文章目录 一.概述 二.搭建集群 软件版本 架构信息 1.安装JDK 2.安装ES 3.JVM配置 4.目录说明 5.数据与日志目录 6.集群配置 7.权限配置 创建ES运行用户 修改es用户权限 修 ...

  3. 吊炸天!一行命令快速部署大规模K8S集群!!!

    吊炸天!一行命令快速部署大规模K8S集群!!! 先决条件 请事先准备好几台服务器(测试环境虚拟机即可) 请事先设置好相同的root密码(方便同时操作多服务器) 请事先在Linux安装好docker 请 ...

  4. Ubuntu18.04 安装搭建 hadoop-3.3.0 集群

    Ubuntu18.04 安装搭建 hadoop-3.3.0 集群 参考博文:https://blog.csdn.net/sunxiaoju/article/details/85222290?ops_r ...

  5. 使用Docker搭建Elasticsearch6.8.6集群及设置集群用户密码

    本文基于Docker镜像搭建Elasticsearch集群,集群搭建完成后设置集群用户密码,主要包含以下内容: 修改系统参数 安装docker和docker-compose 编写yml配置文件 获取集 ...

  6. 搭建hadoop2.6.0集群环境

    一.规划 (一)硬件资源 10.171.29.191 master 10.171.94.155  slave1 10.251.0.197 slave3 (二)基本资料 用户:  jediael 目录: ...

  7. docker mysql 高可用_使用docker 基于pxc镜像搭建mysql高可用集群

    前置条件 docker已安装: 第一步:拉取镜像 docker pull percona/percona-xtradb-cluster:5.7.21 第二步:复制重命名镜像(可选) docker ta ...

  8. centos7服务器搭建elasticsearch7.6.0集群

    虚拟机环境 软件:VMWare 系统:CentOS7 主机:192.168.25.132.192.168.25.133.192.168.25.134 IP 节点名称 192.168.25.132 no ...

  9. 服务器安装配置elasticsearch,kibana,IK分词器和拼音分词器,集群搭建教程

    docker安装配置elasticsearch,kibana和IK分词器 elasticsearch文章系列 前置安装docker 创建docker网络 安装Elasticsearch 运行elast ...

最新文章

  1. VOC2012 分割数据 转 lmdb 格式 python 代码
  2. Log4j 日志详细用法
  3. SeqGAN——对抗思想与增强学习的碰撞
  4. 演示方法:有抱负的分析师
  5. Neo4j:找到两个纬度/经度之间的中间点
  6. FreeBSD9.1安装Gnome2桌面
  7. 在Word里使用部分正则表达式
  8. 2018年全国高校教师“Python编程、应用及华为大数据”培训班
  9. 多线程糗事百科案例(python2)
  10. oracle内置函数 trunc 使用
  11. java json float_java – Json解析问题(值自动更改为float)
  12. serialVersionUID干嘛用的?
  13. 百面机器学习—6.PCA与LDA要点总结
  14. 服务器多开虚拟机怎么使用教程,游戏多开,你需要这个虚拟机教程
  15. xshell无法删除输入_xshell5卸载不了怎么办?xshell5软件卸载方法及无法卸载的解决方法...
  16. pthread创建线程
  17. utf8在mysql占几个字符_utf-8的中文,一个字符占几个字节
  18. gradle切换online/offline mode模式
  19. SayAsYouWish:Fine-grained Control of Image Caption Generation with Abstract Scene Graphs ---- 论文阅读笔记
  20. 一道ACM剑气算法的编程题

热门文章

  1. win服务器自动发邮件,windows关机前执行脚本设置与关机blat自动发送邮件脚本模板...
  2. c语言求方程组的自然数解,多元一次线性方程自然数解的算法解决办法
  3. java怎么xml文件解析_Java对Xml文件解析
  4. Json、Gson、FAST-JSON解析学习
  5. java国际化程序创建属性文件,Java程序国际化学习代码一
  6. Python距离计算
  7. 根据后续数组重建搜索二叉树
  8. 医学数据挖掘学习项目:他克莫司
  9. ntu 课程 ERIC(2):Planning your research
  10. GNN 笔记1 图的概念