说明:

准备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. 阿里云ECS centos7 支持IPv6

    1.编辑 /etc/sysctl.conf 文件,将其中三条禁用IPv6的设置更改为: net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default ...

  2. DRF - 序列化组件(GET/PUT/DELETE接口设计)、视图优化组件

    一.序列化组件 基于上篇随笔的表结构 , 通过序列化组件的ModelSerializer设计如下三个接口 : GET 127.0.0.1:8000/books/{id} # 获取一条数据,返回值:{} ...

  3. Java中 单例(Singleton)的两种方式

    第一种(饿汉式单例模式):在声明变量时实例化 public class Singleton { //静态初始化自动实例化 private static Singleton instance = new ...

  4. 「小程序JAVA实战」微信小程序简介(一)

    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-01/ 一直想学习小程序,苦于比较忙,加班比较多没时间,其实这都是理由,很多时候习惯了搬砖,习惯了固 ...

  5. document.ready与window.load区别

    jQuery document window load ready 区别详解 用过JavaScript的童鞋,应该知道window对象和document对象,也应该听说过load事件和ready事件, ...

  6. fastcgi_finish_request

    本问原地址 http://www.phpddt.com/php/fastcgi_finish_request.html 某些操作,如用户注册后邮件发送,记录日志等一些耗时操作可以转化为异步操作!当PH ...

  7. Realsense D430 python pointclound

    来自:https://github.com/IntelRealSense/librealsense/issues/1231------------------------------ import p ...

  8. ubunt 14.04 Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modul

    CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modul ...

  9. Vue.js路由组件

    1.如果在创建项目中,没有自动安装vue router,那就自行安装.cnpm install vue-router --save vue-router两种模式 hash模式和history模式. 默 ...

  10. CKEdiotr入门级使用

    CKEdiotr是一款不错的网页富文本编辑器,其内置的功能最大满足用户的需求,先将CKEditor的简单实用做个总结,以便于日后查看.使用.我用的是.net平台,故而以下介绍的是.net的CKEdit ...