- Data Mover デーモン
- Data Moverエージェント
- ユーザー インターフェース:
- グラフィック(Data Moverポートレット)
- コマンドライン
- RESTful API
Data Mover 展開オプション
- Teradata Multi-Purpose Server (TMS)
- Consolidated Teradata Multi-Purpose Server (CTMS)上の仮想マシン
- IntelliCloud
- Amazon Web Services
- Microsoft Azure
Data Moverデータ転送オプション
| ソース システム | ターゲット システム |
|---|---|
| Teradataオンプレミス | Teradataオンプレミス |
| Teradataオンプレミス | Hadoopオンプレミス |
| Hadoopオンプレミス | Teradataオンプレミス |
| パブリック クラウド(AWSおよびAzure)のTeradata | パブリック クラウド(AWSおよびAzure)のTeradata |
| Teradataオンプレミス | パブリック クラウド(AWSおよびAzure)のTeradata |
| パブリック クラウド(AWSおよびAzure)のTeradata | Teradataオンプレミス |
| Hadoopオンプレミス | パブリック クラウド(AWSおよびAzure)のTeradata |
| パブリック クラウド(AWSおよびAzure)のTeradata | Hadoopオンプレミス |
| Teradata IntelliCloud | パブリック クラウド(AWSおよびAzure)のTeradata |
| パブリック クラウド(AWSおよびAzure)のTeradata | Teradata IntelliCloud |
Data Moverデーモン
Teradata® Data Moverの主なコンポーネントは、次の処理を実行するData Moverデーモンです。
- いずれかのData Moverインターフェースからの着信リクエストを処理する
- Teradata Databaseシステムに対する指定されたオブジェクトに関する情報のクエリーの実行
- ジョブの仕様に基づいて、ソース システムからターゲット システムにオブジェクトをコピーするためのプランの生成
- Data Moverエージェントへの各ジョブの作業の配分
- ジョブ プランなどのジョブ情報および各ジョブ インスタンスによって生成された出力の取り込みおよび格納
- Teradata Ecosystem ManagerおよびServer Managementへのステータス情報の送信
Data Moverデーモンでは、小規模なTeradata Databaseを使用してジョブ情報とメタデータを格納します。Data Moverデーモン、Data Moverコマンドライン インターフェース、Data Moverエージェント、またはその他の外部コンポーネントとの間の通信はすべて、Java Message Service (JMS)バスを介して行なわれます。これらのコンポーネント間のメッセージは、すべてXML形式です。
Data Moverデーモンのタスクの1つは、ジョブのステータス情報をTeradata Ecosystem ManagerとServer Managementへ送信することです。これにより、危機的な障害を直ちにTeradataに報告できます。Data Moverデーモンでは、ポートレット インターフェース、およびコマンドライン インターフェースで開始されたジョブに関するTeradata Ecosystem Managerのイベント情報が生成されます。この製品が存在し、ユーザーがTeradata Ecosystem Managerへステータスを送信するようにData Moverを構成している場合、この送信が実行されます。
Data Moverデーモンのプロパティ ファイル
daemon.propertiesファイルには、Data Moverデーモンの構成プロパティが含まれています。
# Copyright (C) 2009-2020 by Teradata Corporation.
# All Rights Reserved.
# TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET
#----------------------------------------------------------------------------------------------
# File: "daemon.properties"
#
# Purpose: This file contains all of the properties used by the DM Daemon.
#
# Caution: Do not modify the property names/values in this file unless absolutely sure
# of the implications to the DM Daemon.
#
# Note: Any line of text in this document that begins with a '#' character is a comment and
# has no affect on the DM Daemon. However, comments should not be modified.
#
# All properties under LOGGING comment are used for logging purposes
#
#----------------------------------------------------------------------------------------------
# Purpose: The hostname or IP address of the machine running the
# Java Message Service (JMS) Message Broker.
# Default: localhost
# Other examples include:
# broker.url=10.0.1.199
# broker.url=hostname
# broker.url=[fe80::114:23ff:fe1d:32fb]
broker.url=localhost
# Purpose: The port number on the machine in which the
# Java Message Service (JMS) Message Broker is listening.
# Default: 61616
broker.port=61616
# Purpose: When set to true, a connection to a
# Secondary Java Message Service (JMS) Message Broker can be
# established in case the Primary Java Message Service (JMS) Broker fails.
# Default: false
cluster.enabled=false
# Purpose: The message time to live in milliseconds; zero is unlimited
# Be SURE to synchronize clocks of all dm hosts so messages do not expire unintentionally
# causing failed or hanging requests to Daemon.
# Default: 1 hr
jms.response.timetolive=3600000
# Purpose: A long-lived server port on the machine running the DM Daemon, which is used for inbound
# socket connections from DM Agents.
# Default: 25168
# Purpose: When set to true, Fatal Error messages can be sent to TVI
# Default: true
tvi.useLogger=true
# Purpose: Scripts are used to run to collect TVI diagnostic bundles file.
# DO NOT change this directory location.
tvi.diagnosticbundle.script.dir=/opt/teradata/datamover/support/diagnosticbundle
# Purpose: TVI diagnostic bundle files are saved to this directory
# This value need to be the same as SUPPORT_BUNDLE_DIR in /etc/opt/teradata/sm3g. sm3gnode.conf
tvi.diagnosticbundle.dir=/var/opt/teradata/datamover/support/diagnosticbundle
# Purpose: The maximum number of jobs allowed to run on the daemon at the same time.
# Additional jobs are placed on the queue and executed when slots become available
# Default: 20
jobExecutionCoordinator.maxConcurrentJobs=20
# Purpose: The maximum number of jobs allowed in the job queue.
# Additional jobs are placed in a higher level memory queue until slots are available in the job queue.
# Default: 20
jobExecutionCoordinator.maxQueuedJobs=20
# Purpose: The hostname or IP address for the ViewPoint Authentication server.
# Default: http://localhost
viewpoint.url=http://dm-vp1
# Purpose: The port number for the ViewPoint Authentication server.
# Default: 80
viewpoint.port=80
# Purpose: The hostname and IP address for the Querygrid Manager servers.
# Support clustered QueryGrid managers, could have upto 2 urls, separate by comma.
# e.g querygrid.manager.urls=https://host1:9443,https://host2:9443
# Default: https://localhost:9443
querygrid.manager.urls=https://localhost:9443
#----------------------LOGGING-------------------------------
# Purpose: Set Logging level to info. User has 6 options.
# From most amount of logging to least: trace < debug < info < warn < error < fatal
rootLogger.level=info
# Purpose: Informs the logging application to use a specific appender and it's properties. DO NOT CHANGE
appender.rolling.type=RollingFile
appender.rolling.name=RollingFile
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d [%t] %-5p %c{3}(%L) - %m%n
appender.rolling.policies.type=Policies
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
appender.rolling.strategy.type=DefaultRolloverStrategy
logger.rolling.name=com.teradata
logger.rolling.appenderRef.rolling.ref=RollingFile
# Purpose: Allow's user the ability to change the location of the log file.
# If changing log file location, please give the absolute path of the file;
# for example, /var/log/dmAgent.log
# for windows os: use slash instead of back slash:
# For Example: C:/Program File/Teradata/Log/dmDaemon.log
appender.rolling.fileName=/var/opt/teradata/datamover/logs/dmDaemon.log
appender.rolling.filePattern=/var/opt/teradata/datamover/logs/dmDaemon.log.%i
# Purpose: The max size of the logging file before being rolled over to backup files.
appender.rolling.policies.size.size=20MB
# Purpose: The number of backup logging files created, after the max number, the oldest file is erased.
appender.rolling.strategy.max=5
service_user=dmuser
# Purpose: Data Mover Rest Interface for DSA job status notification
dm.rest.endpoint=https://localhost:1443/datamover
# Purpose: DSA Rest Interface for DSA job status notification
dsa.rest.endpoint=https://localhost:9090/dsa
#------------------------------------------------------------
Data Moverエージェント
Data MoverデーモンはData Moverエージェントを使用して各Data Moverジョブの作業を実行するため、少なくとも1つのエージェントが必要です。 複数のエージェントでタスクを並列に実行し、パフォーマンスを高めることができます。パフォーマンスを最大化するには、各エージェントをData Moverデーモンのサーバーとは別のそれぞれのサーバー上に配置することを推奨します。ただし、これは必須要件ではありません。Data Moverエージェントは、Data Moverデーモンと同じサーバー上で実行できます。
Data Moverデーモンは作業を複数のタスクに分割し、次に使用できるData MoverエージェントのためにJMSキュー上にタスクを配置します。Data Moverエージェントでは、次のユーティリティのいずれか1つを使用してタスクを実行してから、その次のタスクの受信をキュー上で待機します。
- Data Stream Architecture (DSA)
- Teradata Parallel Transporter (TPT) API
- Teradata JDBC Driver
- QueryGrid
- Hadoop(TDCH)のTeradataコネクタ
Data Moverエージェントのプロパティ ファイル
agent.propertiesファイルには、Data Moverエージェントの構成プロパティが含まれています。
# Copyright (C) 2009-2020 by Teradata Corporation.
# All Rights Reserved.
# TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET
#----------------------------------------------------------------------------------------------
# File: "agent.properties"
#
# Purpose: This file contains all of the properties used by the DM Agent.
#
# Caution: Do not modify the property names/values in this file unless absolutely sure
# of the implications to the DM Agent.
#
# Note: Any line of text in this document that begins with a '#' character is a comment and
# has no affect on the DM Agent. However, comments should not be modified.
#
# All properties under LOGGING Comment are used for logging purposes
#
#----------------------------------------------------------------------------------------------
# Purpose: The Agent Identifier
# Default: Agent1
agent.id=Agent1
# Purpose: The hostname or IP address of the machine running the
# Java Message Service (JMS) Message Broker.
# Default: localhost
broker.url=localhost
# Purpose: The port number on the machine in which the
# Java Message Service (JMS) Message Broker is listening.
# Default: 61616
broker.port=61616
# Purpose: When set to true, a connection to a
# Secondary Java Message Service (JMS) Message Broker can be
# established in case the Primary Java Message Service (JMS) Broker fails.
# Default: false
cluster.enabled=false
# Purpose: Port that will be used by ARC
# Default: 25268
# Purpose: The maximum number of tasks allowed to run on this agent at the same time.
# This property has the side-effect of reducing parallelism among multiple Agents if
# set too high, because one Agent will grab all the tasks on the queue
# Default: 5
agent.maxConcurrentTasks=5
#When set to true, Fatal Error messages can be sent to TVI
tvi.useLogger=true
# Purpose: Scripts are used to run to collect TVI diagnostic bundles file.
# DO NOT change this directory location.
tvi.diagnosticbundle.script.dir=/opt/teradata/datamover/support/diagnosticbundle
# Purpose: TVI diagnostic bundle files are saved to this directory
# This value need to be the same as SUPPORT_BUNDLE_DIR in /etc/opt/teradata/sm3g. sm3gnode.conf
tvi.diagnosticbundle.dir=/var/opt/teradata/datamover/support/diagnosticbundle
#----------------------LOGGING-------------------------------
# Purpose: Set Logging level to info. User has 6 options.
# From most amount of logging to least: trace < debug < info < warn < error < fatal
rootLogger.level=info
# Purpose: Informs the logging application to use a specific appender and it's properties. DO NOT CHANGE
appender.rolling.type=RollingFile
appender.rolling.name=RollingFile
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d [%t] %-5p %c{3}(%L) - %m%n
appender.rolling.policies.type=Policies
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
appender.rolling.strategy.type=DefaultRolloverStrategy
logger.rolling.name=com.teradata
logger.rolling.appenderRef.rolling.ref=RollingFile
# Purpose: Allow's user the ability to change the location of the log file.
# If changing log file location, please give the absolute path of the file;
# for example, /var/log/dmAgent.log
# for windows os: use slash instead of back slash:
# For Example: C:/Program File/Teradata/Log/dmAgent.log
appender.rolling.fileName=/var/opt/teradata/datamover/logs/dmAgent.log
appender.rolling.filePattern=/var/opt/teradata/datamover/logs/dmAgent.log.%i
# Purpose: The max size of the logging file before being rolled over to backup files.
appender.rolling.policies.size.size=10MB
# Purpose: The number of backup logging files created, after the max number, the oldest file is erased.
appender.rolling.strategy.max=3
service_user=dmuser
#------------------------------------------------------------
Data Moverポートレット
Data Moverポートレットを使用すると、Teradata Databaseシステム間でデータベース オブジェクトをコピーするジョブを、グラフィカルユーザー インターフェースでセットアップ、起動、編集および監視することができます。Data Moverポートレットのインターフェースは使いやすく、直感的であるため、ソース システムのデータベース階層内でコピーするオブジェクトを参照し、ジョブ定義を作成することにより、Data Moverでのコピー タスクを簡単に実行することができます。ポートレットを使用すると、XMLパラメータ ファイルを編集する必要も、一般的なコマンドの構文を覚える必要もなくなります。Data Moverポートレットを使用するには、Teradata Viewpointがインストールされている必要があります。
コマンドライン インターフェース
コマンドライン インターフェースには、ジョブを作成、実行、モニター、更新、編集、および削除できるようにするデーモン、エージェント、およびジョブ操作コマンドを含めて、Data Moverシステムのセットアップや構成を可能にするセットアップ コマンドが用意されています。セットアップ コマンドには、Data Moverセットアップ ポートレットで提供される機能に対応する機能があります。ジョブ管理コマンドには、Data Moverポートレットで提供される機能に対応する機能があります。コマンドおよび有効なパラメータのリストについては、Data Moverコマンドについてを参照してください。
インターフェースの各コマンドを操作するには、一連のパラメータを指定する必要があります。これらのパラメータは、コマンドライン引数の一部としてリストするか、またはXMLドキュメント内で指定することができます。同じパラメータがコマンドラインとXMLファイルで定義されている場合は、コマンドラインが優先されます。コマンドライン インターフェースでは、複数のインスタンスを使用することができます。
RESTful API
RESTful APIには、コマンドライン インターフェースと似た機能があります。RESTful APIには、標準RESTクライアントを使用してサードパーティのサーバーまたはTeradataサーバーからアクセスできます。これらのAPIでは、プログラム的な方法によってジョブを作成、実行、モニター、更新、編集、停止、クリーンアップ、および削除することができます。詳細については、Data Mover RESTful APIを参照してください。