Linux安裝Elasticsearch

本文介紹Linux環境如何安裝Elasticsearch.java

本文環境是在騰訊雲服務器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。bootstrap

1 安裝JDK

網上教程不少,也能夠參考本人教程以前寫的Linux安裝JDKvim

2 安裝Elasticsearch

2.1 建立elasticsearch目錄

cd /usr/local/
複製代碼
mkdir tool
複製代碼
cd tool
複製代碼
mkdir elasticsearch
複製代碼
cd elasticsearch
複製代碼

2.1 下載Elasticsearch

2.1.1 在剛剛建立好的文件夾內下載Elasticsearch(如下簡稱es)

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.tar.gz
複製代碼

2.1.2 解壓es包

tar -xvf elasticsearch-5.4.2.tar.gz
複製代碼

2.1.3 進入es/bin包

cd elasticsearch-5.4.2/bin
複製代碼

2.1.4 啓動es

./elasticsearch
複製代碼

2.2 解決問題

2.2.1 問題一

直接啓動,遇到如圖問題,以下:瀏覽器

這個問題是因爲內存分配不夠形成的,修改適合本機的內存,修改文件config/jvm.optionsbash

vi ../config/jvm.options
複製代碼

修改以下位置服務器

因爲個人服務器內存較小,修改成512m,具體能夠根據狀況修改,以下:curl

修改後在次啓動:jvm

./elasticsearch
複製代碼

2.2.2 問題二

出現以下錯誤:elasticsearch

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
複製代碼

如圖oop

這個問題很明顯,不容許使用root用戶啓動,那麼咱們新建一個es用戶,並賦予權限:

添加es用戶

useradd es
複製代碼

添加es用戶密碼

passwd es
複製代碼

將文件夾elasticsearch-5.4.2賦予es權限

chown -R es:es /usr/local/tool/elasticsearch/elasticsearch-5.4.2
複製代碼

切換爲es用戶

su es
複製代碼

再次啓動es

./elasticsearch
複製代碼

此次啓動成功了,咱們在使用一個窗口登陸root用戶,輸入命令:

curl -X GET http://localhost:9200
複製代碼

如圖所示,能夠成功訪問

2.2.3 問題三

在瀏覽器訪問http://118.24.242.170:9200/拒絕訪問(118.24.242.170爲服務器ip)

使用root用戶,打開elasticsearch.yml文件,以下:

vi /usr/local/tool/elasticsearch/elasticsearch-5.4.2/config/elasticsearch.yml
複製代碼

文件內增長以下代碼

network.host: 0.0.0.0
複製代碼

使用es用戶啓動,發現又出現了錯誤以下,獲得錯誤信息如圖

使用root用戶打開以下文件:

vi /etc/security/limits.conf
複製代碼

添加以下配置:

hadoop soft nofile 65536
hadoop hard nofile 131072
hadoop soft nproc 2048
hadoop hard nproc 4096
複製代碼
vim /etc/sysctl.conf
複製代碼

添加以下配置:

vm.max_map_count = 655360
複製代碼

使配置生效

/sbin/sysctl -p
複製代碼

而後使用es用戶啓動Elasticsearch,此次能夠成功啓動了,若是須要後臺啓動的話,在啓動命令後加&,以下所示:

./elasticsearch &
複製代碼

總結

以上全是本人踩坑實踐獲得的,親測可用。

相關文章
相關標籤/搜索