zoukankan      html  css  js  c++  java
  • Docker搭建ES

    Centos7安装ES 和 Docker搭建ES

    文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws

    一.linux centos7.x安装ES 

    1.下载java

    1 sudo yum install java-1.8.0-openjdk.x86_64
    2 java -version 确认安装结果

    2.下载和安装ES

    1 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.rpm
    2 rpm -ivh elasticsearch-5.6.2.rpm 
    1 systemctl enable elasticsearch

    如果你机器内存小,就去/etc/elasticsearch 下 修改jvm.options 

    1 systemctl start elasticsearch   //启动
    2 systemctl status elasticsearch  //状态

    3.配置ES

    nano /etc/elasticsearch/elasticsearch.yml

    移除cluster.name和node.name前面的#井号来取消注释。另一个重要的配置是服务器角色master或slave。

    master负责集群健康和稳定。在大型生产部署环境中通常有很多节点,建议拥有多个专用Master。通常专用master不会存储数据和创建indexes. 因此一般不会因过载而导致集群健康受到威胁。

    slaves作为工作机,可以加载数据任务。即使slave节点过载,集群健康也不会受到严重的影响,其他节点可以承担额外的负载。

    决定服务器角色的配置乘坐node.master。如果你只有一个ES节点,应该保持其默认值为true, 即唯一的节点也是master. 如果希望将节点配置为slave, 取消这行注释,并且把值修改为false. 

    node.master: false 

    另一个重要的配置项是node.data , 它决定是否存储数据,在大多数情况下,此选项应保留默认值true.但是有两种情况你也许不希望节点存储数据,一个是结点作为专用master,另一个则是节点仅用于从其他节点获取数据并聚合结果的时候,这种情况也被称为 搜索负载平衡器,search load balancer.

    再说到如果你只有一个ES节点的话,则应该注释此配置,并保留其默认true值。否则,为了禁用数据存储,则取消该行注释,并将值修改为false.

    node.data: false

    另外两个重要配置项为index.number_of_shards和index.number_of_replicas 。

    前者决定index将会被分割成多少片(shards),第二个决定了在集群中被分发的副本(replicas)数。有更多的分片shards可以提高性能,有更多的replicas可以搜索更快。

    如果你仍然在单节点的ES上探索和测试ES。最好从一个shards开始,然后设置无replicas.因此应按照如下设置(请确保取消注释)

    index.number_of_shards: 1 
    index.number_of_replicas: 0

    最后一个你感兴趣的应该是修改path.data设置,它决定了数据的存储路径。默认设置为/var/lib/elasticsearch.在生产环境中,建议你使用专用分区和挂载点来存储数据。在最好的情况下,专用分区是一个单独的存储介质,以提供更好的性能和数据隔离。您可以通过取消注释并更改path.data的值,来指定不同的路径:

    path.data: /media/different_media

    在修改设置后不要忘了 restart es服务。下面使用几个基础命令测试一下:

     View Code

    二.Docker搭建ES

     虽然弄了两台服务器,但感觉还不够,Docker环境安装ES就比较方便了,正好也可以借着docker 开多个es镜像的容器来学习ES集群。更多的内容可以参考docker es文档 https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docker.html

     docker pull docker.elastic.co/elasticsearch/elasticsearch:5.6.2
    
    //不过我的服务器内存还是不够开启那么多es,所以在启动容器实例的时候 设置了512m.
    
    docker run -p 9301:9200 -e ES_JAVA_OPTS="-Xms512m -Xmx512m"  -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:5.6.2
  • 相关阅读:
    Visual Studio插件CodeRush全新发布v20.1.5|支持运行设置文件
    DevExpress Data Access v20.1新版亮点:XPO
    VCL界面工具——DevExpress VCL v20.1.3全新发布
    你想要的WinForm界面开发教程在这里
    WPF界面开发技巧你知多少?Data Editors如何实现多选?
    Web开发实用技能,看Kendo UI for jQuery如何导出Excel(一)
    DevExpress XAF框架2020新改变!一篇文章带你看完
    Winforms界面开发新技能——Data Grid
    一招教你如何在WPF界面开发时自定义外观,快来Get!
    完整的jQuery UI组件库:Kendo UI for jQuery发布R2 2020 SP1
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/7685852.html
Copyright © 2011-2022 走看看