Datagrip 2020添加 Elasticsearch 连接

Datagrip 默认没有 Elasticsearch 相应的驱动及连接,需如下进行操作

1.下载ES驱动 ,并复制到datagrip (jdbc_drivers)驱动目录下--Elasticsearch从6.3版本开始内置支持 SQL

ES驱动

或官网下载

ES官网JDBC驱动

2.添加驱动到datagrip

3.添加连接数据源

报错信息:Failed to retrieve table types. current license is non-compliant for [jdbc] (326 ms)

修改成30天试用版

或者  修改配置

(一)在ES安装路径下D:elasticsearch-xxmodulesx-packx-pack-core目录下找到x-pack-core-6.3.1.jar复制一份出来

(二)新建两个java文件分别命名为LicenseVerifier.java和XPackBuild.java,将下面代码黏贴

LicenseVerifier.java

XPackBuild.java

(三)使用javac 编译这两个java文件,需要引入import的依赖,使用-cp参数,需要依赖原本的x-pack-core-6.3.1.jar,lucene-core-7.3.1.jar,elasticsearch-6.3.0.jar,elasticsearch-core-6.3.0.jar这四个java包(windows下使用分号分隔jar路径,linux下使用冒号分隔,后三个jar包的路径为D:elasticsearch-6.3.0lib) ``` javac -cp "x-pack-core-6.3.0.jar路径;lucene-core-7.3.1.jar路径;elasticsearch-6.3.0.jar路径;elasticsearch-core-6.3.0.jar路径" LicenseVerifier.java路径 javac -cp "x-pack-core-6.3.0.jar路径;lucene-core-7.3.1.jar路径;elasticsearch-6.3.0.jar路径;elasticsearch-core-6.3.0.jar路径" XPackBuild.java路径

(四)将编译生成的LicenseVerifier.class覆盖复制出来的x-pack-core-6.3.0.jar中目录org/elasticsearch/license下的LicenseVerifier.class,将生成的XPackBuild.class覆盖org/elasticsearch/xpack/code目录下的XPackBuild.class。 (五)将覆盖成功后的x-pack-core-6.3.0.jar复制回D:elasticsearch-6.3.0modulesx-packx-pack-core目录下覆盖原来的。 (六)获取 license 证书

①:https://license.elastic.co/registration填些用户名,邮箱(重要,获取下载链接),Country选择China,其他信息随意填写,点击Send !

https://www.elastic.co/subscriptions

这里写图片描述

②:打开邮箱获取的地址,将下载后的文件改名为license.json

③修改文件中的内容,将两个属性改为以下

将 "type":"basic" 替换为 "type":"platinum" # 基础班变更为铂金版

将 "expiry_date_in_millis":99替换为 "expiry_date_in_millis":00# 1年变为50年

④使用curl替换 license(license.json指的是刚刚下载修改属性后的证书,要开启elasticsearch服务)

curl -XPUT 'http://127.0.0.1:9200/_xpack/license?acknowledge=true' -d @license.json

在这里插入图片描述

⑤可能遇到Cannot install a [PLATINUM] license unless TLS is configured or security is disabled的错误,解决方法在elasticsearch.yml新增:

xpack.security.enabled: false

⑥上传后查看证书时间http://127.0.0.1:9200/_license

在这里插入图片描述

(五)到此结束!