• ElasticSearch 5.4 安装


        1. 前期准备

    •     环境准备
    IP地址 操作系统 内存
    192.168.1.10 centos 7 16
    192.168.1.11 centos 7 16
    192.168.1.12 centos 7 16
    192.168.1.13 centos 7 16

     

     

     

     

     

     

    •       安装包下载

          官方下载地址:https://www.elastic.co/downloads/elasticsearch。 

    •      jdk版本需要 jdk 8

       2. 安装过程

        首先解压安装包,然后进入解压程序文件夹。

    # 解压安装包
    tar
    -xvf elasticsearch-5.4.0.tar;
    # 进入解压后的文件夹
    cd elasticsearch-5.4.0

     

        在elasticsearch的根目录下启动elasticsearch或者将elasticsearch做为环境变量添加到/etc/profile中(类似于JAVA_HOME的配置),如下是在elasticsearch的根目录下启动的命令:

     

    ./bin/elasticsearch

     

     如果是以root用户登录并执行的上述命令,则会看到如下所示的错误提示

    [root@localhost elasticsearch]# ./bin/elasticsearch
    [2017-06-26T18:31:30,940][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
    org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.4.0.jar:5.4.0]
    Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:204) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:360) ~[elasticsearch-5.4.0.jar:5.4.0]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.0.jar:5.4.0]
        ... 6 more
    [root@localhost elasticsearch]#

     错误信息很明确,不能以root账号来启动elasticsearch。那么就需要以一个团队独有的账号(不建议使用个人账号,个人脱离团队可能导致任务运行出错)。 创建用户和用户组的脚本如下:

    # 创建用户 es-user
    useradd es-user
    # 创建用户组 es-group groupadd es
    -group
    # 添加用户es-user 到 es-group组 usermod
    -G es-group es-user

     使用新创建的账号启动es,可能会遇到如下几个问题。

    1. max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

     解决方案: 使用管理员角色编辑/etc/security/limits.conf文件,增加如下四条即可。

     * soft nofile 65536
     * hard nofile 65536
     * soft nproc 2048
     * hard nproc 4096
    2. max virtual memory areas vm.max_map_count[65530] is too low, increase to at least [262144]

      解决方案: 使用管理员角色编辑/etc/sysctl.conf,增加如下命令即可。

    vm.max_map_count=262144
    3. memory locking requested for elasticsearch process but memory is not locked

      解决方案: 使用管理员角色编辑/etc/security/limits.conf文件,增加如下两条即可。

    *  soft  memlock  unlimited
    *   hard  memlock  unlimited

    这样就能正常的运行起单机版的elasticsearch,运行成功后,在本地的浏览器输入http://localhost:9200 能够看到es的基本信息。在其他服务器也可以通过http://ip:9200来访问。 

      单机版的elasticsearch安装是不是挺简单的^-^。

      

     3.  ElasticSearch 集群安装

         

      集群的安装其实和单机的安装是类似的。主要是配置文件(./config/elasticsearch.yml) 的调整,ElasticSearch能够根据配置信息自动发现集群的其他节点,并通过选举的方式来推选主节点。

    常用的配置信息:

    1. cluster.name : 集群的名称,当包含多个节点时,同一个集群的节点上各个节点的cluster.name必须完全一样,互联的服务器就是通过该属性来判断是否属于同一个集群。
    2. node.name : 当前节点的名称,集群存在多个节点的时候,通过该属性来区分各个节点。
    3. path.data :  该节点的数据存放位置,一般指定为服务器上的非系统磁盘,如果放到系统磁盘上,容易造成空间不足。
    4. path.logs :该节点的elasticSearch运行日志的保存位置,同path.data,建议放到费系统磁盘。
    5. bootstrap.memory_lock:启动的时候是否锁定内存,避免系统内容交换到磁盘,如果内存交换到磁盘对性能影响巨大。
    6. network.host : 集群中该节点的网络标识,必须和系统配置的网络IP一致。否则找不到该IP。
    7. http.port :webapi 对应的端口号,默认为9200
    8. discovery.zen.ping.unicast.hosts: 用来指定集群的其他节点,不需要指定全部,仅指定部分集群节点即可,elasticsearch能够自动发现全部节点。
    9. discovery.zen.minimum_master_nodes : 用来指定集群至少包含的节点数,建议为节点总数/2 + 1,也就是超过半数,这样不会造成一个集群存在两个主节点的情况。否则,当部分节点与其他节点网络不通了,这部分节点会自动组成集群,选举自己的主节点,这时网路恢复就会存在两个主节点,无法工作了

    配置上述配置信息后,将集群的各个节点服务启动即可构成集群。单个节点的安装见上述。

      集群启动后,通过http://ip:9200/_cat/nodes 能够查看集群的节点信息,其中 标记为 * 的为主节点。如果主节点挂掉,集群会重新选举产生新的主节点。

      通过 http://ip:9200/_cat 可以查看集群的其他信息,通过指定_cat后的参数来展示不同的系统功能。

     安装就记录到这,此篇博文供大家来参阅,也是个人学习的一个记录。

     

                

  • 相关阅读:
    JQuery计算当前Dom结构在浏览器窗口中被显示方法(懒加载原理)
    图片png24格式在IE6下半透明解决办法
    CSS方式支持IE6的fixed样式
    ecshop模板首页或列表页显示商品简单描述
    ecshop静态、 ecshop伪静态、ecshop伪静态设置详细方法、ECSHOP静态化方法
    批量清除ecshop全部商品的精品 新品和热销属性的方法
    ecshop商品页显示累计销售量,ecshop显示商品销售总数量的方法
    常用JQuery插件整理、前端适用
    ecshop销售排行榜显示销售 销量的商品的件数方法
    Ecshop IIS Rewrite伪静态规则
  • 原文地址:https://www.cnblogs.com/lovegmail/p/7081979.html
Copyright © 2020-2023  润新知