【发布时间】:2019-01-24 00:49:09
【问题描述】:
我正在从 IDE 运行 flink。将数据存储在可查询对象中是有效的, 但不知何故,当我查询它时,它会引发异常。
异常
Failure(akka.actor.ActorNotFound: Actor not found for: ActorSelection[Anchor(akka.tcp://flink@127.0.0.1:6123/), Path(/user/jobmanager)])
我的代码:
config.setString(ConfigConstants.JOB_MANAGER_IPC_ADDRESS_KEY,"localhost")
config.setString(ConfigConstants.JOB_MANAGER_IPC_PORT_KEY,"6123")
@throws[Throwable]
def recover(failure: Throwable): Future[Array[Byte]] = if (failure.isInstanceOf[AssertionError]) return Futures.failed(failure)
else {
// At startup some failures are expected
// due to races. Make sure that they don't
// fail this test.
return Patterns.after(retryDelay, TEST_ACTOR_SYSTEM.scheduler, TEST_ACTOR_SYSTEM.dispatcher, new Callable[Future[Array[Byte]]]() {
@throws[Exception]
def call: Future[Array[Byte]] = return getKvStateWithRetries(queryName, key, serializedKey)
})
}
}
@SuppressWarnings(Array("unchecked"))
private def getKvStateWithRetries(queryName: String,
keyHash: Int,
serializedKey: Array[Byte]): Future[Array[Byte]] = {
val kvState = client.getKvState(jobID, queryName, keyHash, serializedKey)
kvState.recoverWith(recover(queryName, keyHash, serializedKey))
}
def onSuccess = new OnSuccess[Array[Byte]]() {
@throws(classOf[Throwable])
override def onSuccess(result: Array[Byte]): Unit = {
println("found record ")
val value = KvStateRequestSerializer.deserializeValue(result, valueSerializer)
println(value)
}
}
override def invoke(query: QueryMetaData): Unit = {
println("getting inside querystore"+query.record)
val serializedResult = flinkQuery.getResult(query.record, queryName)
serializedResult.onSuccess(onSuccess)
我没有生成新的迷你集群或集群。提交 喜欢https://github.com/apache/flink/blob/master/flink-tests/src/test/java/org/apache/flink/test/query/QueryableStateITCase.java 因为我想在与使用 env.execute 运行的主应用程序相同的环境中的同一集群中进行此操作。这一步有必要吗?
从文档中默认 flink 在 localhost:6123 运行 连接有问题吗?我需要在单独的集群中提交作业吗?
【问题讨论】:
-
还有办法知道jobmanager在哪里运行。我找不到 api
-
你是如何提交你的工作的?你能分享你的工作提交日志吗?
-
我正在从 IDE 运行我的作业,我认为从 IDE 运行时无法连接到作业管理器。它使用 yarn/cluster 模式
-
是的,没错。
标签: apache-flink flink-streaming