前言
最近几天一直做ES的TPS测试,每次看数据ES的数据都在嫌麻烦(在postman指定索引通过url请求查看数据)。最后决定还是整整Dbeaver连接ES。
一、当前境况
1、ES版本比较老,还是6.4.2的
2、Dbeaver直接连接已经提示支持8.x版本
3、Dbeaver连接成功后,看表(索引)又提示:current license is non-compliant for [jdbc]
二、问题各个解决
1.Dbeaver连接低版本ES解决
- 从中心库下载对应的ES的x-pack-sql-jdbc-版本.jar,放到本地自有jar目录
- 配置好ES的连接信息后,点击编辑驱动设置 -> 库 -> 添加文件 -> 选中下载的jar -> 确定
- 测试连接 (版本匹配觉得是可以连上的)
连上后的效果:
2.current license is non-compliant for [jdbc]解决
虽然连接成功了,但是点击“表”弹出提示。
问题出在X-Pack许可证过期,可以先验证,有博友在2020年就遇到同样问题了的,我这里就不重复写了,直接贴博友的博文:https://blog.csdn.net/ctypyb2002/article/details/106115691
然后,这个验证如果发现:
type如果是basic,以及没有下面的这些expiry_date属性等等。那其实就是x-pack的license过期了,它的下载与安装,我这里也不重复写了,有博友写过,移步:https://blog.csdn.net/qq_24614323/article/details/103272492
注册后,收到的邮件里:
就有你注册的license文件url,支持的ES版本,目前看还没有支持8.x,不知道7.x的8+是否可以用,大家可以实验。
安装方法博友的博文里已经写了,我也不重复了。
基本上就是:
实际上就是授权文件上传到服务器,在同一目录执行:
curl -XPUT -u elastic "http://你的ES服务ip:端口/_xpack/license" -H "Content-Type: application/json" -d @你的授权license文件名(注意最好不要改名称).json
然后就是设置方法,我是在postman发生请求设置的:
url:http://ES服务ip:端口/_xpack/license/start_trial?acknowledge=true
PS:后面的?acknowledge=true不能丢哦。
最后验证设置的license信息:
url:http://ES服务ip:端口/_license
3.看效果
- 索引里面可以看字段,字段的属性
- 查询数据是你熟悉的sql语法
- 关键是字段提示都有
总结
- 我们的ES版本真的太老了
- Dbeaver真香,真的如他所说啥数据库都可以连
好了,就写到这里,希望能帮到大家,uping!!!