Linux 下安裝 Elasticsearch

說明

Elasticsearch 就不過多介紹了,可以自行百度或者查看上一篇文章《windows10安裝ElasticSearch

下載

  1. 可以自行登陸網站手動下載:https://www.elastic.co/cn/downloads/elasticsearch
  2. Linux 下使用 wget 下載 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz 根據需求自行替換版本號

安裝

1、cd 到安裝目錄,執行解壓命令

tar -zxvf elasticsearch-5.6.3.tar.gz

修改配置文件

1、進入 elasticsearch 安裝目錄,使用vi編輯器

vi config/elasticsearch.yml

2、取消如下注釋,並修改爲當前主機地址:

network.host: 192.168.0.3
discovery.zen.ping.unicast.hosts: ["192.168.0.3"]

3、使用vi編輯器,修改 /etc/sysctl.conf 文件,添加如下代碼(若無將會出現下面常見問題2):

vm.max_map_count=262144

4、退出保存後執行如下命令:

sysctl -p

新建 elsearch 用戶及用戶組

[root@localhost ~]# groupadd elsearch

[root@localhost ~]# useradd elsearch -g elsearch -p elasticsearch

[root@localhost ~]# passwd elsearch # 設置密碼

[root@localhost ~]# cd /usr/local/  # 進入 elsearch 安裝目錄

[root@localhost /usr/local]# chown -R elsearch:elsearch elasticsearch-5.5.2/ # 授權

使用vi編輯器,修改 /etc/security/limits.conf 文件,在文件末尾添加如下代碼(若無將會出現下面常見問題3):

elsearch soft nofile 65536

elsearch hard nofile 65536

elsearch soft nproc 4096

elsearch hard nproc 4096

baoshan soft memlock unlimited

baoshan hard memlock unlimited

修改 90-nproc.conf 配置:

vim /etc/security/limits.d/90-nproc.conf

elsearch soft nproc 2048

注意: elsearch 爲登錄的用戶名,因爲 root 在 5.0.0 之後是不能啓動 elasticsearch。需要退出重新登錄,配置才能生效

啓動 ElasticSearch 及查看狀態

啓動ElasticSearch服務的命令,顯示啓動的log:

su elsearch
cd elsearch安裝目錄
./bin/elasticsearch

加上-d參數表示後臺啓動,一般我們都採用後臺啓動的方式:

su elsearch
cd elsearch安裝目錄
./bin/elasticsearch -d

ElasticSearch服務啓動成功後,可看到如下進程信息:

ps -es |grep elasticsearch

查看ElasticSearch服務所監聽的端口:

netstat -lntp |grep java

設置防火牆規則,開放 ElasticSearch 服務所監聽的端口:

[elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent success [elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --zone=public --add-port=9300/tcp --permanent success [elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --reload success

開放了相應的端口(9200)後,從瀏覽器中訪問,看看能否訪問成功,如下則是訪問成功的:

常見問題

1、can not run elasticsearch as root

Elasticsearch版本> = 5.0.0時,是不可用超級管理員運行Elasticsearch的,退出管理員賬號即可

2、max virutal memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決方案,請看上面修改配置文件

3、max number of threads [3750] for user [xxx] is too low, increase to at least [4096]

解決方案,請看上面修改新建用戶及用戶組

4、memory locking requested for elasticsearch process but memory is not locked

解決辦法如下:需要修改/etc/security/limits.conf
添加以下命令:

elsearch soft memlock unlimited

elsearch hard memlock unlimited

elsearch 爲啓動 elasticsearch 的用戶名

修改:/etc/sysctl.conf 添加 -> vm.swappiness=0

5、Native controller process has stopped - no new native processes can be started
解決辦法:

vi /etc/security/limits.conf
在文件的末尾加上

esyonghu soft nofile 65536
esyonghu hard nofile 65536
esyonghu soft nproc 4096
esyonghu hard nproc 4096


進入到下面文件夾
[root@localhost ~]# cd /etc/security/limits.d
[root@localhost limits.d]# ll
total 4
-rw-r--r--. 1 root root 191 Nov  6  2016 20-nproc.conf
 

[root@localhost limits.d]# vi 20-nproc.conf 
 
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
 
*          soft    nproc     4096
root       soft    nproc     unlimited
~                                                                                                                            
~  
將上面內容的*號改成用戶名


# See rhbz #432903 for reasoning.
 
elsearch   soft    nproc     4096
root       soft    nproc     unlimited


修改下面文件加上內容
[root@localhost security]# vi /etc/sysctl.conf 
vm.max_map_count = 655360


對於上面的內容讓其生效
[root@localhost security]# sysctl -p
vm.max_map_count = 655360
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章