Interesting things
What did you do today
先入為主
ElasticSearch Head是什么?
ElasticSearch Head是集群管理延曙、數(shù)據(jù)可視化愿卸、增刪查改睁搭、查詢語句可視化工具。
安裝
在https://github.com/mobz/elasticsearch-head下載elasticsearch-head-master.zip
解壓elasticsearch-head-master.zip到/usr/local/fast/
unzip elasticsearch-head-master.zip -d /usr/local/fast/
image.png
- 在plugins目錄下創(chuàng)建head余黎。把
mkdir -p /usr/local/fast/elasticsearch-6.1.1/plugins/head/
-
把剛才解壓的elasticsearch-head-master文件夾下的所有的文件拷貝到/plugins/head/下乖坠。
image.png
我們可以通過Jps命令(java virtual machine process status tool 是jdk1.5提供的一個現(xiàn)實當前所有java進程pid的命令)怯邪,查看ElasticSearch進程號冰蘑,然后kill掉它县恕。
重啟elasticsearch冤议,拋出了“java.lang.IllegalArgumentException: property [elasticsearch.version] is missing for plugin [head]”異常惶岭。
[2018-01-08T16:51:09,225][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: property [elasticsearch.version] is missing for plugin [head]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.1.1.jar:6.1.1]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.1.1.jar:6.1.1]
Caused by: java.lang.IllegalArgumentException: property [elasticsearch.version] is missing for plugin [head]
at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:144) ~[elasticsearch-6.1.1.jar:6.1.1]
- 問題所在是elasticsearch-head-master解壓后的內容不能放在elasticsearch的plugins目錄下艇挨,所以我們刪除到plugins目錄下的head袖牙。
rm -rf head
image.png
- 更操蛋的是禁添,我們竟然還沒有安裝elasticsearch-head汽纠,我們只是下了安裝包莉炉,但是沒有安裝碴犬。我們需要node.js環(huán)境
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
[圖片上傳失敗...(image-87af7d-1515403754611)]
-
在/usr/local/目錄下創(chuàng)建nodejs文件夾绍昂。
image.png 把node-v4.4.7-linux-x64.tar.gz解壓到/usr/local/nodejs窘游。
配置環(huán)境變量忍饰,編輯/etc/profile添加以下內容艾蓝,然后執(zhí)行source /etc/profile饶深,我們接著就可以查看node.js的版本號了逛拱。
NODE_HOME=/usr/local/nodejs/node-v4.4.7-linux-x64
PATH=$PATH:$NODE_HOME/bin
NODE_PATH=$NODE_HOME/lib/node_modules
export NODE_HOME PATH NODE_PATH
- 安裝grunt(grunt是基于Node.js的項目構建工具俱两,可以進行打包壓縮宪彩、測試讲婚、執(zhí)行等等工作筹麸,elasticsearch-head插件就是通過grunt啟動的)物赶。進入/usr/local/fast/elasticsearch-head-master/目錄下進行安裝。安裝完畢告嘲,我們可以檢查是否安裝成功橄唬。
npm install -g grunt-cli
grunt -version
image.png
-
修改elasticsearch-head-master文件下的Gruntfile.js文件中,添加一行"hostname: '0.0.0.0',"
image.png 在elasticsearch-head-master目錄下
npm install
image.png
- 但是安裝的太慢了轧坎,我不想吐槽了缸血。我們需要將npm換個鏡像捎泻。
npm install -g cnpm --registry=https://registry.npm.taobao.org
image.png
- 我們再來安裝elasticsearch-head-master.我們用cnpm代替npm
cnpm install
image.png
-
安裝完畢后,會生成一個node_modules文件夾赤赊。
image.png
- 我們還要修改elasticsearch.yml哄孤,具體如下瘦陈。
#集群的名字
cluster.name: es_cmazxiaoma_cluster
#節(jié)點名字
node.name: node-1
#數(shù)據(jù)存儲目錄(多個路徑)
path.data: /home/elasticsearch/data
#日志目錄
path.logs: /home/elasticsearch/logs
#本機的ip地址
network.host: 192.168.12.6
#設置集群中master節(jié)點的初始列表,可以通過這些節(jié)點來自動發(fā)現(xiàn)新加入集群的節(jié)點
discovery.zen.ping.unicast.hosts: ["192.168.12.6"]
#設置節(jié)點間tcp端口(集群)蛾默,默認9300
transport.tcp.port: 9300
#監(jiān)聽端口(默認)
http.port: 9200
#增加參數(shù),使head插件可以訪問es
http.cors.enabled: true
http.cors.allow-origin: "*"
默認情況下趁窃,elasticsearch在elasticsearch-head連接的端口9200上公開一個http rest API棚菊。當不作為elasticsearch的插件運行時统求,您必須在elasticsearch中啟用CORS码邻,否則您的瀏覽器將拒絕看起來不安全的請求∨吕纾看elasticsearch配置中:加http.cors.enabled:true奏甫,您還必須設置http.cors.allow-origin因為默認情況下不允許來源阵子。http.cors.allow-origin:"*"是一個合法的值挠进,但是它被認為是一個安全風險誊册,因為你的集群是開放式的案怯。
運行elasticsearch-head
grunt server
image.png
-
忘記了于宙,elasticsearch-head web端口是9100捞魁。如果我們想通過瀏覽器去訪問它谱俭,必須在防火墻添加9100端口策略昆著。
image.png -
訪問192.168.12.6:9100
image.png -
啟動elasticsearch凑懂。
image.png 我們來通過elasticsearch-head來連接elasticsearch。
因為head插件可以對數(shù)據(jù)進行增刪查改脓豪,所以生產環(huán)境盡量不要使用,最少要限制ip地址忌卤。盡量不要使用
Summary
下一篇講head插件的具體使用和
elasticsearch-analysis-ik分詞插件扫夜。