采用docker-compose搭建Elasticsearch集群

首先安装docker-compose

在主节点创建一个目录es,并创建docker-compose.yaml,主节点yaml文件如下

version: ‘2‘

services:

elasticsearch:

image: docker.elastic.co/elasticsearch/elasticsearch:6.6.2

privileged: true

environment:

- cluster.name=docker-cluster

- xpack.security.enabled=false

- bootstrap.memory_lock=true

- node.master=true

- node.data=true                # store data on master

- "ES_JAVA_OPTS=-Xms512m -Xmx512m"  #根据机器实际来分配

- "discovery.zen.ping.unicast.hosts=192.168.30.30"    # put your master_ip here! make sure `telnet MASTER_IP 9300` is oK

- "transport.host=0.0.0.0"

- "network.host=0.0.0.0"

- node.name=esmaster

ulimits:

memlock:

soft: -1

hard: -1

nofile:

soft: 65536

hard: 65536

cap_add:

- IPC_LOCK

volumes:

- /data/elasticsearch-service/data:/usr/share/elasticsearch/data

ports:

- 9208:9200

- 9308:9300

network_mode: "host"

执行命令docker-compose up -d启动es,一般会报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],可以通过sudo sysctl -w vm.max_map_count=262144设置下值

在node节点上同样操作创建es目录,创建docker-compose.yaml,node节点yaml文件如下

version: ‘2.2‘

services:

elasticsearch:

image: docker.elastic.co/elasticsearch/elasticsearch:6.6.2

privileged: true

environment:

- cluster.name=docker-cluster

- xpack.security.enabled=false

- bootstrap.memory_lock=true

- node.master=false

- node.data=true

- "ES_JAVA_OPTS=-Xms12g -Xmx12g"

- "discovery.zen.ping.unicast.hosts=192.168.30.30"    # put your master_ip here! make sure `telnet MASTER_IP 9300` is oK

ulimits:

memlock:

soft: -1

hard: -1

nofile:

soft: 65536

hard: 65536

cap_add:

- IPC_LOCK

volumes:

- /data/elasticsearch-service/data:/usr/share/elasticsearch/data

ports:

- 9208:9200

- 9308:9300

network_mode: "host"

执行命令docker-compose up -d启动es,一般会报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],可以通过sudo sysctl -w vm.max_map_count=262144设置下值

执行完成后可以去master节点采用

curl http://localhost:9200/_cat/health?v 查看集群状态,出现如下信息则集群搭建成功

epoch      timestamp cluster        status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1568794538 08:15:38  docker-cluster green           3         3      0   0    0    0        0             0                  -                100.0%

原文地址:https://www.cnblogs.com/niewx5201314/p/11663124.html

时间: 2024-10-10 01:34:05

采用docker-compose搭建Elasticsearch集群的相关文章

基于docker环境搭建kafka集群(三台真机之间)

环境基于docker,三台物理主机192.168.0.27.192.168.0.28.192.168.0.29,每台主机部署一个zookeeper节点,一个kafka节点,共三个zookeeper节点,三个kafka节点,容器之间的网络采用host模式 1.拉取镜像 2.启动容器 step1. 创建配置文件zoo.cfg并替换容器内的该文件,不同的镜像有可能zoo.cfg位置不同 # The number of milliseconds of each tick tickTime=2000 #

搭建Elasticsearch集群常见问题

一.ES安装方法: Linux用户登录(bae),我们用的是5.3版本的包.从官网下载: curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.tar.gz 解压后,进入到bin目录下,使用 ./elasticsearch 命令启动,看到如下的提示,即为启动成功.端口号9200. 二.ES单节点部署遇到的问题 1.记住不要在root下启动,否则会报错:can not run elas

docker容器搭建kafka集群

Docker搭建kafka集群 ?  需求说明: 公司目前有三个环境,生产环境,测试和演示环境,再包括开发人员还有开发的环境,服务器上造成了一定的资源浪费,因为环境需要依赖zookeeper和kafka,redis这些服务,只要搭一个环境,所有东西都要重新搭一遍,所以搭建kafka集群,让大部分环境都连接一个集群,把单个的服务变成公共的,稳定并易于管理 ?  Kafka集群管理和状态保存是通过zookeeper来实现的,要先部署zk集群 ?  环境说明: centos系统安装docker,通过d

基于docker环境搭建redis-cluster集群(多台机器)

步骤与单机搭建redis集群相同 1.分别在两台机器创建 redis-cluster.tmpl creatRedisCluster.sh  creatDocker.sh(每天机器创建三个redis实例) 创建集群 ##进入某一个redis实例执行如下代码 /usr/local/bin/redis-cli --cluster create 宿主机1IP:7001 宿主机1IP:7002 宿主机1IP:7003 宿主机2IP:7001 宿主机2IP:7002 宿主机2IP:7003 --cluste

Docker 搭建 elasticsearch 集群

前置工作 1.虚拟机内存设置起码2个g以上,不然巨卡 2.需要修改linux的进程数限制 vi /etc/sysctl.conf vm.max_map_count=655360 sysctl -p 创建es集群 1.下载es镜像 docker pull elasticsearch:5.6.11 2.添加挂载的配置文件与文件夹 mkdir -p /mydata/elasticsearch/conf/ mkdir -p /mydata/elasticsearch2/conf/ mkdir -p /m

【ELK】【docker】6.Elasticsearch 集群启动多节点 + 解决ES节点集群状态为yellow

本章其实是ELK第二章的插入章节. ===================================================================================== ELK系列的示例中,启动的是单个的ES节点. 系列文章: [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器 [ELK][docker][elasticsearc

docker下搭建fastfds集群版

搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成了镜像. 如对fastfds搭建流程不熟悉者,需先参阅之前的文章.点击进入文章 首先借鉴一个公众号的两张图来说明一下 fastfds 上传下载的流程,公众号为 "Java架构师之路" 我搭建的思路是,两个tracker.四个storage,然后通过nginx进行反向代理访问图片. 下面演示

在单台服务器上搭建elasticsearch集群

很遗憾,这样的集群基本上没啥用处,没有容错能力.因此本文仅可作为学习ES集群部署的参考文档. 系统配置: 修改/etc/hosts增加 127.0.0.1 node01 127.0.0.1 node02 127.0.0.1 node03 修改/etc/sysctl.conf增加配置,然后执行sysctl -p立即生效 vm.max_map_count=655360 用到的软件包: elasticsearch-6.8.6.tar.gz kibana-6.8.6-linux-x86_64.tar.g

docker上搭建consul集群全流程

1. 在docker上安装consul(默认安装最新版本) docker pull consul 2. 启动第一个consul服务:consul1 docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul:1.2.2 agent -server -bootstrap-expect 2 -ui -bind=0.0.0.0 -client=0.0.0.0 8