• 1. UnsupportedClassVersionError

    Exception Executing コマンド

    Exception in thread "main" java.lang.UnsupportedClassVersionError: com/aliyun/ossimport2/OSSImport2 : Unsupported major.minor version 51.0
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
            at com.simontuffs.onejar.JarClassLoader.defineClass(JarClassLoader.java:693)
            at com.simontuffs.onejar.JarClassLoader.findClass(JarClassLoader.java:599)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
            at com.simontuffs.onejar.Boot.run(Boot.java:300)
            at com.simontuffs.onejar.Boot.main(Boot.java:159)

    原因: Java のバージョンが古すぎるため、1.7 以降に更新できません。

  • 2. InvocationTargetException

    submit コマンドを使用して、タスク報告の例外を送信します。

    Exception in thread "main" java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:497)
            at com.simontuffs.onejar.Boot.run(Boot.java:306)
            at com.simontuffs.onejar.Boot.main(Boot.java:159)
    Caused by: java.lang.NullPointerException
            at com.aliyun.ossimport2.config.JobConfig.load(JobConfig.java:44)
            at com.aliyun.ossimport2. OSSImport2.doSubmitJob(OSSImport2.java:289)
            at com.aliyun.ossimport2. OSSImport2.main(OSSImport2.java:120)
            ... 6 more

    理由: 設定ファイル内の項目が削除またはコメントアウトされているかどうかを確認し、等号の後に、設定する必要がない項目、および削除する必要がない項目を入力します。

  • 3. 開かれるファイルが多すぎます。

    理由: ulimit -n 表示システムハンドル。

    • 値が 10,000 未満の場合は、ulimit -n 65536 を使用してプロセスを再開できます。
    • 比較的大規模に設定されている場合は、sudo losf -n を使用して、どのプロセスがハンドルを開いたかをトラブルシューティングします。
  • 4. Windows が起動後、 Windows が数秒後に戻る

    原因: ほとんどの場合、Java がインストールされていないか、バージョンが 1.7 未満であるか、構成ファイルのエラーが原因です。

  • 5. ジョブが実行しない、もしくはジョブが終了しません。

    submit コマンドがタスクを完了したら、stat を使用します。 タスク状態は常に表示されます。

    bash console.sh stat
    [WARN] List files dir not exist : /home/<user>/ossimport/workdir/master/jobs/
    no jobs is running or finished.

    理由:

    • ジョブが実行依頼されたばかりです。タスクが実際に生成および配信されておらず、ログの出力が正常な場合は、マスターは最初にファイルの一覧をスキャンする必要があります。
    • 長時間経過しても、通常は start. コマンドがなくエラーが出力されたままになります。プロセスを開始するか、プロセスの開始後に予期せず終了するように指示します。 サービスを開始させない場合は、start を使用するだけです。それ以外の場合は、logs/ossimport.log を調べて例外の原因を見つけ、それを解決してからサービスプロセスを開始します。
  • 6. STAT コマンドは常に "scanfinished: false" を表示します。

    タスクの総数が増えているかどうかを確認します。

    • まだ処理中のものがある場合、ジョブのファイルの一覧は完全ではありません。一覧には新しいファイルもあります。
    • ジョブが増分モードに設定されている場合、常に変更されないため、scanfinishedは "true" にはなりません。 ユーザーが設定した間隔に応じてファイルの一覧を定期的にスキャンするには、新規または変更されたドキュメントを調べます。
    • 増分モードではない場合、タスク数は増えず、ログで例外がチェックされます。
  • 7. サービスプロセスは削除されましたが、ログに例外は出力されませんでした。

    理由: マシンの使用可能なメモリが 2 GB 未満の場合、考えられる可能性は、削除に必要なだけのメモリが不足しているからです。 dmsg を確認してください。 削除するためのメモリが足りないという記録があるかどうか、記録を取ってください。

  • 8. プロセスがハングアップまたは強制終了された後、サービスを再開するために必要なことは何ですか。

    start コマンドを直接呼び出します。 このコマンドはサービスを開始します。送信されたジョブは、clean コマンドを呼び出さない限り、再送信する必要はありません。実行依頼されたすべてのジョブには、実行された作業をやり直さないブレークポイントレコードがあります。

  • 9. OSS コンソールがソースより少ない量のデータを表示するタスクを完了します。

    ジョブがすべて正常にアップロードされた後、またはローカルで使用された後は、OSS コンソール内のバケットのサイズは変わりません。 du 統計のサイズは大きく変わります。 原因: OSS コンソールのバケットデータの量が更新は 1 時間遅れます。 du コマンドは、実際のファイルよりも大きいブロックサイズをカウントします。次のコマンドを参照することで、ローカルディレクトリの実際のサイズをカウントできます。 ls -lR <directory absolute path> | grep "\-rw" | awk '{sum+=$5}END{print sum}'

  • 10. stat コマンドで示される失敗したタスクはどのように処理するのですか。

    通常は、retry コマンドを使用して再試行します。

  • 11. タスクが失敗した後、繰り返しの再試行が成功しないファイルがあります。

    理由: ファイル 「$work_dir/master/jobs/$jobName/failed_tasks/$taskName/error.list」 をご参照ください。 失敗したファイルの相対パスを取得し、そのファイルにアクセス許可があるかどうか、削除されているか、柔軟性があるか、ファイル名が文字化けしていないかなどを確認します。

  • 12. どのようにしたら OSS に間違ったファイル名のファイルをアップロードすることができますか。

    ファイル名を確認した後、まず、export LANG="<your file name encode>"ls を使用する必要があります。 元のジョブを消去して submit コマンドでジョブを再実行依頼するためのコマンド。

  • 13. java.nio.file.AccessDeniedException

    例外報告: ava.nio.file.AccessDeniedException 原因: 構成ファイルのディレクトリにアクセス許可がありません。

  • 14. タスク状態は 0 を表示しますが、ジョブは完了を表示します。

    タスク状態は 0 を表示しますが、ジョブは次のように完了を表示します。

    [2015-12-28 16:12:35] [INFO] JobName:dir_data
    [2015-12-28 16:12:35] [INFO] Pending Task Count:0
    [2015-12-28 16:12:35] [INFO] Dispatched Task Count:0
    [2015-12-28 16:12:35] [INFO] Succeed Task Count:0
    [2015-12-28 16:12:35] [INFO] Failed Task Count:0
    [2015-12-28 16:12:35] [INFO] Is Scan Finished:true
    [2015-12-28 16:12:35] [INFO] JobState:SUCCEED

    理由:

    • srcPrefix はエラーに対処し、List がファイルから出てこないようにします。
    • ディレクトリの概念は OSS によってシミュレートされるため、srcPrefix にはディレクトリのみが存在し、ファイルは存在しません。ファイルが本当にアップロードされることはありません。
  • 15. アクセスしようとしているバケットは、指定されたエンドポイントを使用して対処する必要があります。

    ログの例外報告:

    Exception:com.aliyun.oss.OSSException: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
    <Error> 
      <Code>AccessDenied</Code>
      <Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message> 
      <RequestId>56EA98DE815804**21B23EE6</RequestId>
      <HostId>my-oss-bucket.oss-cn-qingdao.aliyuncs.com</HostId>
      <Bucket>my-oss-bucket</Bucket>
      <Endpoint>oss-cn-hangzhou.aliyuncs.com</Endpoint>
    </Error>

    理由: バケットの srcDomain または destDomain がエラーです。ドメイン名の一覧に従ってください。 正しいドメイン名を入力します。

  • 16. 計算したリクエストの署名が、指定した署名と一致しません。

    ログの例外報告:

    Exception:com.aliyun.oss.OSSException: The request signature we calculated does not match the signature you provided. Check your key and signing method.
    [ErrorCode]: SignatureDoesNotMatch
    [RequestId]: xxxxxxx
    [HostId]: xxx.oss-cn-shanghai.aliyuncs.com

    理由: destAccessKeydestSecretKey およびスキャナが間違っていないかを確認します。 Access control をご参照ください。

  • 17. InvocationTargetException

    送信コマンドのタスク時間送信の例外:

    submit job:/disk2/ossimport2/local_job.cfg
    Exception in thread "main" java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at com.simontuffs.onejar.Boot.run(Boot.java:306)
            at com.simontuffs.onejar.Boot.main(Boot.java:159)
    Caused by: java.lang.NullPointerException
            at com.aliyun.ossimport2. OSSImport2.doSubmitJob(OSSImport2.java:289)
            at com.aliyun.ossimport2. OSSImport2.main(OSSImport2.java:120)
            ... 6 more
    理由: conf/sys.properties 内の "Configuration item workingdir" を確認します。 設定するかどうか、正しく設定するかどうか、および設定ファイルパスが正しいパスであることを検証します。
  • 18. エージェントの設定をサポートしていますか。

    この機能はサポート対象外です。

  • 19. OSS を OSS に移行させるのにはなぜ費用がかかるのでしょうか。

    エンドポイント」をご参照ください。 ヘルプ内のドメイン名は、内部ネットワークドメイン名を設定した後、トラフィック料金は請求されませんが、アクセスに対するコストが発生しています。

  • 20. 同期プロセスがソースファイルが存在しないことを示しています。

    理由: マスターは最初にファイルリストを一覧表示し、次にファイル一覧に従ってデータを移動させます。 一覧表示が終了すると、ソース側の特定のファイルが削除され、ソースファイルが存在しないことが確認できます。 このタイプのファイルはスキップされ、エラーリストに出力されます。

  • 21. 増分モードがオンになっていると、OSS はローカルで削除された後に削除されますか。

    ローカルでの削除後に OSS が削除されると、増分モードがオンになり、削除操作は同期されません。

  • 22. 増分モードがオンになっていると、新しいドキュメントに同期されないものがあります。

    理由: 増分モードでは、コントラストファイルの最後の変更を使用して、ファイルが増分かどうかを判断します。 ファイルシステムの操作によっては、Windows では cp や mv、Linux では -t-a オプションを付けた mv や rsync など、オブジェクトの最終更新日時を変更できないものがあります。 これらの操作によるデータ変更は検出されず、OSS にも同期されません。

  • 23. 移行したタスクの数が常に 0 を示しています。

    理由: 主に 2 つの状況に分けられます。

    • [2016-07-21 10:21:46] [INFO] [name=YoupaiList, totalRequest=1729925, avgLatency=38,
                recentLatency=300000]
      recentLatency=30000 であれば、このログは通常、正常です。 一覧表示および一覧表示を何度も行う際の表示スピードは遅く、通常タイムアウトの 30 秒がかかります。タスクがゆっくりと一覧表示される場合など、いくつかのファイルを一覧表示するのに 30 秒ほど時間がかかる場合があります (これは正常です)。
    • recentLatency は非常に低いので、一般的なケースではアカウントのパスワードが間違っていることなどが考えられます。これは、SDK の別のエラーでは nul lだけが返されるためです。 エラーの結果は返されないため、パッケージを取得することによって返される別のエラーコードを取得することしかできません。
  • 24. 移行中に srcAccessKeysrcSecretKey が再度入力される内容は?

    オペレーターのアカウント番号とパスワードを入力します。

  • 25. 別のショットの移行中、HTTP がいつもエラー 429 を表示します。

    SDK のアクセス間隔を制限するためにショットしたものでも、アクセスが少しでも速い場合は速度が制限されます。カスタマーサービスリリースの制限については、チケットを起票し、サポートセンターへお問い合わせください Ossimport がこの状況を再試行します。

  • 26. 不明なコマンド "Java"、不明なコマンド "nohup" などの実行。

    理由: 使用されているコマンドがインストールされていません。yumapt-get、または zypper のいずれかを使用します。 対応するコマンドがインストールされるまで待機します。

  • 27. タスクが構成ファイルと一致しません。

    ジョブ構成ファイルは正しいように見えますが、実際の実行は、ジョブプロファイル構成とはかなり異なります。 sys.properties プロパティのみ変更を適用し、有効にするために再起動します。ジョブの設定ファイルが送信されても変更は有効になりません。元のジョブを削除し、新しい設定ファイルを再送信します。

  • 28. バケット名 "xxx / xx" が無効です。

    ログの例外報告:

    java.lang.IllegalArgumentException: The bucket name "xxx/xx" is invalid. A bucket name must: 1) be comprised of lower-case characters, numbers or dash(-); 2) start with lower case or numbers; 3) be between 3-63 characters long.

    理由: destBucket の設定項目が正しく入力されていること、およびバケットが "/" を使用していないこと、他のパスを使っていないことを確認します。

  • 29. com.aliyun.oss.ClientException: Unknown

    ログの例外報告:

    com.aliyun.oss.ClientException: Unknown
    [ErrorCode]: NonRepeatableRequest
    [RequestId]: Cannot retry request with a non-repeatable request entity.  The cause lists the reason the original request failed.

    通常、ネットワークが一杯になったときに、ossimport は再試行します。再試行が失敗した場合は、タスクの完了後に再試行することができます。retryコマンドを再試行します。

  • 30. xxx.oss-cn-beijing-internal.aliyuncs.com に接続して 80 タイムアウトになりました。

    ログの例外報告:

    Unable to execute HTTP request: Connect to xxx.oss-cn-beijing-internal.aliyuncs.com:80 timed out
    [ErrorCode]: ConnectionTimeout
    [RequestId]: Unknown

    理由: ECS 以外のマシンは内部ドメイン名を使用できません。

  • 31. 指定されたバケットは無効です。

    ログの例外報告:

    com.aliyun.oss.OSSException: The specified bucket is not valid.
    [ErrorCode]: InvalidBucketName
    [RequestId]: 57906B4DD0EBAB0FF553D661
    [HostId]: you-bucket.you-bucketoss-cn-hangzhou-internal.aliyuncs.com

    理由: 設定ファイル destDomian から設定したドメイン名では、バケット名を付けることができません。

  • 32. 設定ファイルの srcPrefix でファイルを個別に指定できますか。

    いいえ。srcPrefix はディレクトリまたはプレフィックスレベルのみをサポートします。1 つのファイルのアップロードであれば、他のよりシンプルなツールにて実行できます。

  • 33. HTTP リクエストを実行できません: "..." 間の違いが大きすぎます。

    ログの例外報告:

    Unable to execute HTTP request: The Difference between the request time and the current time is too large.
    [ErrorCode]: RequestTimeTooSkewed
    [RequestId]: xxxxxxx

    理由:

    • 大抵、ローカルマシンタイムはサーバータイムと 15 分以上相違しており、好ましくありません。
    • 特に CPU 使用率が高い場合、同時実行性が高すぎるため、同時実行中にアップロードが遅くなる可能性があります。
  • 34. No route to host

    No route to host のエラーがログに表示されます。 ローカルのファイアウォールや iptables によるネットワークの中断が原因の可能性があります。

  • 35. 不明な http 一覧ファイルの形式

    指定された HTTP 一覧ファイルの形式が正しくないため、http モードのログを使用してエラーが表示されます。

    • その理由の 1 つとして、ファイルが別のシステムからコピーされている可能性が挙げられます。 mac2unix または doc2unix コマンドを使用することで、ファイル形式を変換することができます。
    • ファイル内に、2 列未満の行など、規則を満たさない行があります。
  • 36. boject キー "/xxxxx.jpg" が無効です。

    ログの例外報告:

    Exception:java.lang.IllegalArgumentException: The boject key "/xxxxx.jpg" is invalid. An object name should be between 1 - 1023 bytes long when encoded as UTF-8 and cannot contain LF or CR os unsupported chars in XML1.0, and cannot begin with "/" or "\".

    理由:

    • srcPrefix がディレクトリであることと、オブジェクトの名前の末尾に ";" が付いていないことを確認します。
    • destPrefix が "/" または "\" で始まっていることを確認します。