プログラムがしばらく実行されると詰まってしまう問題について

876 ワード

シーンの説明
最近、実習はサブプロジェクトに忙しく、このプロジェクトは主にリアルタイムデータ変換エンジンを開発しています.はっきり言って、kafkaStreamsを利用してkafkaのデータを読み出し、mysqlまたはhbaseに格納します.このエンジンは単独で開発され、jarパッケージに作成され、親プロジェクトのスケジューラを介して実行されます(実はshellスクリプトを実行します).
問題の説明
その後、サブプロジェクトの開発が終わった後、私たちは自分でこのプログラムjarを手動で調整して、プログラムはよく走っています.親プロジェクトのスケジューリングシステムを通じてjarパッケージを引っ張ると問題が発生し、実行ログを通じて、プログラムが数万件のデータを入庫した後、カードが死んで、間違いを報告しなくても実行しないことを発見しました.次に、私たちは手動でこのjarパッケージを引っ張って、プログラムも正常に実行しました.スケジューリングシステムが他のjarパケットをスケジューリングするのは問題なく、リアルタイムデータ変換エンジンをスケジューリングするだけで、しばらく実行すると詰まってしまいます.
もんだいぶんせき
問題は主にログにあります.まず、手動でエンジンを起動すると、コンソールに打つログは直接インタフェースに出力され、表示されます.スケジューリングシステムでエンジンを起動すると、コンソールに打たれたログは出力されたバッファであり、このバッファがいっぱいになると、プロセスは睡眠に入ります.
問題解決
変更後のLogbackプロファイル: