根据现有ES版本,安装对应版本的插件
[es@hxl ~]$ cd elasticsearch
[es@hxl 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 安装及更新一些依赖包
[root@hxl ~]# yum -y install epel-release[root@hxl ~]# yum -y install npm[root@hxl ~]# yum -y update openssl2.2 下载安装elasticsearch-sql前端页面,并使用node命令启动
[es@hxl ~]$ wget https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/es-sql-site-standalone.zip[es@hxl ~]$ unzip es-sql-site-standalone.zip[es@hxl ~]$ cd site-server/[es@hxl site-server]$ npm install express --save[es@hxl site-server]$ node node-server.js2.3 启动成功后,直接访问es主机地址的8080端口即可
3、elasticsearch-sql前端web默认端口修改
有时候可能8080端口我们已经有在使用了,这样elasticsearch-sql就没办法正常启动了,需要修改一下配置文件,重新启动即可。
[es@hxl ~]$ vi site-server/site_configuration.json{ "port":9090}[es@hxl ~]$4、使用sql查询es数据报错Cannot POST /_sql处理
测试使用sql查询es索引数据,发现有如下报错:
Error:"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">直接修改web页面右上角文本框中连接地址为es节点查询地址,然后直接点下方search重新查询即可如下,地址后面必须带上/http://192.168.1.136:19200/ 5.遇到错误1Error:Error occured! response is not avalible.解决办法,修改es配置文件http.cors.enabled: truehttp.cors.allow-credentials: truehttp.cors.allow-origin: "/.*/"http.cors.allow-headers: WWW-Authenticate,X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization6.安装了xpack不想输入用户名密码
修改elasticsearch.yml,添加:xpack.security.enabled: false
7.用户密码验证访问要是es部署了x-pack的话,需要用户和密码验证,则es-sql采用如下访问:http://192.168.1.136:8080/?username=elastic&password=elastic&base_uri=http://192.168.1.136:19200
格式为:http://es-sql-host:8080/?username=elastic&password=elastic&base_uri=es-server:19200