一 、docker的安装

https://www.cnblogs.com/ghostdot/p/12410242.html

二、创建相关映射文件

cd /home/
mkdir node
cd node
mkdir es_node1 es_node2 es_node2 plugins
cd es_node1
mkdir data
touch elastisearch.yml
cd /home/node
cd es_node2
mkdir data
touch elastisearch.yml
cd /home/node
cd es_node3
mkdir data
touch elastisearch.yml



三、编写elasticsearch.yml配置文件

vim /home/node/es_node1/elasticsearch.yml

cluster.name: elasticsearch-cluster  #集群唯一名称,所有节点一致
node.name: es_node1 #节点名称
network.bind_host: 0.0.0.0 #设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
network.publish_host: 192.168.2.2 #设置其它结点和该结点交互的ip地址
http.port: 9200 #设置对外服务的http端口,默认为9200
transport.tcp.port: 9300 #设置节点之间交互的tcp端口,默认是9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true #配置该结点是否有资格被选举为主结点(候选主结点),为了防止脑裂,配置奇数个候选主结点
node.data: true #配置该结点是数据结点,用于保
discovery.zen.ping.unicast.hosts: ["192.168.2.2:9300","192.168.2.2:9301","192.168.2.2:9302"] #集群个节点IP地址
discovery.zen.minimum_master_nodes: 2 #自动发现master节点的最小数
indices.query.bool.max_clause_count: 10240

vim /home/node/es_node2/elasticsearch.yml

cluster.name: elasticsearch-cluster  #集群唯一名称,所有节点一致
node.name: es_node2 #节点名称
network.bind_host: 0.0.0.0 #设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
network.publish_host: 192.168.2.2 #设置其它结点和该结点交互的ip地址
http.port: 9201 #设置对外服务的http端口,默认为9200
transport.tcp.port: 9301 #设置节点之间交互的tcp端口,默认是9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true #配置该结点是否有资格被选举为主结点(候选主结点),为了防止脑裂,配置奇数个候选主结点
node.data: true #配置该结点是数据结点,用于保存
discovery.zen.ping.unicast.hosts: ["192.168.2.2:9300","192.168.2.2:9301","192.168.2.2:9302"] #集群个节点IP地址
discovery.zen.minimum_master_nodes: 2 #自动发现master节点的最小数
indices.query.bool.max_clause_count: 10240

vim /home/node/es_node3/elasticsearch.yml

cluster.name: elasticsearch-cluster  #集群唯一名称,所有节点一致
node.name: es_node3 #节点名称
network.bind_host: 0.0.0.0 #设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
network.publish_host: 192.168.2.2 #设置其它结点和该结点交互的ip地址
http.port: 9202 #设置对外服务的http端口,默认为9200
transport.tcp.port: 9302 #设置节点之间交互的tcp端口,默认是9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true #配置该结点是否有资格被选举为主结点(候选主结点),为了防止脑裂,配置奇数个候选主结点
node.data: true #配置该结点是数据结点,用于保存数据
discovery.zen.ping.unicast.hosts: ["192.168.2.2:9300","192.168.2.2:9301","192.168.2.2:9302"] #集群个节点IP地址
discovery.zen.minimum_master_nodes: 2 #自动发现master节点的最小数
indices.query.bool.max_clause_count: 10240

四、修改宿主机相关配置文件

# 关闭防火墙
systemctl status firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
# 修改limits.conf
vim /etc/security/limits.conf
# 在最后添加: *表示所用用户
* hard nofile 65536
* soft nofile 65536
* soft nproc 65536
* hard nproc 65536
# 修改sysctl.conf
vim /etc/sysctl.conf
# 在最后添加
vm.max_map_count=262144
# 关闭selinux
vim /etc/sysconfig/selinux
# 将 SELINUX=enforcing 改为 SELINUX=disabled

五、ES插件的安装

如果不需要插件,这个步骤可以省略

 # 下载地址:
# https://github.com/medcl/elasticsearch-analysis-ik/releases
# 拷贝到plugins下
# tar -zxvf 下载文件
# 解压后将原文件删除
# 建议chmod -R 777 包名

六、启动ES集群

   docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9200:9200 -p 9300:9300 -v /home/node/es_node1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/node/es_node1/data:/usr/share/elasticsearch/data -v /home/node/plugins:/usr/share/elasticsearch/plugins --name ES01 elasticsearch:5.1.1
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9201:9201 -p 9301:9301 -v /home/node/es_node2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/node/es_node2/data:/usr/share/elasticsearch/data -v /home/node/plugins:/usr/share/elasticsearch/plugins --name ES02 elasticsearch:5.1.1
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9202:9202 -p 9302:9302 -v /home/node/es_node3/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/node/es_node3/data:/usr/share/elasticsearch/data -v /home/node/plugins:/usr/share/elasticsearch/plugins --name ES03 elasticsearch:5.1.1



访问 http://宿主机ip:9200/_cat/nodes

七、写在最后

ES_JAVA_OPTS="-Xms512m -Xmx512m"
512m为其内存,可以自己根据寻求就行分配,内存越高es的效率也就越高
elasticsearch:5.1.1
版本可以自己根据需要进行选择
如果出现权限不足或者报错,可以尝试
cd /home
chmod -R 777 node
chown -R 777 node
插件选择时版本应该和ES版本相对应

给出集群创建后的tree,各节点中data下,在创建前是没有内容的,图片中为节点生成后,docker内部映射出来的文件,如果需要重新创建请删除data中的内容,以免影响集群的创建成功



在centos7使用docker下搭建elasticsearch集群的更多相关文章

  1. docker下搭建fastfds集群版

    搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成 ...

  2. Windows下搭建elasticsearch集群案例

    https://blog.csdn.net/u014236259/article/details/64129918

  3. Elasticsearch使用系列-Docker搭建Elasticsearch集群

    Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 Elasticsearch使用系列-基本查询和聚合查询+sql插件 Elas ...

  4. 使用Docker搭建Elasticsearch集群环境

    本篇文章首发于头条号单机如何搭建Elasticsearch集群?使用容器技术快速构建集群环境,欢迎关注头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_te ...

  5. 基于docker搭建elasticsearch集群

    es集群的搭建 - 基于单机搭建elasticsearch集群见官网 https://www.elastic.co/guide/en/elasticsearch/reference/current/d ...

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

    本章其实是ELK第二章的插入章节. 本章ES集群的多节点是docker启动在同一个虚拟机上 ====================================================== ...

  7. Windows10 搭建 ElasticSearch 集群服务

    一.前言 集群的搭建需要多台机器,之前我使用 ubuntu 16.04 搭建过 hadoop 的单机模式和分布式模式,这个今后会写,今天先写一篇使用 < Windows10 搭建 Elastic ...

  8. Linux下搭建tomcat集群全记录(转)

    本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...

  9. Windows下搭建Redis集群

    Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...

随机推荐

  1. pytest+allure高端测试报告

    1.下载jdk,搭建jdk环境 下载JDK  http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.下载allure ...

  2. ESTScan|EORF|Augustus|nr|PSM|

    生物信息学方法的目的有二:1.常规找鉴定已知蛋白2.鉴定新蛋白 控制数据库大小可以通过增多酶切使得大数据库灵敏性增高数据量变小: 分步搜索是对于经典方法使用后找不到的新蛋白进行补充挖掘,预测蛋白与高可 ...

  3. Ubuntu16.04编译libjpeg-turbo库

    一.环境依赖 CMake v2.8.12或以后 NASM or YASM (if building x86 or x86-64 SIMD extensions),如果使用NASM, 依赖2.10之后版 ...

  4. python3多线程应用详解(第二卷:多线程到底是怎么工作的)

    现在很多人都说用多线程工作快是因为多个不同任务可以同时执行,注意我说的是不同任务,要是重复做一件事达到相同效果就是画蛇添足了,其实这是个错误的说法,线程真正的本质是无法同时执行的.现在我们来看下多线程 ...

  5. motionbuilder安装未完成,某些产品无法安装的解决方法

    motionbuilder提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装motionbuilder失败提示motionbuilder安装未完成,某些产品无法 ...

  6. Transformer详解:各个特征维度分析推导

    谷歌在文章<Attention is all you need>中提出的transformer模型.如图主要架构:同样为encoder-decoder模式,左边部分是encoder,右边部 ...

  7. Win32 计时器

    计时器精确吗? 计时器并不精确.有两个原因: 原因一:Windows计时器是硬件和ROM BIOS架构下之计时器一种相对简单的扩充.回到Windows以前的MS-DOS程序写作环境下,应用程式能够通过 ...

  8. python 添加字符串的七种方法

    #使用{}的方法 s1 = 'Hello {}! My name is {}.'.format('World', 'Python猫') print(s1) s2 = 'Hello {0} My nam ...

  9. 组合数学--容斥原理&鸽巢原理

    一次会议由1990位数学家参加,每人至少有1327位合作者.证明可以找到4位数学家,他们当中每两个人都合作 优质解答 这题可以分两步来做.第一,先证明一定有三个人,他们相互合作过.可以先找两个相互合作 ...

  10. 百度测试架构师眼中的百度QA

    百度测试架构师眼中的百度QA(一)   发表于2013-04-09 15:31| 4004次阅读| 来源架构师Jack的个人空间| 13 条评论| 作者董杰 百度测试QA 摘要:一直以来百度质量部在业 ...