Jack_ChengXuYuan 2024-05-06 15:58 采纳率: 0%
浏览 22

seatunnel 怎么配置Elasticsearch

seatunnel 怎么配置Elasticsearch,需要携带证书,

img


===============================================================================


2024-05-06 15:54:39,748 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Fatal Error, 

2024-05-06 15:54:39,748 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Please submit bug report in https://github.com/apache/seatunnel/issues

2024-05-06 15:54:39,748 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Reason:SeaTunnel job executed failed 

2024-05-06 15:54:39,749 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Exception StackTrace:org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job executed failed
    at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:199)
    at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40)
    at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34)
Caused by: org.apache.seatunnel.api.table.catalog.exception.CatalogException: ErrorCode:[API-03], ErrorDescription:[Catalog initialize failed] - Failed to open catalog Elasticsearch
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.catalog.ElasticSearchCatalog.open(ElasticSearchCatalog.java:85)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.sink.ElasticsearchSink.getSaveModeHandler(ElasticsearchSink.java:96)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.handleSaveMode(MultipleTableJobConfigParser.java:664)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.createSinkAction(MultipleTableJobConfigParser.java:655)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSink(MultipleTableJobConfigParser.java:567)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:193)
    at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.getLogicalDag(ClientJobExecutionEnvironment.java:88)
    at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.execute(ClientJobExecutionEnvironment.java:161)
    at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:146)
    ... 2 more
Caused by: java.lang.RuntimeException: java.io.IOException: Invalid keystore format
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.lambda$getRestClientBuilder$2(EsRestClient.java:189)
    at org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:213)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:189)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.createInstance(EsRestClient.java:132)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.createInstance(EsRestClient.java:99)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.catalog.ElasticSearchCatalog.open(ElasticSearchCatalog.java:76)
    ... 10 more
Caused by: java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:669)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:57)
    at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:71)
    at java.security.KeyStore.load(KeyStore.java:1449)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.util.SSLUtils.createSSLContext(SSLUtils.java:86)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.util.SSLUtils.buildSSLContext(SSLUtils.java:59)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.lambda$getRestClientBuilder$2(EsRestClient.java:172)
    ... 16 more
 
2024-05-06 15:54:39,749 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - 
===============================================================================



Exception in thread "main" org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job executed failed
    at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:199)
    at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40)
    at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34)
Caused by: org.apache.seatunnel.api.table.catalog.exception.CatalogException: ErrorCode:[API-03], ErrorDescription:[Catalog initialize failed] - Failed to open catalog Elasticsearch
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.catalog.ElasticSearchCatalog.open(ElasticSearchCatalog.java:85)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.sink.ElasticsearchSink.getSaveModeHandler(ElasticsearchSink.java:96)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.handleSaveMode(MultipleTableJobConfigParser.java:664)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.createSinkAction(MultipleTableJobConfigParser.java:655)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSink(MultipleTableJobConfigParser.java:567)
    at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:193)
    at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.getLogicalDag(ClientJobExecutionEnvironment.java:88)
    at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.execute(ClientJobExecutionEnvironment.java:161)
    at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:146)
    ... 2 more
Caused by: java.lang.RuntimeException: java.io.IOException: Invalid keystore format
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.lambda$getRestClientBuilder$2(EsRestClient.java:189)
    at org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:213)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:189)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.createInstance(EsRestClient.java:132)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.createInstance(EsRestClient.java:99)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.catalog.ElasticSearchCatalog.open(ElasticSearchCatalog.java:76)
    ... 10 more
Caused by: java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:669)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:57)
    at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:71)
    at java.security.KeyStore.load(KeyStore.java:1449)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.util.SSLUtils.createSSLContext(SSLUtils.java:86)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.util.SSLUtils.buildSSLContext(SSLUtils.java:59)
    at org.apache.seatunnel.connectors.seatunnel.elasticsearch.client.EsRestClient.lambda$getRestClientBuilder$2(EsRestClient.java:172)
    ... 16 more

img

  • 写回答

5条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-05-06 15:58
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    在配置 Elasticsearch 以使用 seatunnel 时,需要首先生成一个证书,并确保 Elasticsearch 已启用 SSL/TLS。然后,将生成的证书配置到 Elasticsearch 中。 以下是一个示例命令,用于生成一个证书: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes 这将生成一个包含一个私钥和公钥的 self-signed 证书。 接下来,配置 Elasticsearch。在 Elasticsearch 配置文件中,设置以下参数: http.type: ssl_netty4 # 设置 Elasticsearch 使用 SSL/TLS http.ssl.enabled: true # 启用 SSL/TLS http.ssl.key: path/to/key.pem # 设置 SSL/TLS 的私钥路径 http.ssl.certificate: path/to/cert.pem # 设置 SSL/TLS 的公钥路径 最后,将证书配置到 seatunnel 配置文件中。在 seatunnel 配置文件中,设置以下参数: secrets.enabled: true # 启用证书验证 secrets.keyPem: path/to/key.pem # 设置证书的私钥路径 secrets.certPem: path/to/cert.pem # 设置证书的公钥路径 这将确保 Elasticsearch 和 seatunnel 正确地使用证书来建立安全连接。 需要注意的是,在使用证书进行安全连接时,需要确保证书的私钥和公钥都是有效的。如果证书格式不正确,则可能会出现 "Invalid keystore format" 错误。 推荐阅读:Elasticsearch 官方文档 - 配置 SSL/TLS。
    评论

报告相同问题?

问题事件

  • 创建了问题 5月6日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?