IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> docker 安装 elasticsearch 集群 -> 正文阅读

[大数据]docker 安装 elasticsearch 集群

此处部署为单个服务器启动三个elasticsearch容器

问题:本打算在三个服务器上单独部署elasticsearch 容器,elasticsearch.yml 注册用的宿主机ip,但是容器之间通信发现用的是容器内部ip,导致节点之间通信失败,只能发现master节点,待大佬们解疑答惑

  • 修改 max_map_count 否则启动失败,提示该值设置为262144

    • cat /proc/sys/vm/max_map_count
      
    • sysctl -w vm.max_map_count=262144
      
  • 分别创建三个节点配置文件挂载目录

  • 拉取 elasticsearch 镜像

    • docker pull elasticsearch:7.14.0
      
    • 先启动一个容器,并将配置文件复制出来

    • docker run --name es01 -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m"  -v /opt/es01/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -p 9200:9200 -p 9300:9300 elasticsearch:7.14.0
      
    • docker cp es01:/usr/share/elasticsearch/config/elasticsearch.yml /opt/es01/config
      
  • 修改 es01 elasticsearch.yml

    • # 集群名称
      cluster.name: es-cluster
      # 节点名称 
      node.name: es-node1
      # 启用该物理机器所有网卡网络访问
      network.host: 0.0.0.0
      http.host: 0.0.0.0
      # 跨域
      http.cors.enabled: true
      http.cors.allow-origin: "*"
      # 当前节点是否可以被选举为master节点,是:true、否:false    
      node.master: true
      # 当前节点是否用于存储数据,是:true、否:false  
      node.data: true
      # 设置节点之间通信的端口 
      transport.tcp.port: 9300
      # es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点 
      discovery.seed_hosts: 192.168.202.128:9300
      # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master   
      cluster.initial_master_nodes: es-node1
      # elasticsearch和其他节点通信的地址,如果不设置的话 会自动获取  
      network.publish_host: 192.168.202.128
      # host地址,默认为network.host 
      transport.host: 0.0.0.0
      # 设置这个集群,有多少个节点有master候选资格,如果集群较大官方建议为2-4个
      discovery.zen.minimum_master_nodes: 1
      
    • docker restart es01

  • 复制 elasticsearch.yml 到其他两个 es 挂载目录

    • es02 elasticsearch.yml

    • cluster.name: es-cluster
      node.name: es-node2
      network.host: 0.0.0.0
      http.host: 0.0.0.0
      http.cors.enabled: true
      http.cors.allow-origin: "*"
      node.master: true
      node.data: true
      transport.tcp.port: 9301
      discovery.seed_hosts: 192.168.202.128:9300
      cluster.initial_master_nodes: es-node1
      network.publish_host: 192.168.202.128
      transport.host: 0.0.0.0
      discovery.zen.minimum_master_nodes: 1
      
    • es03 elasticsearch.yml

    • cluster.name: es-cluster
      node.name: es-node3
      network.host: 0.0.0.0
      http.host: 0.0.0.0
      http.cors.enabled: true
      http.cors.allow-origin: "*"
      node.master: true
      node.data: true
      transport.tcp.port: 9302
      discovery.seed_hosts: 192.168.202.128:9300
      cluster.initial_master_nodes: es-node1
      network.publish_host: 192.168.202.128
      transport.host: 0.0.0.0
      discovery.zen.minimum_master_nodes: 1
      
    • 启动es02 、 es03

    • docker run --name es02 -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m"  -v /opt/es02/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -p 9201:9200 -p 9301:9300 elasticsearch:7.14.0
      
      docker run --name es03 -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m"  -v /opt/es03/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -p 9202:9200 -p 9302:9300 elasticsearch:7.14.0
      
    • es 启动较慢,别着急 ,访问接口 http://192.168.202.128:9200/_cat/nodes

    • 172.17.0.2 72 97 1 0.08 0.11 0.14 cdfhilmrstw * es-node1
      172.17.0.4 53 97 1 0.08 0.11 0.14 cdfhilmrstw - es-node3
      172.17.0.3 69 97 1 0.08 0.11 0.14 cdfhilmrstw - es-node2
      
    • 显示以上信息表示集群搭建成功

  • 安装 elasticsearch-head 可视化界面

    • #拉取镜像
      docker pull mobz/elasticsearch-head:5
      
      #创建容器
      docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
      
      #启动容器
      docker start elasticsearch-head
      or
      docker start 容器id (docker ps -a 查看容器id )
      
    • 启动成功后访问 http://192.168.202.128:9100/

    • 在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-13 12:07:06  更:2021-08-13 12:07:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:06:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码