本文介紹Linux環境如何安裝Elasticsearch.java
本文環境是在騰訊雲服務器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。bootstrap
網上教程不少,也能夠參考本人教程以前寫的Linux安裝JDKvim
cd /usr/local/
複製代碼
mkdir tool
複製代碼
cd tool
複製代碼
mkdir elasticsearch
複製代碼
cd elasticsearch
複製代碼
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.tar.gz
複製代碼
tar -xvf elasticsearch-5.4.2.tar.gz
複製代碼
cd elasticsearch-5.4.2/bin
複製代碼
./elasticsearch
複製代碼
直接啓動,遇到如圖問題,以下:瀏覽器
這個問題是因爲內存分配不夠形成的,修改適合本機的內存,修改文件config/jvm.optionsbash
vi ../config/jvm.options
複製代碼
修改以下位置服務器
因爲個人服務器內存較小,修改成512m,具體能夠根據狀況修改,以下:curl
修改後在次啓動:jvm
./elasticsearch
複製代碼
出現以下錯誤: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
複製代碼
如圖所示,能夠成功訪問
在瀏覽器訪問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 &
複製代碼
以上全是本人踩坑實踐獲得的,親測可用。