说明:

准备2台机器,我这里有192.168.0.170 和 192.168.0.169 
192.168.0.170 作为master
192.168.0.169 作为普通node

一、环境
1.docker 环境
2.Elasticsearch5.6.13 
3.Elasticsearch-head:5 插件

二、下载
head 只需要在一台机器上装就行了、我直接和master节点装在170上

docker pull docker.io/elasticsearch:5.6.13
docker pull docker.io/mobz/elasticsearch-head:5

三、设置elasticsearch 配置环境
1、master[192.168.0.170] 配置

mkdir -p /usr/local/elasticsearch/conf

touch es1.yml

es1.yml:

#集群名称 所有节点要相同
cluster.name: "nova_es"
#本节点名称
node.name: master
#作为master节点
node.master: true
#是否存储数据
node.data: true
# head插件设置
http.cors.enabled: true
http.cors.allow-origin: "*"
#设置可以访问的ip 这里全部设置通过
network.bind_host: 0.0.0.0
#设置节点 访问的地址 设置master所在机器的ip
network.publish_host: 192.168.0.170

2、启动master
我的配置文件 和 data所在目录都设置在物理机器上,这里-v 映射下就可以了

docker run -d --name es5_6_13master -p 9200:9200 -p 9300:9300 --privileged=true -v /usr/local/elasticsearch/conf/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data elasticsearch:5.6.13

启动的时候如果报错

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决办法:
1、切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后再执行docker start es5_6_13master 启动成功

3、node2[192.168.0.169] 配置

mkdir -p /usr/local/elasticsearch/conf

touch es2.yml

es2.yml

cluster.name: "nova_es"
#子节点名称
node.name: node2
#不作为master节点
node.master: false
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
network.bind_host: 0.0.0.0
network.publish_host: 192.168.0.169
#设置master地址
discovery.zen.ping.unicast.hosts: [192.168.0.170]

4、启动node2

docker run -d --name es5_6_13node2 -p 9200:9200 -p 9300:9300 --privileged=true -v /usr/local/elasticsearch/conf/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data elasticsearch:5.6.13

5、node3[192.168.0.168] 配置

mkdir -p /usr/local/elasticsearch/conf

touch es3.yml

es3.yml

cluster.name: "nova_es"
#子节点名称
node.name: node3
#不作为master节点
node.master: false
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
network.bind_host: 0.0.0.0
network.publish_host: 192.168.0.168
#设置master地址
discovery.zen.ping.unicast.hosts: [192.168.0.170]

6、启动node3

docker run -d --name es5_6_13node3 -p 9200:9200 -p 9300:9300 --privileged=true -v /usr/local/elasticsearch/conf/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data elasticsearch:5.6.13

四、开启head查看
docker run -p 9100:9100 mobz/elasticsearch-head:5

打开链接 http://192.168.0.170:9100/ 查看节点状态

centos7用docker安装elasticsearch5.6.13的主从的更多相关文章

  1. Centos7 使用 kubeadm 安装Kubernetes 1.13.3

    目录 目录 什么是Kubeadm? 什么是容器存储接口(CSI)? 什么是CoreDNS? 1.环境准备 1.1.网络配置 1.2.更改 hostname 1.3.配置 SSH 免密码登录登录 1.4 ...

  2. CentOS7利用docker安装MySQL5.7

    CentOS7利用docker安装MySQL5.7 前提条件 centos7 且内核版本高于3.10, 可通过以下命令查看内核版本 uname -r 利用yum 安装docker 安装一些必要的系统工 ...

  3. Docker安装mysql镜像并进行主从配置

    Docker安装mysql镜像并进行主从配置 1.下载需要的mysql版本镜像 docker pull mysql:5.6 2.启动mysql服务实例(基本启动) #启动主mysql docker r ...

  4. Centos7通过Docker安装Sentry(哨兵)

    Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  5. [Docker]CentOS7下Docker安装教程

    想要倒腾Kubernetes的话,第一步就是要会安装Docker,这篇文章讲一讲过程 安装步骤 检查内核版本,必须是3.10以上 uname -r 安装Docker yum -y install do ...

  6. Centos7使用Docker安装Gogs搭建git服务器

    gihub地址:https://github.com/gogs/gogs gogs官网:https://gogs.io/ gihub官方docker安装gogs方法:https://github.co ...

  7. centos7上docker安装和使用教程

    Docker 是一个创建和管理 Linux 容器的开源工具.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上 ...

  8. Centos7系统Docker安装

    目录 前期说明 安装步骤 1.官网中文安装参考手册 2.确定你是CentOS7及以上版本 3.yum安装gcc相关 4.卸载旧版本 5.安装需要的软件包 6.设置stable镜像仓库 7.更新yum软 ...

  9. Docker安装ElasticSearch5.6.8

    前言 因实验室项目需要,准备docker安装个ES , 使用TransportClient练练手,然后死活连接不上 环境准备 系统:centos7 软件:docker ElasticSearch版本: ...

随机推荐

  1. printf("%f\n", 3);输出结果为什么是0.000000(转载)

    printf不会关心你输入的参数的类型,你输入的实际是 printf("%f",3),但是这个整型3不会被隐式类型转换为浮点型,而是被直接按内存内容当作浮点型 也就是说,内部使用等 ...

  2. Linux下查看进程的命令输出的内容解释

    Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID           TTY         TIME   ...

  3. python asyncio 异步实现mongodb数据转xls文件

    from pymongo import MongoClient import asyncio import xlwt import json class Mongodb_Transfer_Excel( ...

  4. Zend Studio 10汉化方法

    选择Help菜单->Install New Software...在Work with框中复制此地址:http://download.eclipse.org/technology/babel/u ...

  5. linux环境配置与使用合集

    配置linux和samba共享 1. 安装linux操作系统 2. 通过windows操作系统ping linux看看是否可以ping通 3. 相关软件安装 a. 安装samba sudo apt-g ...

  6. R语言读取MySQL数据表

    1.R中安装RODBC包 install.packages("RODBC") 2.在Windows系统下安装MySQL的ODBC驱动 注意区分32位和64位版本: http://d ...

  7. Django框架 之 Pagination分页实现

    Django框架 之 Pagination分页实现 浏览目录 自定义分页 Django内置分页 一.自定义分页 1.基础版自定义分页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  8. Servlet入门第一天

    1. 使用 JavaEE 版的 Eclipse 开发动态的 WEB 工程(JavaWEB 项目) 1). 把开发选项切换到 JavaEE 2). 可以在 Window -> Show View ...

  9. easyUI form sumit 中文乱码

    jsp 编码方式: pageEncoding="UTF-8" tomcat 编码方式: <Connector connectionTimeout="20000&qu ...

  10. 如何将一个用utf-8编码的文本用java程序转换成ANSI编码的文本

    jdk有一个关于UTF-8的bug所以加了一句 br.skip(1); bugID: http://bugs.java.com/view_bug.do?bug_id=4508058 public st ...