Download PDF
Download page データ移行ツールの使用.
データ移行ツールの使用
データ移行ツールでは、Python3
ファイルのコレクションを使用します。
データ移行ツールのインストール
データ移行ツールをインストールするには、migration_tool.zip
をダウンロードします。
次に、解凍された構造の例を示します。
tool/ main.py readme.txt requirements.txt src/ tool.json
python3
環境のセットアップ
python3
がシステムにインストールされているかどうかを確認するには、次のように入力します。which python3
CODEpython3
が見つからない場合は、sudo yum install python36 -y
のように入力してpython3
をインストールします。pip3
パッケージマネージャがインストールされているかどうかを確認するには、次のように入力します。which pip3
CODEpip3
パッケージマネージャが見つからない場合は、「パッケージのインストール」を参照し、sudopython3 -m pip install--upgrade pip setuptools wheel
と入力してください。移行 Python スクリプトを実行するライブラリをインストールするには、データ移行ツールのディレクトリ内で次のコマンドを入力します。
pip3 install -r requirements.txt --user
CODE
データ移行ツールの設定
移行スクリプトを実行できるようにするには、事前にスクリプトを適切に設定しておく必要があります。すべての設定は、tool/tool.json
ファイルに JSON 形式で保存されています。このセクションでは、各プロパティの設定方法について説明します。
クラスタ
クラスタは、イベントサービスクラスタのコレクションとして定義されます。各クラスタには次のプロパティがあります。
Properties | 説明 |
---|---|
api_url | イベントサービスの API ノードまたはそのロードバランサのいずれか 1 つを示す URL。 |
certificate_file | PEM ファイルへのパス。 |
check_hostname | (オプション)証明書を確認するときにホスト名を確認するかどうかを示します。デフォルトは true です。 |
es_url | Elasticsearch のマスターノードのいずれか 1 つを示す URL。 |
es_url_internal | Elasticsearch のマスターノードのいずれか 1 つを示す内部 URL。他のクラスタがリモートのインデックス再作成に使用します。 |
es_version | Elasticsearch バージョンに関連します。 |
keys | イベントサービスのコントローラと OPS キー。これらのキーは conf/events-service-api-store.properties ファイル内にあります。 |
この例では、イベントサービス es2
、es6
、および xpack_es6
を定義します。
es6
で SSL を有効にし、xpack_es6
で Elasticsearch X-Pack を有効にします。
{
"clusters": {
"es2": {
"keys": {
"CONTROLLER": "27410b11-296a-49e1-b2d2-d2371ab94d64",
"OPS": "45c25bad-636c-432f-b0bd-f8ec428c8db4"
},
"api_url": "35.162.126.253:9080",
"es_url": "35.162.126.253:9200",
"es_url_internal": "172.31.12.185:9200",
"es_version": 2
},
"es6": {
"keys": {
"CONTROLLER": "7db43bff-97d3-4d5e-828a-a2eacb693e07",
"OPS": "ac7424d1-ae96-4e10-ad82-a2eca50db133"
},
"api_url": "https://34.209.245.68:9080",
"certificate_file": "/Users/jun.zhai/es6.pem",
"check_hostname": false,
"es_url": "34.209.245.68:9200",
"es_version": 6
},
"xpack_es6": {
"keys": {
"CONTROLLER": "07b055f8-a97b-4ccb-a239-2267d452c4ea",
"OPS": "c582cc8a-f3bc-419f-a42a-7bb8adad05b8"
},
"api_url": "52.89.86.93:9080",
"es_url": "http://elastic:1234@52.89.86.93:9200",
"es_version": 6
}
}
}
移行
ここでは、移行のプロパティについて説明します。
[プロパティ(Properties)] | 説明 |
---|---|
accounts | (オプション)移行するアカウントを指定します。デフォルトは、ソースイベントサービスのすべてに設定されています。 |
search_hits | Elasticsearch クエリで取得される最大ドキュメント数。デフォルトは 5000 です。 |
remote_reindex_concurrency | 同時に起動されたリモートインデックス再作成タスクの最大数。デフォルト値は 4 です。 |
remote_reindex_scroll_batch_size | リモートインデックス再作成のバッチサイズ。デフォルトは 8000 です。「Re-index API」を参照してください。 |
reindex_task_polling_interval | 進行中のリモートインデックス再作成タスクのステータスを確認する頻度(秒単位)。デフォルトは 60 秒です。 |
starting_max_fields_per_index | 新しいインデックスの作成時に許可される最大フィールド数。デフォルトは 1000 に設定されています。値は、conf/events-service-api-store.properties ファイルの ad.es.event.index.startingMaxFieldsPerIndex と同じにする必要があります。 |
Migration Properties Examples:
例 1:ソースイベントサービスからすべてを移行する。
{
"migration": {
"search_hits": 5000,
"remote_reindex_concurrency": 6,
"remote_reindex_scroll_batch_size": 8000,
"reindex_task_polling_interval": 60,
"starting_max_fields_per_index": 1000
}
}
例 2:アカウント customer15_9611293a-c56f-4c9a-aa11-9f6bffcb42ce
、log_v1
、custom_event
のすべてのイベントタイプと、アカウント customer1_229f6fbf-b42f-4d66-a56b-a2324d8b169d
のイベントタイプを移行します。この例では、他のアカウントは移行されません。
{
"migration": {
"accounts": {
"customer15_9611293a-c56f-4c9a-aa11-9f6bffcb42ce": [],
"customer1_229f6fbf-b42f-4d66-a56b-a2324d8b169d": [
"log_v1",
"custom_event"
],
},
"search_hits": 5000,
"remote_reindex_concurrency": 4,
"remote_reindex_scroll_batch_size": 8000,
"reindex_task_polling_interval": 60,
"starting_max_fields_per_index": 1000
}
}