一 、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. mac搭建本地服务器

    目录 基础部分 1234 启动服务器添加自定义文档到本地服务器查看自定义效果手机/其他电脑 访问本机服务器 说明:本地开发需要搭建本地服务器进行页面的调试,mac系统自带apache服务,本篇日志是针 ...

  2. [LC] 156. Binary Tree Upside Down

    Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that ...

  3. JS UTC 昨天

    var birthday = new Date("Jan 01, 1983 01:15:00") var formatDate = function (date) {       ...

  4. UTF虚拟对象

    虚拟对象: 虚拟对象是为了让UFT识别某些不能识别的控件,把这些控件的范围定义为虚拟对象. 新建虚拟对象 管理虚拟对象 创建虚拟对象之后可通过菜单tools-Virutal Objects-Virut ...

  5. Qt 项目中main主函数及其作用

    main.cpp 是实现 main() 函数的文件,下面是 main.cpp 文件的内容. #include "widget.h" #include <QApplicatio ...

  6. mysql 数据库 创建用户和授权

    创建用户和密码 CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; 创建几个数据库 例如 db1,db2 用户授权访问指定的数据库 grant all privileg ...

  7. iOS UITableView Tips(2)

    #TableView Tips(2) (本来想一章就结束TableView Tips,但是发现自己还是太天真了~too young,too simple) ##架构上的优化 在Tips(1)中指出了一 ...

  8. LeetCode Day 5

    LeetCode0005 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab& ...

  9. 3dmax2020卸载/安装失败/如何彻底卸载清除干净3dmax2020注册表和文件的方法

    3dmax2020提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2020失败提示3dmax2020安装未完成,某些产品无法安装,也有时候想重新安装3 ...

  10. Query对象与DOM对象之间的转换

    什么是jQuery对象? ---就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法. 比如: $("#test") ...