最近项目有个新的需求:记录现场某一台设备在每个时间点的运行状态,并可以通过前端页面操作将记录导出成Excel表格。关于设备数据的读写考虑过使用 MongoDB 和 Elasticsearch 两种数据库,考虑到数据量的大小和水平扩展决定尝试使用 Elasticsearch。
在Windows上安装Elasticsearch
从官网下载 6.0.0 版本的Zip安装包并解压到 D:\elasticsearch-6.0.0 路径下。
进入 D:\elasticsearch-6.0.0\bin 目录下运行 elasticsearch.bat 文件。
启动成功后会在安装路径下自动创建 data 和 logs 目录存放数据和日志。访问 http://localhost:9200/ 可以看到返回的 Json 对象。
安装 Elasticsearch-head 插件。使用命令行进入 D:\elasticsearch-6.0.0\bin 目录下,运行如下命令:
plugin install mobz/elasticsearch-head
返回提示‘plugin‘不是内部或外部命令,也不是可运行的程序或批处理文件。
查看bin目录发现只有 elasticsearch-plugin.bat 批处理文件。
于是运行如下命令(适合 elasticsearch-2.4.0 等低版本 ):
elasticsearch-plugin install mobz/elasticsearch-head
返回提示 Unknown plugin mobz/elasticsearch-head。
无奈只好使用 Git 配合 Node.js 的方式来下载和安装 Elasticsearch-head 插件。
访问 head 插件在 Github 上的项目地址 点击这里。
使用命令行进入 head 插件安装目录 D:\elasticsearch-6.0.0\plugins\elasticsearch-head,运行如下命令:
npm install
安装成功后,启动 Elasticsearch-head 插件:
启动成功后,访问 http://localhost:9100/(或者 http://127.0.0.1:9200/_plugin/head/ 适合 elasticsearch-2.4.0 等低版本)可以看到如下的操作界面:
注册 Elasticsearch 服务
使用命令行进入 D:\elasticsearch-6.0.0\bin 目录下运行如下命令:
elasticsearch-service install
低版本 Elasticsearch-2.4.0 则使用如下命令:
service.bat install
启动 Elasticsearch 服务,
elasticsearch-service start
使用管理员身份启动服务失败:
使用服务列表启动服务失败:
起初怀疑是 JDK 环境配置路径不正确,运行如下命令:
elasticsearch-service manager
管理 Elasticsearch 配置属性:
后来查看错误日志:
发现错误原因是将从 git 下载的 head 插件放到了 elasticsearch6.0.0 的 plugin 目录下,于是更换路径为 D:\elasticsearch-6.0.0\elasticsearch-head。重新安装和启动服务后成功。