ES上线之后,用lucene语法来查询数据,学习成本略高,所以考虑用es-sql来简化这部分的操作。
ES版本:5.4.0,节点部署如下:
- master node:3
- client node:2,port为【9500】
- data node:5
之前了解到,client的工作类似于nginx,做请求转发,所以ES集群的防火墙开放访问的是client的端口,kibana链接的也是client节点。
由此我们将es-sql插件部署到两个client节点上面。
我采取的是离线部署,部署步骤:
- 下载插件:https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.0.0/elasticsearch-sql-5.4.0.0.zip
- 解压,并将解压出来的文件夹名称修改为【sql】
- 将sql文件夹拷贝到 elasticsearch/plugins目录下面
- 重启client节点
使用方式,这里简单介绍两种:
- 在kibana界面的Dev Tools里面输入:GET _sql?sql=select * from test_index where name = 'John'
- 在浏览器地址栏输入:192.168.112.1:9500/_sql?sql=select * from test_index where name = 'John'