如何解决在哪里设置方解石elasticsearch用户名/密码?
我正在尝试使用Apache Calcite连接到ElasticSearch,并且在设置用户名密码时遇到问题。
我尝试使用operand
(基于JSON),Properties(DriverManager.getConnection(String url,Properties config)
)和DriverManager.getConnection(String url,username,password)
来配置用户名/密码,但是却无法获取其中任何一个工作。
我以前已将问题发布到Apache JIRA
我的代码如下
Properties config = new Properties();
config.put("lex","JAVA");
String sql = "select * from index";
try (Connection con = DriverManager.getConnection("jdbc:calcite:model=src/main/resources/es.json",config)) {
try (Statement stmt = con.createStatement()) {
try (ResultSet rs = stmt.executeQuery(sql)) {
printRs(rs);
}
}
}
尝试使用操作数进行设置
{
"version": "1.0","defaultSchema": "elasticsearch","schemas": [
{
"type": "custom","name": "elasticsearch","factory": "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory","operand": {
"coordinates": "{'192.168.133.104': 9200}","jdbcUser": "elastic","jdbcPassword": "elastic"
}
}
]
}
并引发异常
{
"error":{
"root_cause":[
{
"type":"security_exception","reason":"missing authentication token for REST request [/_alias]","header":{
"WWW-Authenticate":"Basic realm="security" charset="UTF-8""
}
}
],"type":"security_exception","header":{
"WWW-Authenticate":"Basic realm="security" charset="UTF-8""
}
},"status":401
}
解决方法
在提出此问题时这是不可能的,但是此功能has since been added将包含在下一版本的Calcite(1.26.0)中。除了配置中的coordinates
键之外,您还可以添加username
和password
以指定身份验证参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。