Elasticsearch 6.3.1、Head插件 安裝及配置


安裝Elasticsearch

Elasticsearch下載地址:https://www.elastic.co/cn/downloads/elasticsearch

也可以直接使用wget下載到某目錄下, 本文所有下載的包都放在 /home/tools 中, 解壓后移到 /home/apps目錄下 

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.zip

下載unzip工具,如果已經安裝過忽略該步驟

yum install -y unzip zip

解壓安裝包 

unzip elasticsearch-6.3.1.zip

將解壓后的文件夾移動到 /home/apps 下, 此步驟非必須,但為了后續需要安裝的東西太多防止目錄混亂所以與安裝包分離   

 mv elasticsearch-6.3.1 /home/apps/

到 /home/apps 下,elasticsearch 就解壓完畢了,但要直接啟動會報各種錯誤,接下來開始配置吧

 

-----------------------------------  Elasticsearch配置  --------------------------------------

注:文章默認已配置好1.8版本jdk, 如果沒配置請先配置一下!

 修改elasticsearch.yml

cd /home/apps/elasticsearch-6.3.1/config

vi elasticsearch.yml

修改如下幾項(配置集群名稱,這里端口默認為9200,如果需要修改可以改http.port)

cluster.name: xxx-es   
network.host: 0.0.0.0

path.logs: /home/apps/elasticsearch-6.3.1/logs

path.data: /home/apps/elasticsearch-6.3.1/data #默認沒有該目錄,需要手動新建 mkdir data

增加以下兩個配置(跨域訪問)
http.cors.enabled: true

http.cors.allow-origin: "*"

保存修改

新建啟動用戶 (ES5.0 以后不允許使用root角色啟動)

#添加用戶
adduser elasticsearch
#設置密碼 passwd elasticsearch
#授權 chown -R elasticsearch /elasticsearch-6.3.0
#切換用戶 su elasticsearch
#啟動 cd elasticsearch-6.3.0/bin ./elasticsearch

啟動可能會報如下錯誤

切換回root角色再為該用戶授權一次就可以了, 可能是啟動的時候新生成了文件沒有權限

su root
chown -R elasticsearch /home/apps/elasticsearch-6.3.1

錯誤解決方案

再啟動一次,發現依舊報錯

原因:無法創建本地文件問題,用戶最大可創建文件數太小 

解決方案:

#切換回root賬戶
su root

#修改limits.conf文件
vi /etc/security/limits.conf

在文件最底部增加如下配置

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

切換回elasticsearch賬號,再啟動一次ES吧,又報錯了

原因:最大虛擬內存太小

 解決方案:

#切換至root賬戶
su root

#修改sysctl.conf
vi /etc/sysctl.conf

添加如下配置

vm.max_map_count=655360

執行 sysctl -p 以刷新配置

再次切換回elasticsearch用戶,啟動ES

 啟動成功! 我們打開瀏覽器訪問一下吧~

防火牆配置

發現打不開,我們之前已經配置了所有節點可以訪問,並且也配置了可跨域,為什么打不開呢?

別忘了還有防火牆在啊。需要把9200的對外訪問端口打開

在控制台輸入以下命令

#開啟9200端口
firewall-cmd --zone=public --add-port=9200/tcp --permanen

#刷新配置
firewall-cmd --reload

再次訪問http://192.168.193.129:9200/

好~ES的配置到此結束

服務啟動與關閉

直接用./elasticsearch啟動一旦關閉控制台服務便會停掉,因此需要使用 ./elasticsearch -d 在后台啟動

如何關閉服務?

ps -ef|grep elasticsearch

殺掉對應的進程號就可以了

-------------------------------  Elasticsearch-Head 安裝及配置  --------------------------

下載及安裝

 面對這么個提示一定一臉懵逼吧,我要怎么查詢數據?怎么知道有什么索引? Head 插件就是為了解決這個問題的,它提供可視化的頁面方便用戶查看節點信息,查詢數據等。

接下來就開始安裝Head插件吧

Elasticsearch5.0 以后head不再在plugins中直接安裝了,需要獨立安裝

下載地址: https://pan.baidu.com/s/1kX1cMzlb6jWvHeDr2N5e-g

將下載后的壓縮包放到 /home/tools 下

#解壓壓縮包
unzip elasticsearch-head.zip

#將解壓后的文件夾移動/home/apps下
mv elasticsearch-head /home/apps

進入head文件目錄

cd elasticsearch-head

安裝grunt用來啟動head

#安裝grunt命令行工具grunt-cli
npm install -g grunt-cli

#安裝grunt及其插件
npm install grunt --save-dev

#查看安裝版本情況 
grunt -version

配置連接信息

vi Gruntfile.js

修改如下配置(ip 和 端口號)

 保存后配置防火牆,開放9100端口,在控制台輸入

firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload

啟動head

grunt server

啟動成功

在瀏覽器輸入 http://192.168.193.129:9100

安裝完成

 

服務啟動與關閉

后台方式啟動

nohup grunt server &

關閉head

#查詢端口占用
netstat -tunlp |grep 9100

如果netstat沒有安裝,執行以下命令安裝

yum install net-tools

#殺死進程
kill -9 9919

 

Elasticsearch-head 連接 Elasticsearch-6.0 + 檢索問題

Head 連接Elasticsearch6時其他功能都好使, 但數據瀏覽模塊不能顯示數據了,一直顯示搜索中,但不返回結果


看一下網絡流可知報406 錯誤

解決辦法:

cd elasticsearch-head/_site

vi vendor.js

修改如下

#1. 6886行
contentType: "application/x-www-form-urlencoded
改為
contentType: "application/json;charset=UTF-8"
#2. 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" && 改為 var inspectData = s.contentType === "application/json;charset=UTF-8" &&

重新啟動elasticsearch-head就可以正常檢索了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM