ES运维(七)添加sql插件
一、概述
ElasticSearch安装SQL插件下载地址(中国大佬开发)
二、集成sql插件
1、下载es-sql插件
下载地址: https://github.com/NLPchina/elasticsearch-sql/releases/download/7.12.1.0/elasticsearch-sql-7.12.1.0.zip
2、分发插件
所有es节点均要上传: /opt/cloudera/parcels/ELASTICSEARCH/lib/elasticsearch/plugins 分发后重启es集群
三、使用elasticsearch-sql
创建索引: PUT articles1 { "mappings":{ "dynamic":"strict", "properties":{ "id":{"type": "text", "store": true}, "title":{"type": "text","store": true}, "readCounts":{"type": "integer","store": true}, "times": {"type": "text", "index": "false"} } } } 写入内容: PUT articles1/_doc/2 { "id" : "2", "title" : "世界1", "readCounts" : 2 , "times" : "2018-05-01" } sql查询: curl -XGET -u elastic "http://100.116.3.202:9200/_nlpcn/sql/explain" -H 'Content-Type: application/json' -d'select * from articles1 limit 10' curl -XGET -u elastic "http://100.116.3.202:9200/_nlpcn/sql" -H 'Content-Type: application/json' -d'select * from articles1 limit 10'
四、安装elasticsearch-sql web
1、概述
elasticsearch-sql web插件可以试下web下执行sql,可以和es-sql插件配合使用
2、安装nodejs
a、yum install -y nodejs 如果无yum源,可以离线下载gz包 https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.gz 解压后/etc/profile中配置环境变量即可 export NODE_HOME=/opt/cloudera/parcels/ELASTICSEARCH/lib/es-sql-site-standalone/node-v16.2.0-linux-x64 export PATH=$PATH:$NODE_HOME/bin export NODE_PATH=$NODE_HOME/lib/node_modules source /etc/profile 验证: node -v npm -v
3、下载elasticsearch 执行sql的程序包
下载地址如下 https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/es-sql-site-standalone.zip
4、解压es-sql-site-standalone.zip
unzip -o es-sql-site-standalone.zip
5、进入site-server,安装express,并保存
cd site-server/ && npm install express --save
6、使用screen运行es-sql-site-standalone
如何没有screen的话需要yum一下(yum -y install screen) screen -S es_sql_web node node-server.js crul + a + d 即可退出screen
7、访问es-sql-site-standalone elasticsearch 执行sql语句界面
访问地址:http://es-sql-site-standalone_ip地址:8080/?base_uri=http://elasticsearch_ip地址:9220/&username=用户名&password=密码 参数解析: http://es-sql-site-standalone_ip地址:8080/ :执行sql语句界面的地址 base_uri:elasticsearch api地址 username:登陆elasticsearch的用户名 password:登陆elasticsearch的密码 注意:如果elasticsearch没有开启认证,则不用用户密码这两个参数
8、平台使用方法
示例sql执行语句:SELECT fields.host_ip,server,name,message FROM bbh-game-2020.4.23 where name="gt" fields.host_ip,server,name,message : 字段名 bbh-game-2020.4.23 : es中的索引名