Elasticsearch安装及遇到的问题(CentOS 7.3 64位)

Elasticsearch安装

  1. 使用root用户创建一个其他用户,(elasticsearch不能在root账户下安装)
# 添加一个名字是es工作组
groupadd es
# 添加用户es设置密码elasticsearch并设置工作组es
useradd es -g es -p elasticsearch
  1. 下载elasticsearch包
    https://www.elastic.co/cn/downloads/past-releases 这是elasticsearch的历史版本下载地址
    注意: ES依赖JKD,不同版本依赖不同版本的JKD,所以在选择ES版本的时候要注意这个地方
    由于我是在centos上安装的,我直接用wget下载,我选择的是6.8.1版本
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.1.tar.gz
    
  2. 安装启动
    1) 下载好之后是个tar.gz压缩包,解压
    # 解压缩包
    tar -xf elasticsearch-6.8.1.tar.gz
    
    2)进入elasticsearch-6.8.1目录
    在这里插入图片描述
    可以先大体看一下bin和config目录中的配置和脚本,我们只需要运行bin目录下的elasticsearch脚本就能启动我们的ES,非常简单

安装过程中遇到的问题汇总

不出意外的话按照上面的方式安装,你是运行不起来的

  • 问题一
    在这里插入图片描述
    这个问题之前安装的时候没有遇见过,不知道具体原因
    解决方式
    修改elasticsearch.yml配置文件,添加xpack.ml.enabled: false

  • 问题二
    为了可以外网访问,我们需要在elasticsearch.yml配置文件中添加network.host: 0.0.0.0
    但是在添加了这个之后会冒出来这么个错误
    在这里插入图片描述
    这里明确指出了三个问题,一个一个解决
    1)错误: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

    2)错误:system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
    原因:

    这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

    解决办法:
    在elasticsearch.yml配置文件中加入以下配置

   bootstrap.memory_lock: false
  bootstrap.system_call_filter: false

3)错误:JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance
原因:

JVM正在使用客户机VM [Java HotSpot(TM)客户机VM],但是为了获得最佳性能,应该使用服务器VM

解决办法:

修改JDK中jre/lib/i386/jvm.cfg文件
原来的文件应该是这样的

在这里插入图片描述
把这两个位置调换

posted @ 2019-07-05 02:32  SunArmy  阅读(364)  评论(0编辑  收藏  举报