前言
網(wǎng)上相關(guān)插件教程我覺得非常混亂坷檩,但是機(jī)智過人的我還是很快就摸索出了正確答案矢炼。
環(huán)境:CentOS7
既然你已經(jīng)安裝了ES句灌,那么肯定JDK你也有了欠拾,如果沒有請點(diǎn)我其他文章進(jìn)行下載安裝资昧。
下面我先簡單介紹本次無痛安裝需要的工作:
- nodejs(因?yàn)閔ead插件是nodejs寫的)
- grunt(網(wǎng)上說法是不用grunt說明你就out枷邪,但是我身邊的前端好像都拋棄它了)
- 安裝elasticsearch-head
友情提示:下載安裝前东揣,請創(chuàng)建好目錄
下載安裝NodeJS
下載
通過命令wget https://nodejs.org/dist/v11.1.0/node-v11.1.0-linux-x64.tar.xz
進(jìn)行下載
如果失敗請從官網(wǎng)復(fù)制地址進(jìn)行下載嘶卧,官網(wǎng)傳送門
解壓
針對tar.xz文件的解壓方法
xz -d ***.tar.xz
tar -xvf ***.tar
完成后長這樣
[root@localhost nodejs]# ls
node-v11.1.0-linux-x64 node-v11.1.0-linux-x64.tar
[root@localhost nodejs]# cd node-v11.1.0-linux-x64
[root@localhost node-v11.1.0-linux-x64]# ls
bin CHANGELOG.md include lib LICENSE README.md share
配置環(huán)境變量
root用戶進(jìn)入vi /etc/profile
,新增如下內(nèi)容
export NODE_HOME=/usr/install/nodejs/node-v11.1.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules
最后一句好像可以不要的樣子侦铜,你們可以試試钟鸵。
使配置生效
source /etc/profile
注意:root用戶
檢查是否成功
[root@localhost config]# node -v
v11.1.0
下載安裝grunt-cli
- 移步到
/node-v11.1.0-linux-x64/bin
下 - 執(zhí)行
npm init -f
[root@localhost bin]# npm init -f
npm WARN using --force I sure hope you know what you are doing.
Wrote to /usr/install/nodejs/node-v11.1.0-linux-x64/bin/package.json:
{
"name": "bin",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"grunt-cli": "^1.3.2"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
[root@localhost bin]# ls
node node_modules npm npx package.json package-lock.json
- root用戶下執(zhí)行
npm install grunt-cli -g
[root@localhost bin]# npm install grunt-cli -g
/usr/install/nodejs/node-v11.1.0-linux-x64/bin/grunt -> /usr/install/nodejs/node-v11.1.0-linux-x64/lib/node_modules/grunt-cli/bin/grunt
+ grunt-cli@1.3.2
added 152 packages from 117 contributors in 17.057s
[root@localhost bin]# ls
grunt node node_modules npm npx package.json package-lock.json
- 驗(yàn)證
執(zhí)行grunt
[root@localhost bin]# grunt
grunt-cli: The grunt command line interface (v1.3.2)
下載安裝elasticsearch-head
- 執(zhí)行
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
,如果失敗,請到github上獲取地址俊卤,點(diǎn)擊綠色按鈕Clone or download再右鍵DownloadZIP獲取鏈接地址
[root@localhost es-head]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
--2018-11-15 17:28:21-- https://github.com/mobz/elasticsearch-head/archive/master.zip
正在解析主機(jī) github.com (github.com)... 13.229.188.59, 13.250.177.223, 52.74.223.119
正在連接 github.com (github.com)|13.229.188.59|:443... 已連接嫩挤。
已發(fā)出 HTTP 請求,正在等待回應(yīng)... 302 Found
位置:https://codeload.github.com/mobz/elasticsearch-head/zip/master [跟隨至新的 URL]
--2018-11-15 17:28:22-- https://codeload.github.com/mobz/elasticsearch-head/zip/master
正在解析主機(jī) codeload.github.com (codeload.github.com)... 13.229.189.0, 13.250.162.133, 54.251.140.56
正在連接 codeload.github.com (codeload.github.com)|13.229.189.0|:443... 已連接消恍。
已發(fā)出 HTTP 請求岂昭,正在等待回應(yīng)... 200 OK
長度:921421 (900K) [application/zip]
正在保存至: “master.zip”
100%[===========================================================================================================================================>] 921,421 52.7KB/s 用時 16s
2018-11-15 17:28:39 (57.9 KB/s) - 已保存 “master.zip” [921421/921421])
[root@localhost es-head]# ls
master.zip
- 解壓master.zip
執(zhí)行unzip master.zip
如果返回找不到指令,說明還沒有安裝zip和unzip狠怨。跟隨我執(zhí)行以下步驟安裝
yum -y install zip
约啊、yum -y install unzip
成功后再一次unzip解壓master.zip,獲得如下所示
[root@localhost es-head]# ls
elasticsearch-head-master master.zip
[root@localhost es-head]# cd elasticsearch-head-master/
[root@localhost elasticsearch-head-master]# ls
Dockerfile elasticsearch-head.sublime-project grunt_fileSets.js LICENCE plugin-descriptor.properties README.textile src
Dockerfile-alpine Gruntfile.js index.html package.json proxy _site test
安裝grunt
在elasticsearch-head-master
目錄下執(zhí)行npm install grunt
[root@localhost elasticsearch-head-master]# npm install grunt
npm WARN deprecated coffee-script@1.10.0: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ grunt@1.0.1
removed 4 packages, updated 1 package and audited 1615 packages in 8.826s
found 22 vulnerabilities (16 low, 6 high)
run `npm audit fix` to fix them, or `npm audit` for details
修改配置文件
- 進(jìn)入
/elasticsearch-head-master/Gruntfile.js
,翻到最后,在options里新增一條hostname: '*'
,如圖
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
- 修改
app.js
文件取董,vi /elasticsearch-head-master/_site/app.js
棍苹,找到
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
將其中的localhost替換成你es服務(wù)所在ip
由于文件內(nèi)容很多無法肉眼搜索无宿。在非Insert模式下(進(jìn)入即非Insert模式蹂午,按i進(jìn)入insert模式,ESC切換)晚胡,輸入/this.base_uri
回車,按小寫n向下翻頁查找(大寫N向上翻頁)
如果不修改為ip地址,你在其他主機(jī)訪問時,連接es地址就會是http://localhost:9200/
境钟。
- 修改 Elasticsearch配置文件
因?yàn)閑s和head屬于兩個單獨(dú)的進(jìn)程,他們之間的訪問存在跨域問題所以需要一些跨域的配置痘煤。
進(jìn)入/elasticsearch-6.5.0/config/elasticsearch.yml
新增一下字段
http.cors.enabled: true
http.cors.allow-origin: "*"
啟動elasticsearch和head插件
- 到
bin
目錄下執(zhí)行nohup ./elasticsearch &
后臺啟動蘸拔,通過tailf -n 100 nohup.out
可查看最后一百條啟動信息,看到started
說明成功了。 - 執(zhí)行
grunt server
或者npm run start
啟動head插件或者后臺啟動nohup grunt server &
,nohup.out日志
會存在你執(zhí)行命令目錄下。