Linux进阶Ubuntu 16.04安装ElasticSearch

Posted 滕哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux进阶Ubuntu 16.04安装ElasticSearch相关的知识,希望对你有一定的参考价值。

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

环境搭建

  1. Ubuntu 14.04.5 LTS
  2. Elasticsearch 2.4.4
  3. jdk1.7.0_76

安装

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

wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.4/elasticsearch-2.4.4.tar.gz

解压ES

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

tar -xzvf elasticsearch-2.4.4.tar.gz -C /usr/local
cd /usr/local/elasticsearch-2.4.4

更改ES配置

cd conf

vi 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        0      0 10.29.*.58:9200       0.0.0.0:*               LISTEN      11135/java      
tcp        0      0 101.37.*.25:9200      0.0.0.0:*               LISTEN      11135/java      
tcp        0      0 127.0.0.1:9200          0.0.0.0:*               LISTEN      11135/java  

遇到的问题

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

root@101.37.*.25:/usr/local/elasticsearch-2.4.4/bin# ./elasticsearch

Exception in thread "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_JAVA_OPTS在其后追加
ES_JAVA_OPTS="-Des.insecure.allow.root=true" 

重启即可。

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

以上是关于Linux进阶Ubuntu 16.04安装ElasticSearch的主要内容,如果未能解决你的问题,请参考以下文章

Linux进阶ubuntu 16.04安装zookeeper

Linux进阶Ubuntu 16.04安装ElasticSearch

Linux进阶Ubuntu 16.04安装ElasticSearch

ubuntu16.04采用apt-get安装指定版本es(elasticsearch)

ubuntu 16.04安装jupyter notebook使用与进阶

Linux ubuntu16.04 安装opencv4教程(源码编译)