Elasticsearch技术解析与实战
上QQ阅读APP看书,第一时间看更新

1.4.2 安装Elasticsearch

当我们设置好Java后,下载最新的Elasticsearch版本,解压,安装完毕。下载地址为:https://www.elastic.co/downloads/past-releases/elasticsearch-2-3-0

Elasticsearch是Java开发的,所以JVM的环境变量JAVA_OPTS对Elasticsearch是非常重要的。在JAVA_OPTS中对Elasticsearch最重要的参数是-Xmx最大可以使用内存的参数,一般情况下大内存更能发挥Elasticsearch作用,建议-Xmx设置为物理内存的一半,为了减少内存分配带来的性能损耗,最好一开始就设置初始内存和最大内存都为物理内存的一半,即Xms和Xmx这两个参数。

由于JAVA_OPTS大多数时候对整个机器环境起作用,所以最好是保留默认的JAVA_OPTS,最好用ES_JAVA_OPTS环境变量设置来作为JAVA_OPTS参数:

默认的配置文件在elasticsearch/bin/elasticsearch.in.sh中。

if [ "x$ES_MIN_MEM" = "x" ]; then
        ES_MIN_MEM=256m
fi
if [ "x$ES_MAX_MEM" = "x" ]; then
        ES_MAX_MEM=1g
fi
if [ "x$ES_HEAP_SIZE" != "x" ]; then
        ES_MIN_MEM=$ES_HEAP_SIZE
        ES_MAX_MEM=$ES_HEAP_SIZE
fi
JAVA_OPTS="$JAVA_OPTS -Xms${ES_MIN_MEM}"
JAVA_OPTS="$JAVA_OPTS -Xmx${ES_MAX_MEM}"

ES_HEAP_SIZE环境变量允许设置被分配到Elasticsearch java进程中堆内存的大小。最小值和最大值将分配相同的值,可以通过设置ES_MIN_MEM(默认为256M)和ES_MAX_MEM(默认为1G)对堆内存进行设置。