Linux安裝Elasticsearch

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

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

1 安裝JDK

網上教程很多,也可以參考本人教程之前寫的Linux安裝JDK

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.options

vi ../config/jvm.options

修改如下位置

由於我的服務器內存較小,修改爲512m,具體可以根據情況修改,如下:

修改後在次啓動:

./elasticsearch

2.2.2 問題二

出現如下錯誤:

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

如圖

這個問題很明顯,不允許使用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用戶打開如下文件:

vim /etc/sysctl.conf

添加如下配置:

vm.max_map_count = 655360

使配置生效

/sbin/sysctl -p

然後使用es用戶啓動Elasticsearch,這次可以成功啓動了,如果需要後臺啓動的話,在啓動命令後加&,如下所示:

./elasticsearch &

總結

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章