Linux安裝Elasticsearch

百度網(wǎng)盤下載

elasticsearch

1 安裝JDK

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

2 安裝Elasticsearch

首先到官網(wǎng)下載最新版本的ElasticSearch的zip壓縮包,也可以復制下載地址在終端中使用wget命令直接下載到CentOS中。例如在終端中執(zhí)行以下命令:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz

1.先在linux創(chuàng)建elsearch用戶,因為elasticsearch不能用root用戶操作
useradd elsearch
在創(chuàng)建安裝文件夾,授權(quán)文件夾為elsearch操作

2.//創(chuàng)建
mkdir /usr/local/elasticsearch

  1. //授權(quán)
    chown elsearch:elsearch /usr/local/es -R
    chown elsearch:elsearch /usr/local/es/elasticsearch-7.6.2/logs -R

4.上傳es的文件解壓到es目錄
tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz -C es

5.修改配置文件
/usr/local/es/elasticsearch-7.6.2/config
修改elasticsearch.yml
vim elasticsearch.yml
設置任意ip都可以連接
network.host: 0.0.0.0
修改jvm.options
vim jvm.options
-Xms128m
-Xmx128m
修改 /etc/sysctl.conf
vim /etc/sysctl.conf
vm.max_map_count=655360

配置生效
sysctl -p

啟動elasticsearch
cd /usr/local/es/elasticsearch-7.6.2/bin/
./elasticsearch
或者 ./elasticsearch -d 后臺啟動
``


``

5.添加用戶組(因為elasticsearch不能用root用戶啟動)

1)創(chuàng)建 elasticsearch 用戶組
[root@localhost ~]# groupadd elasticsearch

2) 創(chuàng)建用戶 es 并設置密碼為es
[root@localhost ~]# useradd es
[root@localhost ~]# passwd es

3 )用戶es 添加到 elasticsearch 用戶組
[root@localhost ~]# usermod -G elasticsearch es

6..這時重新啟動,不會提示任何錯誤了。新打開一個窗口,輸入curl localhost:9200,如果有以下輸出則說明啟動成功。

[king@localhost ~]$ curl localhost:9200
{
 "name" : "ZGws7ZX",
 "cluster_name" : "elasticsearch",
 "cluster_uuid" : "yeYDTLbNQ--rmDXMi2xO-g",
 "version" : {
   "number" : "5.5.2",
   "build_hash" : "b2f0c09",
   "build_date" : "2017-08-14T12:33:14.154Z",
   "build_snapshot" : false,
   "lucene_version" : "6.6.0"
 },
 "tagline" : "You Know, for Search"
}

問題

問題一

直接啟動,遇到如圖問題,如下:



這個問題是由于內(nèi)存分配不夠造成的,修改適合本機的內(nèi)存,修改文件config/jvm.options

vi ../config/jvm.options

由于我的服務器內(nèi)存較小,修改為512m,具體可以根據(jù)情況修改,如下:



修改后在次啟動:

./elasticsearch

問題二

出現(xiàn)如下錯誤:

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

如圖


這個問題很明顯,不允許使用root用戶啟動,那么我們新建一個es用戶,并賦予權(quán)限:
添加es用戶

useradd es

添加es用戶密碼

passwd es

將文件夾elasticsearch-5.4.2賦予es權(quán)限

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

文件內(nèi)增加如下代碼

network.host: 0.0.0.0

使用es用戶啟動,發(fā)現(xiàn)又出現(xiàn)了錯誤如下,得到錯誤信息如圖


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

vim /etc/sysctl.conf

添加如下配置:

vm.max_map_count = 655360

使配置生效

/sbin/sysctl -p

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

./elasticsearch &
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容