head插件安装
1.准备的资料
https://download.csdn.net/download/wuzhuang12/10643242 相关数据下载
http://www.imooc.com/learn/920 相关学习视频
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
或者自己下载tar文件解压
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz
tar -zxvf node-v4.5.0-linux-x64.tar.gz
配置下环境变量,编辑/etc/profile添加
export NODE_HOME=/usr/local/node-v4.5.0-linux-x64
export PATH=NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules
执行 source /etc/profile
- 1
(2)安装npm
[root@node1 ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org
- 1
(3)使用npm安装grunt
-
[root@node1 ~]# npm install -g grunt
-
npm 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 ~]#
-
[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 ~]#
(4)版本确认
- [es@node1 ~]$ node -v
- v6.12.0
- [es@node1 ~]$ npm -v
- 3.10.10
- [es@node1 ~]$ grunt -version
- grunt-cli v1.2.0
- [es@node1 ~]$
(5)下载head插件源码
[es@node1 ~]$ wget https://github.com/mobz/elasticsearch-head/archive/master.zip
- 也可以在别的地方下载后上传到服务器
- [es@node1 ~]$ ls
- master.zip
- [es@node1 ~]$ unzip master.zip
(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.js
-
PhantomJS not found on PATH
-
Download already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
-
Verified checksum of previously downloaded file
-
Extracting tar contents (via spawned process)
-
Removing /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
-
Copying 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/phantom
-
Writing location.js file
-
Done. Phantomjs binary available at /home/es/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
-
elasticsearch-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 elasticsearch-head@0.0.0 license should be a valid SPDX license expression
-
[es@node1 elasticsearch-head-master]$
如果上面命令安装较慢或失败,可以尝试国内镜像安装
-
[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
-
└─┬ 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 versions
-
PhantomJS not found on PATH
-
Download already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
-
Verified checksum of previously downloaded file
-
Extracting tar contents (via spawned process)
-
Removing /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantom
-
Copying 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/phantom
-
Writing location.js file
-
Done. Phantomjs binary available at /home/es/elasticsearch-head-master/node_modules/_phantomjs-prebuilt@2.1.16@phantomjs-prebuilt/lib/phantom/bin/phantomjs
-
✔ Run 1 scripts
-
deprecate grunt-contrib-connect@1.0.2 › http2@^3.3.4 Use the built-in module in node 9.0.0 or newer, instead
-
deprecate 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]$
2.3 配置
(0)停止ElasticSearch
如果ElasticSearch已经启动,需要先停止
- [es@node1 ~]$ jps
- 3261 Elasticsearch
- 3375 Jps
- [es@node1 ~]$ kill 3261
(1)配置 ElasticSearch,使得HTTP对外提供服务
[es@node1 elasticsearch-6.1.1]$ vi config/elasticsearch.yml
添加如下内容
-
增加新的参数,这样head插件可以访问es。设置参数的时候:后面要有空格
- http.cors.enabled: true
- http.cors.allow-origin: "*"
(2)修改Head插件配置文件
[es@node1 elasticsearch-head-master]$ vi Gruntfile.js
找到connect:server,添加hostname一项,如下
- connect: {
- server: {
- options: {
- hostname: '0.0.0.0',
- port: 9100,
- base: '.',
- keepalive: true
- }
- }
- }
2.4 启动
(1)启动elasticsearch
首先确认elasticsearch已经启动
- [es@node1 elasticsearch-6.1.1]$ bin/elasticsearch -d
- [es@node1 elasticsearch-6.1.1]$ jps
- 3451 Jps
- 3436 Elasticsearch
- [es@node1 elasticsearch-6.1.1]$
(2)启动head
通过命令grunt server启动head
[es@node1 elasticsearch-head-master]$ grunt server
- 需要在head的目录下运行
- Running "connect:server" (connect) task
- Waiting forever...
- Started connect web server on http://node1:9100
或者通过命令npm run start也可以启动head
- [es@node1 elasticsearch-head-master]$ npm run start
-
elasticsearch-head@0.0.0 start /home/es/elasticsearch-head-master
-
grunt server
- Running "connect:server" (connect) task
- Waiting forever...
- Started connect web server on http://node1:9100
(3)访问9100端口
如果出现“未连接”,请修改localhost为node1,然后单击“连接”按钮
2.5 简单应用
(1)创建索引
- [root@node1 ~]# curl -XPUT node1:9200/test
- {"acknowledged":true,"shards_acknowledged":true,"index":"test"}[root@node1 ~]#
(2)查看head变化
网友评论