zoukankan      html  css  js  c++  java
  • 阿里云部署ElasticSearch搜索引擎

    参考视频
    准备环境

    一、ElasticSearch介绍

    Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜
    索功能,还可以进行以下工作:
    1、 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
    2、 实时分析的分布式搜索引擎。
    3、 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

    二、Docker ElasticSearch下载安装

    1、安装es镜像
    docker pull elasticsearch:6.7.1
    2、在根目录建立一个文件夹ES/config

    # 创建文件夹 es/config
    mkdir -p ES/config
    # 进入config
    cd /ES/config/
    # 分别创建3个文件
    vim es1.yml
    vim es2.yml
    vim es3.yml
    

    3、3个文件内容如下:
    es1.yml 解读配置参数意义

    # 集群唯一名称,所有节点一致
    cluster.name: elasticsearch-cluster
    # 节点名称
    node.name: es-node1
    # 设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
    network.host: 0.0.0.0
    # 设置其他节点和该节点交互的ip地址(服务器的ip地址)
    network.publish_host: 47.102.149.***
    # 设置对外服务的http端口,默认为9200
    http.port: 9200
    # 设置节点之间交互的tcp端口,默认是9300
    transport.tcp.port: 9300
    # 是否支持跨域,是:true
    http.cors.enabled: true
    # 表示支持所有域名
    http.cors.allow-origin: "*"
    # 配置该节点是否有资格被选举为主节点(候选主节点),为防止脑裂,配置奇数个候选主节点
    node.master: true
    # 配置该节点是数据节点,用于保存数据
    node.data: true
    # 集群个节点ip地址
    discovery.zen.ping.unicast.hosts: ["47.102.149.***:9300","47.102.149.***:9301","47.102.149.***:9302"]
    discovery.zen.minimum_master_nodes: 1
    
    • es1.yml
    cluster.name: elasticsearch-cluster
    node.name: es-node1
    network.host: 0.0.0.0
    network.publish_host: 47.102.149.***
    http.port: 9200
    transport.tcp.port: 9300
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: true
    node.data: true
    discovery.zen.ping.unicast.hosts: ["47.102.149.***:9300","47.102.149.***:9301","47.102.149.***:9302"]
    discovery.zen.minimum_master_nodes: 1
    
    • es2.yml
    cluster.name: elasticsearch-cluster
    node.name: es-node2
    network.host: 0.0.0.0
    network.publish_host: 47.102.149.***
    http.port: 9201
    transport.tcp.port: 9301
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: true
    node.data: true
    discovery.zen.ping.unicast.hosts: ["47.102.149.***:9300","47.102.149.***:9301","47.102.149.***:9302"]
    discovery.zen.minimum_master_nodes: 1
    
    • es3.yml
    cluster.name: elasticsearch-cluster
    node.name: es-node3
    network.host: 0.0.0.0
    network.publish_host: 47.102.149.***
    http.port: 9202
    transport.tcp.port: 9302
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: true
    node.data: true
    discovery.zen.ping.unicast.hosts: ["47.102.149.***:9300","47.102.149.***:9301","47.102.149.***:9302"]
    discovery.zen.minimum_master_nodes: 1
    

    4、分别创建三个容器

    docker images  # 找到elasticsearch的image id e2667f5db289
    
    # 这里不能用户root账户启动,会报错 ,查看日志 docker logs -f ES01
    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /ES/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name ES01 e2667f5db289
    
    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /ES/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name ES02 e2667f5db289
    
    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 -v /ES/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name ES03 e2667f5db289
    

    5、如果遇到elasticsearch启动错误

    • 如果是最大虚拟内存区域vm.max_map_count[65530]太低
    vim /etc/sysctl.conf
    # 最后一行添加
    vm.max_map_count = 655360
    # 并执行命令:
    sysctl -p
    # 删除 ES01 ES02 ES03
    docker rm ES01 ES02 ES03
    # 然后重启elasticsearch
    docker restart ES01 ES02 ES03
    

    6、安装可视化

    docker pull mobz/elasticsearch-head:5
    docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
    
    • 登录ip:9100
  • 相关阅读:
    [C#] 了解过入口函数 Main() 吗?带你用批处理玩转 Main 函数
    [C#] C# 知识回顾
    [C#] C# 知识回顾
    [C#] C# 知识回顾
    [C#] C# 知识回顾
    [C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密
    [C#] 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
    [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序
    [C#] 简单的 Helper 封装 -- RandomHelper
    [C#] 简单的 Helper 封装 -- CookieHelper
  • 原文地址:https://www.cnblogs.com/nuister/p/14031903.html
Copyright © 2011-2022 走看看