您的位置:首页 > 其它

elasticsearch安装向导

2014-07-17 13:57 246 查看
通过如下命令来启动 elasticsearch:

$ bin/elasticsearch


在类*nix系统, 该命令会在后台运行. 如果想要强制使用前台运行的方式, 可在后面添加参数 -f:

$ bin/elasticsearch -f


ElasticSearch 使用java编写, 所以你需要安装 Java 6 环境来运行. 并且确保设置好环境变量 JAVA_HOME .

环境变量

在启动脚本里面, ElasticSearch 自带内置的 JAVA_OPTS 参数传递给 JVM . 大部分重要的设置,如 -Xmx 控制进程的可分配最大内存数, 和 -Xms 进程的最低可分配内存 (一般来说,给进程分配的内存越多越好 

 ).

大多数情况下变量值 JAVA_OPTS 使用默认值就行了, 使用环境变量 ES_JAVA_OPTS 来设置或修改 JVM 的配置或者参数.

环境变量: ES_MIN_MEM 和 ES_MAX_MEM 表示设置JVM分配的最小和最大值(使用单位 M字节). 默认分别为 256m 和 1g .

*NIX

启动shell脚本包含很多特性. 首先, 前面已经说过了, 能够很方便的控制elasticsearch服务究竟是以前台还是后台的方式来运行.

另外一个特性就是能够传递参数 -X 和 -D 直接到脚本里面. 外面传递的参数会直接覆盖脚本里面的 JAVA_OPTS 和 ES_JAVA_OPTS 的变量值. 例如:

$ bin/elasticsearch -f -Xmx2g -Xms2g -Des.index.storage.type=memory


重要配置项

文件描述

确保机器调大系统的 “最大打开文件数”(或者是运行elasticsearch服务的用户的最大文件打开数). 强烈建议设置成32k 甚至是 64k .

为了测试进程能够打开多少文件,可以通过传递参数 -Des.max-open-files 并设置值为 true. 这样服务会在启动的时候打印输出进程能够打开的文件数目.

内存设置

这里有一个选项 mlockall 来尝试并锁定进程的地址空间,这样一来该地址空间的数据就不会被交换了(swapped). 设置方法, 将变量 bootstrap.mlockall 设置为 true 并且强烈建议内存分配的最大最小值设置成一样.

如果想要看看是否正常工作,可以设置 common.jna 日志为 DEBUG 级别. 当出现错误 “Unknown mlockall error 0” 的时候,其中一个解决方案就是设置 ulimit -l unlimited.

注意, 这是一个实验性的特性, 当内存分配失败的时候或许会造成 JVM or shell脚本退出 (如果机器上内存不够的话).

以服务的方式来运行

ElasticSearch 可以通过目录下 bin/service 的脚本 elasticsearch 以服务的方式来运行. 脚本位于 这里. 脚本接受如下参数:

参数 描述

console 前台方式运行 elasticsearch.

start 后台方式运行 elasticsearch.

stop 停止正在运行的elasticsearch.

install 安装elasticsearch到系统启动项 (init.d / service).

remove 从系统启动项里面移除elasticsearch (init.d / service).

服务使用的是Java Service Wrapper,一个精简的java虚拟机本地包装并且可以监视着虚拟机的各种状态.

注意, 传递给JVM级别的参数配置 (如 -X 参数) 应该在配置文件 elasticsearch.conf 里进行设置.

环境变量 ES_MIN_MEM 和 ES_MAX_MEM 用来设置JVM内存分配的参数 (单位 mega bytes). 默认分别是 256 和 1024 .

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1847/php-fpm: pool
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:9200 0.0.0.0:* LISTEN 9633/java
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1468/nginx: worker
tcp 0 0 0.0.0.0:9300 0.0.0.0:* LISTEN 9633/java
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN 9633/java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: