美文网首页ElasticSearch
Elasticsearch安装

Elasticsearch安装

作者: 王勇1024 | 来源:发表于2018-12-24 18:01 被阅读8次

    JAVA(JVM)版本

    Elasticsearch是使用Java构建的,至少需要Java 8才能运行。 只支持Oracle的Java和OpenJDK。 所有Elasticsearch节点和客户端都应使用相同的JVM版本。

    我们建议安装Java版本1.8.0_131或更高版本。 如果使用Java的已知坏版本,Elasticsearch将拒绝启动。

    Elasticsearch将使用的Java版本可以通过设置JAVA_HOME环境变量进行配置。

    提示:Elasticsearch带有默认配置,用于在64位服务器JVM上运行Elasticsearch。 如果使用32位客户端JVM,则必须从jvm.options中删除-server,如果使用任何32位JVM,则应将线程堆栈大小从-Xss1m重新配置为-Xss320k。

    通过tar.gz包安装

    下载并解压Elasticsearch

        wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.tar.gz

        tar -zxvf elasticsearch-5.6.2.tar.gz

        cd elasticsearch-5.6.2

    启动Elasticsearch

        bin/elasticsearch (or bin\elasticsearch.bat on Windows)

        默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout),并可以按Ctrl-C

    作为守护进程运行

        要作为守护程序运行Elasticsearch,请在命令行中指定-d,并使用-p选项将进程ID记录在文件中:

        ./bin/elasticsearch -d -p pid

        日志文件会输出到$ES_HOME/logs/目录下。

    停止Elasticsearch

        要关闭Elasticsearch,请杀死pid文件中记录的进程ID:

        kill `cat pid`

        或者

        curl -XPOST 'http://localhost:9200/_shutdown'

    访问Elasticsearch

              Run curl http://localhost:9200/ or Invoke-RestMethod http://localhost:9200

        注意:RPM和Debian软件包中提供的启动脚本会为您启动和停止Elasticsearch进程。

    遇到的问题

    1.不能使用root用户启动Elasticsearch

    图1

    解决方案1

    创建用户elasticsearch

                sudo useradd elasticsearch

    修改文件权限

                sudo chown -R elasticsearch elasticsearch-5.6.2

    用户elasticsearch启动elasticsearch

    结果:启动成功

    解决方案2

    在执行elasticSearch时加上参数-Des.insecure.allow.root=true,完整命令如下

        sudo ./bin/elasticsearch -Des.insecure.allow.root=true 

    结果:启动失败

    原因:这种解决方案是旧版本(ES2)所支持的,新版本(ES5)不支持root用户启动

    解决方案3

    用vi打开elasicsearch执行文件,在变量ES_JAVA_OPTS使用前添加以下命令

        ES_JAVA_OPTS="-Des.insecure.allow.root=true"

    结果:启动失败

    原因:同上

    2.Connection refused

    Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000f5d50000, 11206656, 0) failed; error='Cannot allocate memory' (errno=12)

    Elasticsearch requires at least Java 8 but your Java version from /usr/lib/jvm/java-8-oracle/bin/java does not meet this requirement

    可能的原因:1..JVM版本太低  2.内存空间不足

    检查JVM版本,排除第一个原因

    解决方案:增加内存到2G

    启动成功

    3.内存不足启动失败

    vi config/jvm.options

    修改以下参数:

    -Xms500m

    -Xmx500m

    通过命令行配置Elasticsearch

    默认情况下,Elasticsearch从$ ES_HOME / config / elasticsearch.yml文件加载其配置。 此配置文件的格式在配置弹性搜索中说明。

    也可以在命令行中指定在配置文件中指定的任何设置,使用-E语法如下所示:

    ./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

    提示:通常,任何群集范围的设置(如cluster.name)都应该添加到elasticsearch.yml配置文件中,而任何特定于节点的设置(如node.name)可以在命令行中指定。

    .zip和tar.gz文档结构

    .zip和.tar.gz包完全独立。 默认情况下,所有文件和目录都包含在$ ES_HOME中——解压缩存档时创建的目录。

    这非常方便,因为您不必创建任何目录即可开始使用Elasticsearch,并且卸载Elasticsearch与删除$ ES_HOME目录一样简单。 但是,建议更改config目录,数据目录和logs目录的默认位置,以便以后不再删除重要数据。

    类型描述默认位置设置

    homeElasticsearch 根目录或 $ES_HOME文件解压后创建的目录

    bin二进制文件目录,包括elasticsearch用于启动一个节点,elasticsearch-plugin用于安装插件$ES_HOME/bin

    conf配置文件,包括elasticsearch.yml$ES_HOME/configpath.conf

    data在节点上分配的每个索引/分片的数据文件的位置。 可以容纳多个位置。$ES_HOME/datapath.data

    logs日志文件目录$ES_HOME/logspath.logs

    plugins插件文件目录,每个插件都存放在一个目录中$ES_HOME/plugins

    repo共享文件系统存储库位置。 可以容纳多个位置。 可以将文件系统存储库放置在此处指定的任何目录的任何子目录中。未设置path.repo

    script脚本文件目录$ES_HOME/scriptspath.scripts

    参考文件:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/zip-targz.html

    相关文章

      网友评论

        本文标题:Elasticsearch安装

        本文链接:https://www.haomeiwen.com/subject/dhozkqtx.html