Hitachi

HiRDB データ連動機能 HiRDB Datareplicator Version 10


2.5.1 抽出側Datareplicatorの通信環境の設定

抽出側Datareplicatorの通信環境の設定内容と設定例を説明します。

〈この項の構成〉

(1) 抽出側Datareplicatorの通信環境の設定内容

抽出側Datareplicatorの通信環境の設定内容を次の表に示します。

表2‒12 抽出側Datareplicatorの通信環境の設定内容

通信環境

設定内容

設定するサーバマシン

抽出側HiRDBがシングルサーバの場合

抽出側HiRDBがパラレルサーバの場合

/etc/services

反映側システムとの通信で使うサービス名ポート番号※1を指定します。ここで指定したサービス名を送信環境定義のhdeserviceオペランドで指定します。ポート番号は,反映側システムと同じにしてください。

SDS

BES

抽出マスタプロセスと抽出ノードマスタプロセスとの通信で使うサービス名ポート番号※1を指定します。ここで指定したサービス名を抽出システム定義のmstserviceオペランドで指定します。ポート番号は,システムマネジャのサーバとバックエンドサーバのサーバとで同じにしてください。

SDS

MGR,BES※2

/etc/hosts

反映側システムとの通信で使うIPアドレスホスト名を指定します。ここで指定したホスト名を送信環境定義のhdehostオペランドで指定します。

SDS

BES

/etc/inetd.conf

適応OSがAIX,LinuxのRHEL8以前の場合に設定します。

抽出ノードマスタプロセスを起動するためのエントリを登録します。

SDS

MGR,BES

ユニットファイル

適応OSがLinuxのRHEL9以降の場合,次の2つのユニットファイルを作成します。

/etc/systemd/system/unit_name.socket

/etc/systemd/system/unit_name@.service

これらはsystemdを使用して抽出ノードマスタプロセスを起動するためのファイルです。

各ファイルの名称のunit_name部分は任意の文字列を指定します。

作成したユニットファイルを使用してユニットを起動してください。なお,ユニットファイル及びコマンドの詳細はOSのマニュアルを参照してください。

SDS

MGR,BES

(凡例)

SDS:抽出側HiRDBでシングルサーバを定義したサーバマシン

MGR:抽出側HiRDBでシステムマネジャを定義したサーバマシン

BES:抽出側HiRDBでバックエンドサーバ(抽出対象のDBがないバックエンドサーバも含む)を定義したサーバマシン

注※1

既にservicesファイルに登録してあるポート番号や,ほかのソフトウェアで使うポート番号は指定できません。

注※2

抽出側HiRDBでシステムマネジャを定義したサーバマシン,及びバックエンドサーバを定義したすべてのサーバマシンに対して設定します。

(2) 抽出側Datareplicatorの通信環境の設定例

抽出側Datareplicatorの通信環境の設定例を説明します。

(a) 抽出側Datareplicatorでの/etc/servicesの設定例

/etc/servicesにサービス名とポート番号を設定する例を次に示します。

     サービス名 ポート番号/tcp

注 下線部分は固定の値です。

  • サービス名

    ユーザ任意の名称を指定します。

  • ポート番号

    通信環境内で統一した値を指定します。ただし,ほかのサービスで使っていない値を指定してください。

(b) 抽出側Datareplicatorでの/etc/hostsの設定例

/etc/hostsにIPアドレスとホスト名を設定する例を次に示します。

     IPアドレス ホスト名
  • IPアドレス

    ユーザ任意のアドレスを指定します。

  • ホスト名

    ユーザ任意の名称を指定します。

(c) 抽出側Datareplicatorでの/etc/inetd.confの設定例

/etc/inetd.confに抽出ノードマスタプロセスを起動するためのエントリを登録する例を次に示します。

AIX版の場合
hdemaster stream tcp nowait user1 /bin/env env [EXTSHM=ON] PSALLOC=early
NODISCLAIM=true
 [LDR_CNTRL=MAXDATA=0x………] /opt/hirdbds/lbin/hdenodemst

下線部分は固定の値です。

なお,/etc/inetd.confの設定の変更を有効にするには,次のコマンドを実行してください。

  • kill -HUP inetdのプロセスID

Linux版の場合

Linux版の場合,/etc/inetd.confを/etc/xinetd.confに,inetdプロセスをxinetdプロセスに読み替えてください。

Linux版の場合,次のどちらかの方法で設定します。

  • /etc/xinetd.confファイルに記述する。

  • /etc/xinetd.dディレクトリにファイルを作成し登録する。

次に設定例を示します。下線部分をお使いの環境に合わせて修正してください。

service hdemaster
{
    socket_type     = stream
    protocol        = tcp   
    wait            = no    
    user            = user1
    server          = /opt/hirdbds/lbin/hdenodemst
}

設定の変更を有効にするには,次のコマンドを実行してください。

  • /sbin/service xinetd reload

  • hdemaster

    抽出システム定義のmstserviceで指定するサービス名を指定します。

  • user1

    抽出側HiRDBのユーザと同じグループに属する,抽出側Datareplicatorの初期化(hdestart -iコマンド)を実行するユーザ名を指定します。

(d) 抽出側Datareplicatorでのユニットファイルの設定例及びユニットの起動手順

  1. /etc/systemd/system/unit_name.socketを設定します。

    ファイル名を/etc/systemd/system/hdemaster.socketにした場合の設定例を示します。下線部分をお使いの環境に合わせて修正してください。

    [Unit]
    Description=hdemaster Socket
     
    [Socket]
    ListenStream=51000
     
    Accept=true
     
    [Install]
    WantedBy=sockets.target
    • hdemaster Socket

      任意の文字列を指定します。ここで指定した内容がsystemctl status コマンドの出力に表示されます。

    • 51000

      ポート番号です。/etc/servicesファイルに記載した抽出マスタプロセスと抽出ノードマスタプロセスとの通信で使うサービスのポート番号を指定します。

  2. /etc/systemd/system/unit_name@.serviceを設定します。

    ファイル名を/etc/systemd/system/hdemaster@.serviceにした場合の設定例を示します。下線部分をお使いの環境に合わせて修正してください。

    [Unit]
    Description=hdemaster Service
     
    [Service]
    ExecStart=/opt/hirdbds/lbin/hdenodemst
    User=user1
     
    StandardInput=socket
    • hdemaster Service

      任意の文字列を指定します。ここで指定した内容がシステムログファイルに表示されます。

    • user1

      抽出側HiRDBのユーザと同じグループに属するユーザ名を指定します。

  3. ユニットを起動します。

    ユニットファイルunit_name.socket及びunit_name@.serviceを作成した場合は,次の表の1,2,3の手順でユニットを起動してください。また,ユニット起動確認を行う場合は次の表の4の手順を実行してください。unit_name.socketファイルとunit_name@.serviceファイルの設定内容を変更した場合は,次の表の1,5の手順でユニットの再起動を行ってください。次の表のコマンド例については,下線部のhdemaster.socket部分は作成したunit_name.socketファイル名を指定してください。

    手順

    手順内容

    コマンド例

    1

    ユニットファイルの再読み込み

    # systemctl daemon-reload

    2

    ユニットの有効化

    # systemctl enable hdemaster.socket

    3

    ユニットの起動

    # systemctl start hdemaster.socket

    4

    ユニットの起動確認

    # systemctl status hdemaster.socket

    5

    ユニットの再起動

    # systemctl restart hdemaster.socket

    手順4のユニット起動確認の表示例を次に示します。起動中の場合はActiveの値に,"active"と表示されます。

    #systemctl status hdemaster.socket
    * hdemaster.socket - hdemaster Socket
      Loaded: loaded (/etc/systemd/system/hdemaster.socket; enabled;vendor preset: disabled)
      Active: active (listening) since Wed 2023-04-26 11:10:22 JST; 1 week 6 days ago
      Until: Wed 2023-04-26 11:10:22 JST; 1 week 6 days ago Listen: [::]:51000 (Stream)
     Accepted: 0; Connected: 0;
        :

    停止中の場合はActiveの値に,"inactive"と表示されます。

    #systemctl status hdemaster.socket
    * hdemaster.socket - hdemaster Socket
      Loaded: loaded (/etc/systemd/system/hdemaster.socket; disabled; vendor preset: disabled)
      Active: inactive (dead)
      Listen: [::]:51000 (Stream)
     Accepted: 0; Connected: 0;
        :