美文网首页ElasticSearch入门我爱编程大数据
单机使用docker建立elasticsearch集群开发环境进

单机使用docker建立elasticsearch集群开发环境进

作者: 十五倍压枪 | 来源:发表于2018-05-22 15:39 被阅读32622次

单机使用docker建立elasticsearch集群开发环境进行测试

docker是什么

很小很轻可以只装一个一个应用的虚拟机,或者可以叫它容器

elasticsearch是什么

企业级全文搜索引擎

需求背景

长期在elasticsearch上做二次开发的工作,做搜索引擎方面的工作,本机无论如何肯定是会有一个elasticsearch的环境的。其实本来elasticsearch的安装已经很简单了。那么我这里可以先介绍下常规的安装方式:

  1. elasticsearch下载地址
  2. win直接启动 unix系请新开账号来访问,基于安全考虑es不允许使用root账号启动
  3. 访问localhsot:9200
    其实没有多麻烦,但是有几个问题
  4. 难以管理,过几天可能我就忘了我程序下载到哪里去了?
  5. 只能启动单节点,而es的特点之一就在于在分布式上的便捷,不过估计这个其实通过改端口部署的方式应该也可以,但麻烦度绝对不低。

引入docker来解决上面的难点

通过docker可以集中的管理我的elasticsearch节点,甚至可以包括管理redis节点,mysql节点等等等等……我准备一步步把我装的乱七八糟的软件切换成用docker管理部署,在不影响目前工作的情况下。
以及通过docker我可以很轻松的部署出一个es集群出来,这也是我实践完以后的感慨,本来以为会遇到很多问题,但其实顺利的就像一套按部就班的流程一样。因为docker是隔离的虚拟机,所以我不需要多做一些端口的规划,也不需要考虑其他的细节。下面上细节。

使用docker建立elasticsearch集群

到这里默认机器已经安装完毕docker

  1. docker pull docker.elastic.co/elasticsearch/elasticsearch:5.6.3 首先去拉取镜像,这次我拉取的是5.6.3的镜像
  2. 启动刚才拉取的镜像
docker run -d -p 9201:9200 -p 9301:9300 --name es1 -h es1\
 -e cluster.name=meitu -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e xpack.security.enabled=false\
  docker.elastic.co/elasticsearch/elasticsearch:5.6.3
参数 作用
-d 程序后台运行
-p 端口映射,比如虚拟机里面的9200端口映射到本机的9201端口,es有两个端口需要映射
--name 启动的容器名字
-h 容器主机名,其实就相当于配置到host的效果
-e 环境参数 几个es的环境参数 也可以是任意环境参数
--link 相当于在这一台容器中配置了link对象的host

3.再启动第二个节点

docker run -d -p 9202:9200 -p 9302:9300 --link es1\
  --name es2 -e cluster.name=meitu -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e xpack.security.enabled=false\
  -e discovery.zen.ping.unicast.hosts=es1 docker.elastic.co/elasticsearch/elasticsearch:5.6.3

4.分别访问localhost:9201和localhost:9202
curl localhost:9201 curl localhost:9202
看到You know for search说明启动成功
5.其实到第4步可以说已经结束了,但是作为开发人员不可能不使用图形界面管理工具的,那么我们安装elasticsearch-head

docker run -d -p 9100:9100 mobz/elasticsearch-head:5

……
咚咚咚,安装完毕。然后访问localhost:9200
最后我们看结果


elasticsearch-head界面

可以看到熟悉的管理界面又回来了,带星号的为主节点,那么这一次集群搭建就完成了。

相关文章

网友评论

    本文标题:单机使用docker建立elasticsearch集群开发环境进

    本文链接:https://www.haomeiwen.com/subject/iobhjftx.html