elasticsearch-sql插件项目地址:
1 |
https://github.com/NLPchina/elasticsearch-sql |
1、安装elasticsearch-sql插件
根据现有ES版本,安装对应版本的插件
1 2 |
[elk@imzcy ~]$ cd elasticsearch [elk@imzcy elasticsearch]$ ./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.5.0.0/elasticsearch-sql-6.5.0.0.zip |
安装完sql插件后,最好重启一下es!
2、安装elasticsearch-sql前端页面
2.1 安装及更新一些依赖包
1 2 3 |
[root@imzcy ~]# yum -y install epel-release [root@imzcy ~]# yum -y install npm [root@imzcy ~]# yum -y update openssl |
2.2 下载安装elasticsearch-sql前端页面,并使用node
命令启动
1 2 3 4 5 |
[elk@imzcy ~]$ wget https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/es-sql-site-standalone.zip [elk@imzcy ~]$ unzip es-sql-site-standalone.zip [elk@imzcy ~]$ cd site-server/ [elk@imzcy site-server]$ npm install express --save [elk@imzcy site-server]$ node node-server.js |
2.3 启动成功后,直接访问es主机地址的8080端口即可
3、elasticsearch-sql前端web默认端口修改
有时候可能8080端口我们已经有在使用了,这样elasticsearch-sql就没办法正常启动了,需要修改一下配置文件,重新启动即可。
1 2 3 4 5 |
[elk@imzcy ~]$ vi site-server/site_configuration.json { "port":9090 } [elk@imzcy ~]$ |
4、使用sql查询es数据报错Cannot POST /_sql处理
测试使用sql查询es索引数据,发现有如下报错:
1 |
Error:"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot POST /_sql<//pre>\n</body>\n</html>\n" |
解决方法:
直接修改web页面右上角文本框中连接地址为es节点查询地址,然后直接点下方search重新查询即可。开始也没想到要改这里,浏览器F12查看发现请求使用sql插件连接地址不对(Request URL: http://192.168.43.213:8080/_sql),后边突然发现右上角那个地址,想到elasticsearch-head插件默认连接地址为localhost:9200也是要修改那个连接地址,于是尝试修改,发现可以正常查询了!
5、其他常见报错处理
5.1 使用npm安装elasticsearch-sql前端页面时候报如下错误:
1 2 3 |
[elk@imzcy site-server]$ npm install express --save npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference [elk@imzcy site-server]$ |
解决方法:
切换回root用户,更新openssl版本为最新,然后再切回elk用户继续重新安装即可!
1 |
[root@imzcy ~]# yum -y update openssl |
参考文章:
1 2 |
elasticsearch-sql项目说明手册: https://github.com/NLPchina/elasticsearch-sql/tree/elastic6.5.0 |