打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ElasticSearch 6.x 学习笔记:2.head插件

2.1 Head插件简介

ElasticSearch-head是一个H5编写的ElasticSearch集群操作和管理工具,可以对集群进行傻瓜式操作。

  • 显示集群的拓扑,并且能够执行索引和节点级别操作
  • 搜索接口能够查询集群中原始json或表格格式的检索数据
  • 能够快速访问并显示集群的状态
  • 有一个输入窗口,允许任意调用RESTful API。这个接口包含几个选项,可以组合在一起以产生有趣的结果;
  • 5.0版本之前可以通过plugin名安装,5.0之后可以独立运行。

2.2 Head插件安装

(1)安装NodeJS

[root@node1 ~]# yum install -y nodejs
  • 1

(2)安装npm

[root@node1 ~]#  npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 1

(3)使用npm安装grunt

[root@node1 ~]# npm install -g gruntnpm WARN deprecated coffee-script@1.10.0: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm WARN gentlyRm not removing /usr/bin/grunt as it wasn't installed by /usr/lib/node_modules/grunt/usr/bin/grunt -> /usr/lib/node_modules/grunt/bin/grunt/usr/lib└── grunt@1.0.1 [root@node1 ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
[root@node1 ~]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy/usr/bin/grunt -> /usr/lib/node_modules/grunt-cli/bin/grunt/usr/lib└─┬ grunt-cli@1.2.0   ├─┬ findup-sync@0.3.0   │ └─┬ glob@5.0.15   │   ├─┬ inflight@1.0.6   │   │ └── wrappy@1.0.2   │   ├── inherits@2.0.3   │   ├─┬ minimatch@3.0.4   │   │ └─┬ brace-expansion@1.1.8   │   │   ├── balanced-match@1.0.0   │   │   └── concat-map@0.0.1   │   ├── once@1.4.0   │   └── path-is-absolute@1.0.1   ├── grunt-known-options@1.1.0   ├─┬ nopt@3.0.6   │ └── abbrev@1.1.1   └── resolve@1.1.7 [root@node1 ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

(4)版本确认

[es@node1 ~]$ node -vv6.12.0[es@node1 ~]$ npm -v3.10.10[es@node1 ~]$ grunt -versiongrunt-cli v1.2.0[es@node1 ~]$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

(5)下载head插件源码

[es@node1 ~]$ wget https://github.com/mobz/elasticsearch-head/archive/master.zip--2017-12-18 09:58:08--  https://github.com/mobz/elasticsearch-head/archive/master.zipResolving github.com (github.com)... 192.30.255.113, 192.30.255.112Connecting to github.com (github.com)|192.30.255.113|:443... connected.HTTP request sent, awaiting response... 302 FoundLocation: https://codeload.github.com/mobz/elasticsearch-head/zip/master [following]--2017-12-18 09:58:09--  https://codeload.github.com/mobz/elasticsearch-head/zip/masterResolving codeload.github.com (codeload.github.com)... 192.30.255.120, 192.30.255.121Connecting to codeload.github.com (codeload.github.com)|192.30.255.120|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 921421 (900K) [application/zip]Saving to: ‘master.zip’100%[===============================================================>] 921,421     9.64KB/s   in 67s    2017-12-18 09:59:18 (13.4 KB/s) - ‘master.zip’ saved [921421/921421][es@node1 ~]$ lsmaster.zip[es@node1 ~]$ unzip master.zip 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

(6)下载依赖
进入elasticsearch-head-master目录,执行下面命令

[es@node1 elasticsearch-head-master]$ npm install> phantomjs-prebuilt@2.1.16 install /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt> node install.jsPhantomJS not found on PATHDownload already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2Verified checksum of previously downloaded fileExtracting tar contents (via spawned process)Removing /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantomCopying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1515165531727/phantomjs-2.1.1-linux-x86_64 -> /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantomWriting location.js fileDone. Phantomjs binary available at /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjselasticsearch-head@0.0.0 /home/es/elasticsearch-head-master└─┬ grunt-contrib-jasmine@1.0.3  └─┬ grunt-lib-phantomjs@1.1.0    └── phantomjs-prebuilt@2.1.16 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression[es@node1 elasticsearch-head-master]$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

如果上面命令安装较慢或失败,可以尝试国内镜像安装

[es@node1 elasticsearch-head-master]$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org[sudo] password for es: /usr/bin/cnpm -> /usr/lib/node_modules/cnpm/bin/cnpm/usr/lib└─┬ cnpm@5.1.1   ├─┬ npminstall@3.3.0   │ ├── binary-mirror-config@1.7.3   │ ├── moment@2.20.1   │ └─┬ tar@4.2.0   │   └── minizlib@1.1.0   └─┬ urllib@2.25.3     └─┬ proxy-agent@2.1.0      └─┬ pac-proxy-agent@2.0.0        └─┬ socks-proxy-agent@3.0.1          └─┬ agent-base@4.1.2            └─┬ es6-promisify@5.0.0              └── es6-promise@4.2.2 [es@node1 elasticsearch-head-master]$ cnpm install⠸ [6/10] Installing json-schema-traverse@^0.3.0platform unsupported karma@1.3.0 › chokidar@1.7.0 › fsevents@^1.0.0 Package require os(darwin) not compatible with your platform(linux)[fsevents@^1.0.0] optional install error: Package require os(darwin) not compatible with your platform(linux)✔ Installed 10 packages✔ Linked 313 latest versionsPhantomJS not found on PATHDownload already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2Verified checksum of previously downloaded fileExtracting tar contents (via spawned process)Removing /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantomCopying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1515223629881/phantomjs-2.1.1-linux-x86_64 -> /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantomWriting location.js fileDone. Phantomjs binary available at /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantom/bin/phantomjs✔ Run 1 scriptsdeprecate grunt-contrib-connect@1.0.2 › http2@^3.3.4 Use the built-in module in node 9.0.0 or newer, insteaddeprecate grunt@1.0.1 › coffee-script@~1.10.0 CoffeeScript on NPM has moved to "coffeescript" (no hyphen)anti semver karma@1.3.0 › useragent@2.2.1 › tmp@0.0.x delcares tmp@0.0.x(resolved as 0.0.33) but using ancestor(karma)'s dependency tmp@0.0.28(resolved as 0.0.28)✔ All packages installed (365 packages installed from npm registry, used 17s, speed 497.82kB/s, json 323(581.43kB), tarball 7.64MB)[es@node1 elasticsearch-head-master]$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

2.3 配置

(0)停止ElasticSearch
如果ElasticSearch已经启动,需要先停止

[es@node1 ~]$ jps3261 Elasticsearch3375 Jps[es@node1 ~]$ kill 3261
  • 1
  • 2
  • 3
  • 4

(1)配置 ElasticSearch,使得HTTP对外提供服务

[es@node1 elasticsearch-6.1.1]$ vi config/elasticsearch.yml
  • 1

添加如下内容

# 增加新的参数,这样head插件可以访问es。设置参数的时候:后面要有空格http.cors.enabled: truehttp.cors.allow-origin: "*"
  • 1
  • 2
  • 3

(2)修改Head插件配置文件

[es@node1 elasticsearch-head-master]$ vi Gruntfile.js
  • 1

找到connect:server,添加hostname一项,如下

connect: {                        server: {                                options: {                                        hostname: 'node1',                                        port: 9100,                                        base: '.',                                        keepalive: true                                }                        }                }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2.4 启动

(1)启动elasticsearch
首先确认elasticsearch已经启动

[es@node1 elasticsearch-6.1.1]$ bin/elasticsearch -d[es@node1 elasticsearch-6.1.1]$ jps3451 Jps3436 Elasticsearch[es@node1 elasticsearch-6.1.1]$
  • 1
  • 2
  • 3
  • 4
  • 5

(2)启动head
通过命令grunt server启动head

[es@node1 elasticsearch-head-master]$ grunt serverRunning "connect:server" (connect) taskWaiting forever...Started connect web server on http://node1:9100
  • 1
  • 2
  • 3
  • 4
  • 5

或者通过命令npm run start也可以启动head

[es@node1 elasticsearch-head-master]$ npm run start> elasticsearch-head@0.0.0 start /home/es/elasticsearch-head-master> grunt serverRunning "connect:server" (connect) taskWaiting forever...Started connect web server on http://node1:9100
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

(3)访问9100端口
http://node1:9100/


如果出现“未连接”,请修改localhost为node1,然后单击“连接”按钮

2.5 简单应用

(1)创建索引

[root@node1 ~]# curl -XPUT node1:9200/test{"acknowledged":true,"shards_acknowledged":true,"index":"test"}[root@node1 ~]# 
  • 1
  • 2

(2)查看head变化

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ElasticSearch
(3)ElasticSearch在linux环境中安装与配置head插件
elasticsearch安装elasticsearch-head插件
Java开发环境之ElasticSearch
elasticsearch
elasticsearch5.2.1安装head步骤
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服