2017-07-10 12 views
1

QueryDatabaseTableを使用して最初のフローを作成して、Oracleデータベーステーブルから行をインクリメンタルに抽出しようとしています。Apache Nifi: 'QueryDatabaseTable'プロセッサのOnScheduledを待つ間にタイムアウトしました

以下のエラーが表示されます。私は完全なデバッグを有効にしたが、有用なものは記録されていない。

次は何を試してみましょうか?

2017-07-10 14:43:52,280 WARN [StandardProcessScheduler Thread-4] o.a.n.controller.StandardProcessorNode 'QueryDatabaseTable'プロセッサのOnScheduledが完了するのを待機中にタイムアウトしました。 Thread.interrupt()を使用してタスクを取り消そうとしました。ただし、現在のOnScheduled操作内のコードが割り込みを無視して暴走スレッドを発生させる可能性があるため、タスクがキャンセルされることは保証されません。これにより多くの問題が発生し、最終的にNiFiを再起動する必要があります。これは、通常、ターゲットプロセッサのQueryDatabaseTable [ID = 1e535f00-015d-1000-236d-7adebe14958a]のバグで、文書化し、報告し、最終的に修正する必要があります。

2017年7月10日14:43:52280 ERROR [StandardProcessSchedulerスレッド-4] oanpstandard.QueryDatabaseTable QueryDatabaseTable [ID = 1e535f00-015d-1000-236d-7adebe14958a] QueryDatabaseTable [ID = 1e535f00-015d-1000-236d -7adebe14958a]は、java.lang.RuntimeExceptionのために@OnScheduledメソッドを呼び出せませんでした:プロセッサのOnScheduledタスクの1つを実行中にタイムアウトしました。プロセッサーは30秒間実行されないようにスケジューリングされます。java.lang.RuntimeException:プロセッサのOnScheduledタスクの1つを実行中にタイムアウトしました。 java.lang.RuntimeException:プロセッサのOnScheduledタスクの1つを実行中にタイムアウトしました。 org.apache.nifi.controllerでorg.apache.nifi.controller.StandardProcessorNode.access $ 000(StandardProcessorNode.java:102) でorg.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1480) で .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 ATで .runWorker(Threa (Thread.java:745) で発生します。コンマで区切られています。Concurrent.TimeoutException:null at java.util.concurrent.FutureTask.get(FutureTask.java:205) at org.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1465) ... 9共通フレーム43:

2017年7月10日14を省略52280 ERROR [StandardProcessSchedulerスレッド-4] oancontroller.StandardProcessorNodeによるjava.lang.RuntimeExceptionに@OnScheduledメソッドを呼び出すことができませんでした:プロセッサのOnScheduledタスクの実行中にタイムアウトしました。 java.lang.RuntimeException:プロセッサのOnScheduledタスクの1つを実行中にタイムアウトしました。 org.apache.nifi.controllerでorg.apache.nifi.controller.StandardProcessorNode.access $ 000(StandardProcessorNode.java:102) でorg.apache.nifi.controller.StandardProcessorNode.invokeTaskAsCancelableFuture(StandardProcessorNode.java:1480) で .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 java.util.concurrent.ThreadPoolExecutor.runWorkerでjava.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) (ThreadPoolExecutor.java:1142で$ 201(ScheduledThreadPoolExecutor.java:180) ) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(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つの共通フレームは

を省略しました

答えて

4

メソッドQueryDatabaseTableがデータベースに接続しようとしていて、60秒間のスケジューリングタイムアウトに遭遇する問題が発生しているようです。

DBCPConnectionPoolサービスが正しく設定されており、NiFiを実行しているサーバーが同じ資格情報でデータベースに接続できることを確認できますか。

+0

おかげで、あなたは正しいです。接続が正しく設定されていません。このように見えた私は設定されていた ... ** JDBC:オラクル:薄い:@prodHost:1521:** ORCLしかし、私は必要このように見えた... ** JDBC:オラクル: (アドレス=(プロトコル= tcp)(ポート= 1521)(ホスト= oraHost)))@(説明=(アドレス=(プロトコル= tcp)(ポート= 1610)(ホスト= WebHost) (connect_data =(INSTANCE_NAME = orcl)) (source_route = yes))** – polissar

+0

嬉しいです。それがあなたのために働いた場合、その答えを受け入れることを忘れないでください。 –

0

I実行中のNifiサーバーは1つのみです。私が接続文字列を受け取ると、Oracleエラーが発生します。だから私はこれが動作していると仮定します。任意のTippsこれをどのようにデバッグできますか?

更新:確認して、nifiからDBに接続していません。このエラーは誤解を招きます。

0

私の場合、ファイアウォールの問題でした。私はセキュリティマネージャーの許可を求めました。接続はtelnetで確認することもできます。

telnet databaseserver port_number 

予想される出力:

Trying database_server... 
Connected to 1database_server. 
Escape character is '^]'. 
関連する問題