【问题标题】:Executing query from Apache Calcite to secured ElasticSearch Server (https)从 Apache Calcite 执行查询到安全的 ElasticSearch 服务器 (https)
【发布时间】:2019-11-08 20:29:39
【问题描述】:

model.json文件中如何表示scheme(https),​​这个是用来连接Elasticsearch的?

以下是model.js文件:

{
  "version": "1.0",
  "defaultSchema": "elasticsearch",
  "schemas": [
    {
      "type": "custom",
      "name": "elasticsearch",
      "factory": "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
      "operand": {
        "coordinates": "{'127.0.0.1': 9200}",
        "index": "myIndex",
        "useConig": "{}"
      }
    }
  ]
}

在以下 JAVA 代码中,我尝试连接到 Elasticsearch:

Connection conn = DriverManager.getConnection("jdbc:calcite:", properties);
calciteConnection = conn.unwrap(CalciteConnection.class);
String elasticSchema = Resources.toString(somefile.class.getResource("/model.json"), Charset.defaultCharset());

new ModelHandler(calciteConnection, "inline:" + elasticSchema);

String sql = “select field1 from table1”
statement2 = calciteConnection.prepareStatement(sql);
ResultSet set = statement2.executeQuery();

获取连接关闭异常,我可以在日志中看到它试图连接到 http 而不是 https(期望)。我在模型文件的什么地方提到了 https?

【问题讨论】:

    标签: elasticsearch apache-calcite


    【解决方案1】:

    Calcite 的 Elasticsearch 适配器当前不支持通过 HTTPS 的连接。我建议你在Calcite's JIRA 上打开一个问题。或者更好的是,自己贡献必要的代码更改:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多