java - Flink 和 Cassandra 连接问题

标签 java exception cassandra apache-flink data-stream

当正常在 Flink 数据流外部建立连接时,是否有人遇到过从 Flink 作业连接到 Cassandra 的任何问题?

    Session session = clusterBuilder.getCluster().connect();
    ResultSet resultSet = session.execute(resultStatement.getQuery());

我不是在语言环境中遇到这个问题,而是在开发环境中遇到这个问题。在本地连接中它工作正常。即使使用相同的 clusterbuilder 设置,当我将这段代码保留在 DataStream processElement 中时,连接也会在 Dev 中建立。

由于 Flink 1.7 的限制,我在 main 中遇到了 programInspiration 错误,并且无法看到整个错误。在仪表板中,您无法在 Flink 1.7 中看到完整的异常跟踪。作业未提交。

有人对此有任何线索或遇到过类似的事情吗?

最佳答案

最可能的原因(我不是 Flink 专家,但我在 Spark 上见过这个问题)是 Session 对象不可序列化,并且无法发送到执行器/工作器。

为了解决这个问题,通常有一个 API 具有显式的 open/close 调用,允许初始化不可序列化的类。据我所知,Flink 有一个 Asynchronous I/O for External Data Access 的概念,这可能用于访问 Cassandra。

关于java - Flink 和 Cassandra 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60277792/

相关文章:

java - 自动选择项目

java - JPA 中的异常配置到底是什么?

python - 在python中导入类时显示警告

amazon-ec2 - Cassandra:EC2 多区域的正确配置是什么?

nosql - Cassandra 复合型

Java 使用 JDBC 连接到 Cassandra [SQLNonTransientConnectionException : Keyspace names must be composed of alphanumerics and underscores]

java - java 或 vaadin 中特定日期到达时显示通知

java - Android显示外语字符串

java - MVC。实现模型布局。我的最终解决方案。成功?

java - 返回如何在 try 或 catch 中工作?