ElasticSearch

Elasticsearch安装

2018-12-24  本文已影响8人  王勇1024

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

上一篇下一篇

猜你喜欢

热点阅读