- 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
を使用して、どのプロセスがハンドルを開いたかをトラブルシューティングします。
- 値が 10,000 未満の場合は、
- 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
理由:
destAccessKey
とdestSecretKey
およびスキャナが間違っていないかを確認します。 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. 移行中に
srcAccessKey
とsrcSecretKey
が再度入力される内容は?オペレーターのアカウント番号とパスワードを入力します。
- 25. 別のショットの移行中、HTTP がいつもエラー 429 を表示します。
SDK のアクセス間隔を制限するためにショットしたものでも、アクセスが少しでも速い場合は速度が制限されます。カスタマーサービスリリースの制限については、チケットを起票し、サポートセンターへお問い合わせください Ossimport がこの状況を再試行します。
- 26. 不明なコマンド "Java"、不明なコマンド "nohup" などの実行。
理由: 使用されているコマンドがインストールされていません。
yum
、apt-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 列未満の行など、規則を満たさない行があります。
- その理由の 1 つとして、ファイルが別のシステムからコピーされている可能性が挙げられます。
- 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
が "/" または "\" で始まっていることを確認します。