文档章节

ElasticSearch安装系列教程---->(四)、docker 搭建elasticsearch集群

北岩
 北岩
发布于 07/22 21:16
字数 580
阅读 61
收藏 7

 

 

1、拉去es镜像

docker pull docker.io/elasticsearch:5.6.8

 

2、 创建挂载目录

mkdir -p /docker/es/config

mkdir -p /docker/es/data1

mkdir -p /docker/es/data2

mkdir -p /docker/es/data3

 

3、创建配置文件

touch /docker/es/config/es1.yml

touch /docker/es/config/es2.yml

touch /docker/es/config/es3.yml

 

4、修改配置文件

es1.yml文件内容为:

cluster.name: elasticsearch-cluster

node.name: es-node1

network.bind_host: 0.0.0.0

network.publish_host: 192.168.100.102

http.port: 9200

transport.tcp.port: 9300

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: true

node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"]

discovery.zen.minimum_master_nodes: 2

 

es2.yml文件内容为:

cluster.name: elasticsearch-cluster

node.name: es-node2

network.bind_host: 0.0.0.0

network.publish_host: 192.168.100.102
http.port: 9201

transport.tcp.port: 9301

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: true

node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"]

discovery.zen.minimum_master_nodes: 2

es3.yml文件内容为:

 

cluster.name: elasticsearch-cluster

node.name: es-node3

network.bind_host: 0.0.0.0

network.publish_host: 192.168.100.102

http.port: 9202

transport.tcp.port: 9302

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: true

node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"]

discovery.zen.minimum_master_nodes: 2

 

5、修改系统参数

在   /etc/sysctl.conf文件最后添加一行 

vm.max_map_count=262144

执行下面命令

sysctl -w vm.max_map_count=262144

6、启动节点

 

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --privileged=true -v /docker/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data1:/usr/share/elasticsearch/data --name es-node1 elasticsearch:5.6.8
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 --privileged=true -v /docker/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data2:/usr/share/elasticsearch/data --name es-node2 elasticsearch:5.6.8
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 --privileged=true -v /docker/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data3:/usr/share/elasticsearch/data --name es-node3 elasticsearch:5.6.8

 

7、安装es-head插件

docker pull mobz/elasticsearch-head:5

docker run -di --name=es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5

8、安装ik分词器

下载分词器插件:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v5.6.8

在宿主机解压

unzip elasticsearch-analysis-ik-5.6.8.zip

并改文件夹名为ik

mv elasticsearch ik

复制解压后的ik到docker镜像目录

docker cp ik es-node1:/usr/share/elasticsearch/plugins

9、重启 docker restart 容器id

 

10、如果要单点运行 ,可以把es-node2 es-node3 停掉 并且注释掉es1.yml配置文件中的部分配置


cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.data: true
#network.publish_host: 192.168.100.102
#node.master: true 
#discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"]
#discovery.zen.minimum_master_nodes: 2

11、安装kibana

 docker run -it -d -e ELASTICSEARCH_URL=http://172.17.0.2:9200 --name kibana -p 5601:5601 kibana:5.6.8

es 的 URL要写容器内部的ip,查看容器内部的ip命令

docker inspect <container id> 

© 著作权归作者所有

北岩
粉丝 13
博文 64
码字总数 35796
作品 0
昌平
程序员
私信 提问
elasticsearch入门到放弃之elasticsearch-in-java

代码地址:https://github.com/zhaoyunxing92/spring-boot-learn-box/tree/master/spring-boot-elasticsearch 在java中使用自带的api操作。你可以先看下elasticsearch入门到放弃之docker搭建......

zhaoyunxing
07/05
0
0
渣渣菜鸡为什么要看 ElasticSearch 源码?

前提 人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需,大型企业早已淹没在系统生成的浩瀚数据流当中。大数据技术业已集中在如何存储和处理这些海量的数据...

Java小铺
2018/08/10
117
0
elasticsearch安装和使用ik分词器

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/86549043 在使用elasticsearch的时候,如果不额外安装分词器的话,在处理text字段时会使用e...

博陵精骑
01/20
0
0
自己动手制作elasticsearch-head的Docker镜像

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/86663168 关于elasticsearch-head插件 通过elasticsearch-head插件可以更方便的查询es,观察...

博陵精骑
01/27
0
0
渣渣菜鸡的 ElasticSearch 源码解析 —— 启动流程(下)

关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/12/es-code03/ 前提 上篇文章写完了 ES 流程启动的一部分,main 方法都入口,以及创建 Elasticsearch 运行的必须环...

zhisheng_tian
2018/08/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
41分钟前
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部