docker-elasticsearch集群环境搭建
2020-01-11 14:39
405 查看
本文旨在搭建最简单docker elasticsearch集群环境
docker pull elasticsearch:7.2.0
docker pull kibana
mkdir elasticsearch/data/{node0,node1,node2} -p
mkdir elasticsearch/logs/{node0,node1,node2} -p
cd elasticsearch/
chmod 0777 data/* -R && chmod 0777 logs/* -R
目录结构
├── docker-compose.yml
├── elasticsearch
│ ├── conf
│ │ ├── node1
│ │ ├── node2
│ │ └── node3
│ ├── data
│ │ ├── node1
│ │ ├── node2
│ │ └── node3
│ └── logs
│ ├── node1
│ ├── node2
│ └── node3
└── kibana
└── conf
└── kibana.yml
重新设置系统级别的默认打开文件最大个数 防止JVM报错
echo vm.max_map_count=655360 >> /etc/sysctl.conf
在root账户执行这一句 作用是重新载入sysctl系统参数
sysctl -p
docker-compose.yml文件
version: '3' services: es1: # es镜像版本,我之前docker拉取的版本是7.2.0 你需要在这里修改为自己的版本 image: elasticsearch:7.2.0 # 容器名称 container_name: es1 privileged: true # 启动时的环境参数 因为我的服务器配置较低所以分配了128m environment: - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 # 挂载数据卷 volumes: # 挂载data - ./elasticsearch/data/node1:/usr/share/elasticsearch/data # 挂载自己的配置文件 - ./elasticsearch/conf/node1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml # 挂载日志文件 - ./elasticsearch/logs/node1:/usr/share/elasticsearch/logs # 端口映射关系 ports: - 9201:9200 - 9301:9300 # 网络信息 networks: - esnet es2: # es镜像版本,我之前docker拉取的版本是7.2.0 你需要在这里修改为自己的版本 image: elasticsearch:7.2.0 # 容器名称 container_name: es2 privileged: true # 启动时的环境参数 因为我的服务器配置较低所以分配了128m environment: - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 # 挂载数据卷 volumes: # 挂载data - ./elasticsearch/data/node2:/usr/share/elasticsearch/data # 挂载自己的配置文件 - ./elasticsearch/conf/node2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml # 挂载日志文件 - ./elasticsearch/logs/node2:/usr/share/elasticsearch/logs # 端口映射关系 ports: - 9202:9200 - 9302:9300 # 网络信息 networks: - esnet es3: # es镜像版本,我之前docker拉取的版本是7.2.0 你需要在这里修改为自己的版本 image: elasticsearch:7.2.0 # 容器名称 container_name: es3 privileged: true # 启动时的环境参数 因为我的服务器配置较低所以分配了128m environment: - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 # 挂载数据卷 volumes: # 挂载data - ./elasticsearch/data/node3:/usr/share/elasticsearch/data # 挂载自己的配置文件 - ./elasticsearch/conf/node3/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml # 挂载日志文件 - ./elasticsearch/logs/node3:/usr/share/elasticsearch/logs # 端口映射关系 ports: - 9203:9200 - 9303:9300 # 网络信息 networks: - esnet kibana: image: kibana:7.2.0 container_name: kibana privileged: true ports: - 5601:5601 environment: - ELASTICSEARCH_URL=http://es1:9200 volumes: - ./kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml networks: - esnet # 使用桥接的网络连接方式 networks: esnet: driver: bridge
主节点的配置文件
# 集群名称 EsCluster cluster.name: huaweiES # 节点名称 node.name: es1 # 是否为主节点 node.master: true # 该节点是否存储数据 node.data: true # 对外开放的http端口 http.port: 9200 # 回环地址 network.host: 0.0.0.0 #network.publish_host: master-ip bootstrap.memory_lock: false bootstrap.system_call_filter: false # 是否运行跨域REST请求 http.cors.enabled: true # 允许跨域请求来自何处 http.cors.allow-origin: "*" # 有成为主节点资格的最小节点数 discovery.zen.minimum_master_nodes: 1 cluster.initial_master_nodes: ["es1"] xpack.security.enabled: false indices.fielddata.cache.size: 50%
es2的配置文件
# 集群名称 EsCluster cluster.name: huaweiES # 节点名称 node.name: es2 # 是否为主节点 node.master: false # 该节点是否存储数据 node.data: true # 对外开放的http端口 http.port: 9200 # 回环地址 network.host: 0.0.0.0 #network.publish_host: master-ip # 有资格成为主节点的资格列表 discovery.zen.ping.unicast.hosts: ["es1"] # 是否运行跨域REST请求 http.cors.enabled: true # 允许跨域请求来自何处 http.cors.allow-origin: "*" # 有成为主节点资格的最小节点数 discovery.zen.minimum_master_nodes: 1 xpack.security.enabled: false indices.fielddata.cache.size: 50%
es3的配置文件
# 集群名称 EsCluster cluster.name: huaweiES # 节点名称 node.name: es3 # 是否为主节点 node.master: false # 该节点是否存储数据 node.data: true # 对外开放的http端口 http.port: 9200 # 回环地址 network.host: 0.0.0.0 #network.publish_host: master-ip # 有资格成为主节点的资格列表 discovery.zen.ping.unicast.hosts: ["es1"] # 是否运行跨域REST请求 http.cors.enabled: true # 允许跨域请求来自何处 http.cors.allow-origin: "*" # 有成为主节点资格的最小节点数 discovery.zen.minimum_master_nodes: 1 xpack.security.enabled: false indices.fielddata.cache.size: 50%
kibana配置文件
cat kibana/conf/kibana.yml
elasticsearch.hosts: http://es1:9200 server.host: "0.0.0.0" server.name: kibana xpack.monitoring.ui.container.elasticsearch.enabled: true i18n.locale: zh-CN
如果说以上配置文件的路径都没有什么问题的话,应该可以访问kibana了
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Docker + Elasticsearch 集群环境搭建
- 使用docker搭建一个elasticsearch(5.4)的基础环境
- docker搭建ElasticSearch集群
- windows环境下的Elasticsearch集群搭建
- [置顶] ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
- DockerSwarm 集群环境搭建
- Elasticsearch集群环境搭建
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建
- 详解docker搭建redis集群的环境搭建
- docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)
- ElasticSearch笔记系列(2)——ES分布式集群环境搭建
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建2
- 用docker搭建elasticsearch集群
- 用docker搭建elasticsearch集群
- kafka zookeeper elasticsearch集群环境搭建
- 『高级篇』docker之Mesos集群环境搭建(24)
- elasticsearch 6.0.0(多节点安装) + kibana 6.0.0集群环境搭建
- Docker集群实验环境布署--swarm【2 搭建本地镜像仓库】
- 使用Docker镜像搭建consul和swarm集群基础环境及overlay网络
- docker搭建rabbitmq集群环境的方法