本文作者:qiaoqingyi

ES编程器(es编辑器)

qiaoqingyi 01-08 106

  在阅读这篇文章之前,你应该是对ElasticSearch有一定了解的,或者可以先通过文章末尾的链接了解ES是什么

  环境搭建

Ubuntu 14.04.5 LTS

Elasticsearch 2.4.4

jdk1.7.0_76

安装

我们先从Elastic的官网下载ES的安装包wget

https:/

/download.elastic.co/elasticsearch

/release/org

/elasticsearch/distribution

/tar/elasticsearch

/2.4.4/elasticsearch-

ES编程器(es编辑器)

2.4.

4.tar.gz

解压ES

  我们选择/usr/local作为工作路径

  tar -xzvfelasticsearch -2.4.4.tar .gz -C/usr/ localcd /usr/ local/elasticsearch -2.4.4更改ES配置cdconfvi elasticsearch.yml

  我们主要更改ES的绑定ip和性能调优。

  这里我们绑定了三个ip,并禁用掉删除全部索引的功能,同时针对ES的内存和缓存进行优化

  bootstrap.memory_lock: true

  index.cache.field.max_size: 50000

  index.cache.field.expire: 30m

  index.cache.field.type: soft

  network.host: 101.37.*.25,10.29.*.58,127.0.0.1

  action.disable_delete_all_indices : true

  

  安装启动ES

  到这里你就可以直接启动ES了。

  cd ../bin

  //直接启动ElasticSearch

  ./elasticsearch //或者使用后台方式进行启动

  ./elasticsearch -d

  默认情况下ES会占用9200和9300端口,我们通过netstat检查ES的启动情况

  netstat -anp |grep 9200

  可以看到我们绑定的三个ip都已经开始了网络监听

  root @101. 37.*. 25:/usr/local/elasticsearch-2.4. 4/bin # netstat -anp|grep 9200

  tcp 0010.29.*. 58:92000. 0. 0. 0:*LISTEN11135/java tcp 00101.37.*. 25:92000. 0. 0. 0:*LISTEN11135/java tcp 00127.0. 0. 1:92000. 0. 0. 0:*LISTEN11135/java 遇到的问题

  我们使用root角色进行启动ES时可能会报如下错误:

  root @101. 37.*. 25:/usr/local/elasticsearch-2.4. 4/bin # ./elasticsearchExceptioninthread "main"Java.lang. RuntimeException:don 't run elasticsearch as root.at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)

  这是由于默认情况下ES是不建议使用root账号启动ES的,可以通过指定变量的方式进行启动。

  方法一:

  在启动时指定变量。

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

  方法二:

  在elasticsearch可执行文件中指定变量。

  vi elasticsearch// 找到ES_JAV A_OPTS在其后追加ES_JAV A_OPTS= "-Des.insecure.allow.root=true"

  重启即可。

  PS:一般在使用ES时会为其申请指定的heap空间,我们可以在系统变量中指定ES_HEAP_SIZE="8g" 为ES申请空间,也可以在elasticsearch文件中指定。

阅读
分享