Apache nifi Apache nifi:在等待按计划的';QueryDatabaseTable';处理器完成

Apache nifi Apache nifi:在等待按计划的';QueryDatabaseTable';处理器完成,apache-nifi,Apache Nifi,我正在尝试使用QueryDatabaseTable创建第一个流,以增量方式从Oracle数据库表中提取行 我得到下面的错误。我启用了完全调试,但没有记录任何其他有用的内容 关于下一步尝试什么的想法 2017-07-10 14:43:52280在等待“QueryDatabaseTable”处理器的OnScheduled完成时,警告[StandardProcessScheduler Thread-4]o.a.n.controller.StandardProcessorNode超时。试图通过Threa

我正在尝试使用QueryDatabaseTable创建第一个流,以增量方式从Oracle数据库表中提取行

我得到下面的错误。我启用了完全调试,但没有记录任何其他有用的内容

关于下一步尝试什么的想法

2017-07-10 14:43:52280在等待“QueryDatabaseTable”处理器的OnScheduled完成时,警告[StandardProcessScheduler Thread-4]o.a.n.controller.StandardProcessorNode超时。试图通过Thread.interrupt()取消任务。但是,它不能保证任务将被取消,因为当前OnScheduled操作中的代码可能被写入忽略中断,这可能导致线程失控。这可能导致更多问题,最终需要重新启动NiFi。这通常是目标处理器“QueryDatabaseTable[id=1e535f00-015d-1000-236d-7adebe14958a]”中的一个缺陷,需要记录、报告并最终修复

2017-07-10 14:43:52280错误[StandardProcessScheduler Thread-4]o.a.n.p.standard.QueryDatabaseTable查询数据库数据库[id=1e535f00-015d-1000-236d-7adebe14958a]查询数据库[id=1e535f00-015d-1000-236d-7adebe14958a]无法调用@OnScheduled方法,因为java.lang.RuntimeException:在执行处理器的一个OnScheduled任务时超时。;处理器将不会计划运行30秒:java.lang.RuntimeException:在执行处理器的一个按计划任务时超时。 java.lang.RuntimeException:在执行处理器的一个按计划任务时超时。 位于org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1480) 位于org.apache.nifi.controller.StandardProcessorNode.access$000(StandardProcessorNode.java:102) 位于org.apache.nifi.controller.StandardProcessorNode$1.run(StandardProcessorNode.java:1303) 位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在java.util.concurrent.FutureTask.run(FutureTask.java:266)处 位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 运行(Thread.java:745) 原因:java.util.concurrent.TimeoutException:null 位于java.util.concurrent.FutureTask.get(FutureTask.java:205) 位于org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1465) ... 省略9个公共框架

2017-07-10 14:43:52280错误[StandardProcessScheduler Thread-4]o.a.n.controller.StandardProcessorNode未能调用@OnScheduled方法,原因是java.lang.RuntimeException:在执行处理器的一个OnScheduled任务时超时。 java.lang.RuntimeException:在执行处理器的一个按计划任务时超时。 位于org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1480) 位于org.apache.nifi.controller.StandardProcessorNode.access$000(StandardProcessorNode.java:102) 位于org.apache.nifi.controller.StandardProcessorNode$1.run(StandardProcessorNode.java:1303) 位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在java.util.concurrent.FutureTask.run(FutureTask.java:266)处 位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 运行(Thread.java:745) 由以下原因引起:java.util.concurrent.TimeoutException:null 位于java.util.concurrent.FutureTask.get(FutureTask.java:205) 位于org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1465)
... 9省略的公共帧QueryDatabaseTable的
@OnScheduled
方法正在尝试连接到您的数据库,并且出现问题,导致其达到60秒处理器调度超时


您能否验证您的
DBCPConnectionPool
服务配置是否正确,以及运行NiFi的服务器是否可以使用相同的凭据连接到数据库?

QueryDatabaseTable的
@OnScheduled
方法正在尝试连接到您的数据库,并且似乎有错误导致其达到60秒处理器调度超时的问题


能否验证您的
DBCPConnectionPool
服务配置是否正确,以及运行NiFi的服务器是否可以使用相同的凭据连接到数据库?

我只有一台NiFi服务器在运行。如果我偶然发现连接字符串,它会抛出一个Oracle错误。所以我认为这是可行的。任何提示我如何调试这个


更新:我检查了,没有从nifi到DB的连接。此错误具有误导性。

我只有一台Nifi服务器在运行。如果我偶然发现连接字符串,它会抛出一个Oracle错误。所以我认为这是可行的。任何提示我如何调试这个


更新:我检查了,没有从nifi到DB的连接。这个错误有误导性。

在我的案例中,这是一个防火墙问题。我请求安全经理的许可。也可以通过telnet检查连接

telnet databaseserver port_number
E
Trying database_server...
Connected to 1database_server.
Escape character is '^]'.