說明
Elasticsearch 就不過多介紹了,可以自行百度或者查看上一篇文章《windows10安裝ElasticSearch》
下載
- 可以自行登陸網站手動下載:https://www.elastic.co/cn/downloads/elasticsearch
- 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