Amazon S3 V2コネクタのトラブルシューティング
Javaヒープサイズの設定
このセクションでは、Secure AgentのJVMオプションが多数のファイルを読み取るように設定されていない場合に発生する可能性があるエラーについて説明します。
- マッピングタスクを実行して多数のレコードを書き込むと、「ERROR java.lang.OutOfMemoryError: GC overhead limit exceeded.(エラーjava.lang.OutOfMemoryError: GCオーバーヘッド制限を超過しました。)」というエラーが発生します。
- この問題を解決するには、以下のタスクを実行してSecure AgentのJVMオプションを設定し、Javaヒープサイズのメモリを増やします。
- 1[Administrator] > [ランタイム環境]を選択します。
- 2[ランタイム環境]ページで、利用可能なSecure Agentのリストからメモリを増加するSecure Agentを選択します。
- 3右上隅の[編集]をクリックします。
- 4[システム構成の詳細]セクションで、データ統合サーバーの[タイプ]に[DTM]を選択します。
- 5[JVMOption1]を[-Xms2048m]に編集します。
注: 処理するデータに基づいて最大ヒープサイズと最小ヒープサイズを指定します。
- 6Secure Agentを手動で再起動します。
- サイズが1.4 GB以上のファイルを書き込むマッピングを実行して、暗号化タイプに[Informatica Encryption]を選択している場合、「[ERROR] java.lang.OutOfMemoryError: Java heap space([エラー] java.lang.OutOfMemoryError: Javaヒープ領域)」が発生します。
- この問題を解決するには、以下のタスクを実行してSecure AgentのJVMオプションを設定し、Javaヒープサイズのメモリを増やします。
- 1[Administrator] > [ランタイム環境]を選択します。
- 2[ランタイム環境]ページで、利用可能なSecure Agentのリストからメモリを増加するSecure Agentを選択します。
- 3右上隅の[編集]をクリックします。
- 4[システム構成の詳細]セクションで、データ統合サーバーの[タイプ]に[DTM]を選択します。
- 5[JVMOption1]を[-Xmx8046m]に編集します。
- 6Secure Agentを手動で再起動します。
FFParserRetainNullStringカスタムプロパティ
nullという名前の文字列を含むcsvファイルから読み取る場合、タスクはターゲットにデータを書き込みません。この問題を解決するには、次のタスクを実行し、カスタムプロパティFFParserRetainNullStringを設定します。
- 1[Administrator] > [ランタイム環境]を選択します。
- 2[ランタイム環境]ページで、Secure Agentを選択します。
- 3右上隅の[編集]をクリックします。
- 4[カスタム構成の詳細]セクションで、データ統合サーバーの[タイプ]に[Tomcat JRE]を選択します。
- 5[名前]を[FFParserRetainNullString]と入力し、[値]を[true]と入力します。
- 6[保存]をクリックします。
RedirectToSessionLogカスタムプロパティ
ソースまたはターゲットのAmazon S3 V2ファイルを選択し、Parquetファイル形式オプションを設定すると、多数のログファイルが生成される場合があります。この問題を解決してログを無効にするには、次のタスクを実行し、カスタムプロパティRedirectToSessionLogを設定します。
- 1[Administrator] > [ランタイム環境]を選択します。
- 2[ランタイム環境]ページで、Secure Agentを選択します。
- 3右上隅の[編集]をクリックします。
- 4[カスタム構成の詳細]セクションで、データ統合サーバーの[タイプ]に[DTM]を選択します。
- 5[名前]を[RedirectToSessionLog]と入力し、[値]を[なし]と入力します。
- 6[保存]をクリックします。
JSONファイルの空の構造データ
JSONファイルに空の構造データを含むフィールドがある場合、Secure Agentはそのフィールドを無視し、メタデータの読み取り中に残りのフィールドを読み取ります。
例えば、JSONファイルの最初の行にデータ{"id":123,"address":{}}がある場合、addressフィールドは無視され、[フィールド]タブには表示されません。JSONファイルで連続する行のaddressフィールドに値がある場合、[サンプリングするデータ要素]プロパティを使用してこのフィールドを取得できます。
Amazon S3バケットが存在しないか、ユーザーにバケットにアクセスする権限がありません。
Secure Agentをホストするマシンの時刻を変更しないでください。Secure Agentの時刻は、タイムゾーンに従って正確である必要があります。正確でない場合、マッピングは例外で失敗します。
接続タイムアウトエラー
Amazon S3に接続する際のネットワークパフォーマンスと信頼性の問題により、応答時間の低下、接続の失敗、または要求エラーが発生する可能性があります。
これらの問題は、最大同時接続数、接続タイムアウト、ソケットタイムアウト、および取得タイムアウトなど、クライアント側の接続管理パラメータの設定が最適ではないことが原因で発生する可能性があります。
これらの問題を解決するには、Secure Agentに次のプロパティを設定します。
- •-DAWSS3MaxConnectionPool。Amazon S3クライアントが維持できる同時HTTP接続の最大数。デフォルト値は500です。
- •-DAWSS3ConnectionTimeOut。Amazon S3への接続を確立するためのタイムアウト期間(ミリ秒単位)。デフォルト値は1200000ミリ秒です。
- •-DAWSS3SocketTimeOut。確立された接続からデータを読み取るためのタイムアウト期間(ミリ秒単位)。デフォルト値は600000ミリ秒です。
- •-DAWSS3AcquisitionTimeOut。接続プールから接続を取得するまでのタイムアウト期間(ミリ秒単位)。デフォルト値は180000ミリ秒です。
次のタスクを実行して、Secure AgentのJVMオプションを設定します。
- 1[Administrator] > [ランタイム環境]をクリックします。
- 2[ランタイム環境]ページで、Secure Agentを選択します。
- 3[編集]をクリックします。
- 4[システム構成の詳細]セクションで、[データ統合サーバー]に[サービス]を選択し、[タイプ]に[DTM]を選択します。
- 5次のJVMオプションを編集および設定します。
JVMオプション | 値 |
|---|
JVMOption1 | -DAWSS3MaxConnectionPool=<接続数> |
JVMOption2 | -DAWSS3ConnectionTimeOut=<ミリ秒単位の期間> |
JVMOption3 | -DAWSS3SocketTimeOut=<ミリ秒単位の期間> |
JVMOption4 | -DAWSS3AcquisitionTimeOut=<ミリ秒単位の期間> |
- 6[保存]をクリックします。