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 /mydata/elasticsearch3/conf/

  

创建配置文件es1
# 开启跨域,为了让es-head可以访问
http.cors.enabled: true
http.cors.allow-origin: "*"

# 集群的名称
cluster.name: elasticsearch
# 节点的名称
node.name: es1
# 指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
node.master: true
# 允许该节点存储数据(默认开启)
node.data: true
# 允许任何ip访问
network.host: 0.0.0.0
# 通过这个ip列表进行节点发现,我这里配置的是各个容器的ip
discovery.zen.ping.unicast.hosts: ["192.168.31.128:9300","192.168.31.128:9301","192.168.31.128:9302"]
#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 – 导致脑裂 - 这将导致数据丢失
discovery.zen.minimum_master_nodes: 2

  


创建配置文件es2
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: elasticsearch
node.name: es2

network.host: 0.0.0.0
node.master: true
node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.31.128:9300","192.168.31.128:9301","192.168.31.128:9302"]
discovery.zen.minimum_master_nodes: 2

  

创建配置文件es3
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: elasticsearch
node.name: es3

network.host: 0.0.0.0
node.master: true
node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.31.128:9300","192.168.31.128:9301","192.168.31.128:9302"]
discovery.zen.minimum_master_nodes: 2

  


3.集群化实例启动


实例一:



docker run --name es1 -p 9200:9200 -p 9300:9300
-e ES_JAVA_OPTS="-Xms256m -Xmx256m"
-v /mydata/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -d elasticsearch:5.6.11

  

实例二:



docker run --name es2 -p 9201:9200 -p 9301:9300
-e ES_JAVA_OPTS="-Xms256m -Xmx256m"
-v /mydata/elasticsearch2/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch2/data:/usr/share/elasticsearch/data -d elasticsearch:5.6.11

  

实例三:



docker run --name es3 -p 9202:9200 -p 9302:9300
-e ES_JAVA_OPTS="-Xms256m -Xmx256m"
-v /mydata/elasticsearch3/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch3/data:/usr/share/elasticsearch/data -d elasticsearch:5.6.11

  

 
 

原文地址:https://www.cnblogs.com/shifu204/p/12652591.html

时间: 2024-11-06 03:28:18

Docker 搭建 elasticsearch 集群的相关文章

Docker搭建RabbitMQ集群

Docker搭建RabbitMQ集群 Docker安装 见官网 RabbitMQ镜像下载及配置 见此博文 集群搭建 首先,我们需要启动运行RabbitMQ docker run -d --hostname my-rabbit -p 5671:5671 -p 5672:5672 -p 15671:15671 -p 15672:15672 -p 25672:25672 -p 4369:4369 -v $PWD/rabbitmq-data:/var/rabbitmq/lib --name my_rab

Docker搭建PXC集群

如何创建MySQL的PXC集群 下载PXC集群镜像文件 下载 docker pull percona/percona-xtradb-cluster 重命名 [[email protected] ~]# docker tag docker.io/percona/percona-xtradb-cluster pxc 创建内部网络 处于安全考虑,需要给PXC集群实例创建Docker内部网络 创建网段: [[email protected] ~]# docker network create --sub

docker 搭建zookeeper集群和kafka集群

docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排.Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multicontainer Docker appl

通过docker搭建ELK集群

单机ELK,另外两台服务器分别有一个elasticsearch节点,这样形成一个3节点的ES集群. 可以先尝试单独搭建es集群或单机ELK https://www.cnblogs.com/lz0925/p/12018209.html // 单机ELK https://www.cnblogs.com/lz0925/p/12011026.html // 三节点es集群 注意点 服务器内存:要求不低于8G,如果4G,没有跑其他程序的话,应该也可以,低于4G基本不用考虑. 我的系统:阿里云centOS7

搭建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搭建 ZooKeeper 集群

1.镜像下载 docker pull zookeeper 2.启动 ZK 镜像 >>> docker run --name my_zookeeper -d zookeeper:latest 这个命令会在后台运行一个 zookeeper 容器, 名字是 my_zookeeper, 并且它默认会导出 2181 端口.接着我们使用: docker logs -f my_zookeeper 3.使用 ZK 命令行客户端连接 ZK 因为刚才我们启动的那个 ZK 容器并没有绑定宿主机的端口, 因此我

Docker搭建redis-cluster集群三主三备

环境准备 系统:centos7.7 redis:5.0.5 master1:192.168.33.9:7071 master2:192.168.33.10:7072 master3:192.168.33.11:7073 slave1:192.168.33.9:7074 slave2:192.168.33.10:7075 slave3:192.168.33.11:7076 一.搭建redis集群(以下步骤在每台服务器上都要执行) 1.>安装docker yum -y install docker

采用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=f

docker搭建Hadoop集群

一个分布式系统基础架构,由Apache基金会所开发. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储. 首先搭建Docker环境,Docker版本大于1.3.2 安装主机监控程序和加速器(curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s 7a029f60d36056fe1b85fabca6a133887245abe6) docker pull daocloud.io/library