すべてのプロダクト
Search
ドキュメントセンター

:スタンドアロン展開

最終更新日:Feb 23, 2024

このトピックでは、LinuxおよびWindowsにスタンドアロンモードでossimportを展開する方法について説明します。

前提条件

Java 1.7またはJava 1.8がインストールされています。

クイックスタート

  1. ダウンロードと解凍 ossimport-2.3.6.zip

    解凍されたファイルの構造は次のとおりです。

    ossimport
    â ─ ─ ビン
    Master、Worker、TaskTracker、およびConsoleモジュールを含むJARパッケージ。
    â ─ ─ conf
    ジョブ設定ファイル。The Job configuration file.
    システムパラメーターを含む設定ファイル。The configuration file that contains system parameters.
    タスクを分散して実行するために使用されるWindowsのコマンドラインユーティリティ。
    タスクを分散して実行するために使用されるLinuxコマンドラインツール。
    ├─ ─ import.bat# Windows上のconf/local_job.cfg設定ファイルに基づいてファイルを自動的にインポートするスクリプト。 設定ファイルには、開始、移行、検証、再試行などのデータ移行操作を指定するパラメーターが含まれています。
    ├─ ─ import.sh# Linux上のconf/local_job.cfg設定ファイルに基づいてファイルを自動的にインポートするスクリプト。 設定ファイルには、開始、移行、検証、再試行などのデータ移行操作を指定するパラメーターが含まれています。
    ├─ ─ logs# ログを含むディレクトリ。
    └ ─ ─ README.md# ossimportの説明を提供するファイル。 ossimportを使用する前に、このファイルを読むことを推奨します。
  2. 必要に応じて、conf/sys.propertiesおよびconf/local_job.cfgの設定ファイルを編集します。

    次のアイテムは変更しないでください。

    • conf/sys.propertiesworkingDirworkerUserNameworkerPasswordprivateKeyFile

    • 設定ファイル内のconf/local_job.cfgおよびjobnameの名前とパス。

    設定例の詳細については、「設定ファイルの例」をご参照ください。

    重要

    ジョブを送信する前に、sys.propertiesおよびlocal_job.cfgのパラメーターを確認します。 ジョブのパラメーターは、ジョブの送信後に変更することはできません。

  3. 移行ジョブを開始します。

    • Windowsでimport.batファイルをダブルクリックします。

    • Linuxでbash import.shを実行します。

ジョブ実行

スタンドアロンモードでデプロイされたossimportでは、データ移行ジョブは次のいずれかの方法で実装されます。

  • ワンクリックインポート: このメソッドは、すべてのステップをスクリプトにカプセル化します。 スクリプトのプロンプトに従って、データ移行ジョブを実装できます。 初心者の方は、この方法を使用してデータ移行ジョブを実装することを推奨します。 詳細については、「クイックスタート」セクションをご参照ください。

    1. ワンクリックでインポートを開始します。

      • Windowsでimport.batファイルをダブルクリックします。

      • Linuxでbash import.shを実行します。

      説明

      最後に実行したジョブが完了していない場合、記録されたチェックポイントからジョブを続行するか、同期ジョブを再起動するかをossimportで確認します。 新しいデータ移行ジョブを開始する場合、またはソースバケットとターゲットバケットを変更した場合は、同期ジョブを再起動します。

    2. Windowsでは、新しいコマンドプロンプトウィンドウが開き、ジョブを実装してログを表示します。 ossimportを実行するコマンドプロンプトウィンドウで、ジョブのステータスが10秒ごとに出力されます。 ジョブ中に [コマンドプロンプト] ウィンドウを閉じないでください。 Linuxでは、ジョブはバックグラウンドで実装されます。

    3. ジョブ中にタスクが失敗した場合は、再試行するかどうかのプロンプトが表示されます。 タスクを再試行するには、yと入力します。 タスクをスキップして終了するには、nと入力します。

    4. データ移行ジョブが失敗した場合は、master/jobs/local_test/failed_tasks/<tasktaskid>/audit.logを表示して、失敗の原因を特定できます。

  • ステップバイステップのインポート: このメソッドは、次の手順を使用してデータ移行ジョブを実装します。

    1. 同じ名前のジョブをクリアします。

      同じ名前のジョブを実行し、再度ジョブを実行する場合は、最初に同じ名前のジョブをクリアします。 ジョブを実行していない場合、または失敗したジョブのタスクを再試行する場合は、clearコマンドを実行しないでください。

      • Windowsの場合、コマンドプロンプトでconsole.bat cleanを実行します。

      • Linuxの場合、bash console.sh cleanを実行します。

    2. データ移行ジョブの送信

      同じ名前のジョブを送信することはできません。 同じ名前のジョブを実行した場合は、最初に同じ名前のジョブをクリアしてください。 送信するジョブの設定ファイルはconf/local_job.cfgです。 送信するジョブのデフォルト名はlocal_testです。 次のコマンドを実行して、ジョブを送信します。

      • Windowsの場合、コマンドプロンプトでconsole.bat submitを実行します。

      • Linuxの場合、bash console.sh submitを実行します。

    3. サービスを開始します。

      • Windowsの場合、コマンドプロンプトでconsole.bat startを実行します。

      • Linuxの場合、bash console.sh startを実行します。

    4. ジョブの状況を表示します。

      • Windowsの場合、コマンドプロンプトでconsole.bat statを実行します。

      • Linuxの場合、bash console.sh statを実行します。

    5. 失敗したタスクの再試行

      ネットワークの問題やその他の要因により、タスクが失敗する場合があります。 再試行コマンドを実行すると、失敗したタスクのみが再試行されます。

      • Windowsの場合、コマンドプロンプトでconsole.bat retryを実行します。

      • Linuxの場合、bash console.sh retryを実行します。

    6. サービスを停止します。

      • Windowsの場合、% JAVA_HOME %/bin/java.exeウィンドウを閉じます。

      • Linuxの場合、bash console.sh stopを実行します。

ジョブのステータスとログ

ジョブが送信されると、マスターはジョブをタスクに分割し、ワーカーはタスクを実行し、トラッカーはタスクのステータスを収集します。 ジョブが完了すると、ossimportディレクトリの構造は次のようになります。

ossimport
â ─ ─ ビン
スタンドアロンモードでデプロイされたossimportのJARパッケージ。
â ─ ─ conf
ジョブ設定ファイル。The Job configuration file.
システムパラメーターを含む設定ファイル。The configuration file that contains system parameters.
├─ ─ console.sh# コマンドラインツール。
â ─ ─ import.sh# ワンクリックインポート用のスクリプト。
├─ ─ ログ
│ ├─ ─ import.log# 移行ログ。
job_stat.log# ジョブステータスログ。
│ ├─ ─ ossimport2.log# スタンドアロンモードでデプロイされたossimportの実行ログ。
送信されたジョブの記録. log#.
â ─ ─ マスター
│ ├─ ─ jobqueue# 分割されていないジョブ。
ジョブ# ジョブのステータス。
ジョブ名はlocal_test# です。
checkpoints# Masterがジョブをタスクに分割するときに生成されるチェックポイント。
│ │ 様 ─ ─ 0
│ │ ά ─ ─ 034DC9DD2860B0CFE884242BC6FF92E7.cpt
作業者にディスパッチされたが完了していないタスク。
│ │ 様 ─ ─ localhost
│ ├─ ─ failed_tasks# 失敗したタスク。
│ ├─ ─ pending_tasks# ディスパッチされないタスク。
成功したタスク# 正常に実行されるタスク。
│ └ ─ ─ A41506C07BF1DF2A3EDB4CE31756B93F_1499744514501 @ localhost
│ ├─ ─ audit.log# タスクの実行ログ。 ログを表示して、エラーの原因を特定できます。
成功したタスクのマークファイル。The mark file of successful tasks.
│ ├─ ─ error.list# エラーのリスト。 ファイル内のエラーを表示できます。
タスクのステータスを示すマークファイル。The mark file that indicates task STATUS. このファイルの内容はFailedまたはCompletedです。
タスクの説明。
worker# ワーカーによって実行されているタスクのステータスを格納します。 タスクの実行後、タスクはマスターによって管理されます。
    └── jobs
        └── local_test
            └ ─ ─ タスク 
重要
  • ジョブ実行情報を表示するには、logs/ossimport2.logまたはlogs/import.logを参照してください。

  • タスクの失敗の原因を特定するには、master/jobs/${JobName}/failed_tasks/${TaskName}/audit.logを参照してください。

  • 失敗したタスクのエラーを表示するには、master/jobs/${JobName}/failed_tasks/${TaskName}/error.listを参照してください。

  • 上記のログは参照用です。 サービスとアプリケーションをそれらに基づいてデプロイしないでください。

移行後の整合性検証

ossimportは移行後にデータを検証しないため、データの一貫性と整合性は保証されません。 移行タスクが完了したら、移行元と移行先のデータの整合性を確認します。

ソースと宛先間のデータの整合性を確認せずにソースデータを削除した場合、損失や結果が発生した場合に責任を負います。

移行障害の一般的な原因

  • アップロード中にソースパスのデータが変更された場合、log/audit.logSIZE_NOT_MATCHエラーが記録されます。 このエラーは、元のデータがアップロードされているが、変更がOSSにアップロードされていないことを示します。

  • アップロード中にソースデータが削除されると、移行ジョブは失敗します。

  • ソースファイルがOSSオブジェクトの命名規則に準拠していない場合、OSSへの移行は失敗します。 OSSのオブジェクトの名前は、スラッシュ (/) で始めることはできません。

  • ネットワークの問題が発生した場合、またはアカウントに十分な権限がない場合、ソースデータのダウンロードは失敗します。 実際の原因を特定するには、logs/ossimport2.logまたはlogs/import.logファイルを表示します。

  • ジョブの実行時にossimportが予期せず終了した場合、ジョブのステータスはAbortです。 予期しない出口が発生した場合は、 チケットを起票し、サポートセンターにお問い合わせください。