データ管理機能の並列分散処理をインストールする前の準備作業について説明します。
各サーバで必要な作業を以下に示します。
設定順序/設定項目 | サーバ種別 | ||||
---|---|---|---|---|---|
マスタサーバ | スレーブ | 開発実行 | |||
プライマリ | セカンダリ | ||||
1 | ○ | ○ | ○ | ○ | |
2 | ○ | ○ | ○ | ○ | |
3 | ○ | ○ | ○ | ○ | |
4 | ○ | ○ | ○ | ○ | |
5 | ○ | ○ | ○ | ○ | |
6 | ○ | ○ | ○ | ○ | |
7 | ○ | ○ | ○ | ○ | |
8 | ○ | ○ | ○ | ○ | |
9 | ○ | ○ | ― | ― | |
10 | ○ | ○ | ○ | ○ | |
11 | ○ | ○ | ○ | ○ | |
12 | ○ | ○ | ○ | ○ |
○:作業あり
―:作業無し
各サーバのBIOS設定を以下のように設定する必要があります。
マスタサーバ、スレーブサーバ、および開発実行環境サーバのハイパースレッディング機能を無効化してください。
ポイント
ハイパースレッディング機能によってパフォーマンスが向上することは、必ずしも保証されていません。そのため、本機能ではハイパースレッディングを無効にした条件下で Apache Hadoopのパラメーターを最適化します。
Apache Hadoopのパラメーターの詳細は、“分散処理編 ユーザーズガイド”の“Hadoop設定パラメーター”を参照してください。
仮想環境に導入する場合は、ホストマシンのシステム BIOS を設定します。
SELinux(Security-Enhanced Linux)機能が有効に設定されている Linux 環境には、本機能をインストールすることができません。
本機能をインストールするには、SELinux 機能を無効に設定してから、本機能をインストールしてください。
参照
SELinux機能を無効に設定する方法は、Linuxのオンラインマニュアルなどを参照してください。
システムパラメーターのチューニングを行う必要があります。
以下の手順でシステムパラメーターのチューニングを実施してください。
以下のコマンドを使用して、現在システムに設定されている該当するパラメーターの設定値を確認します。
# /sbin/sysctl -a <Enter>
例
# /sbin/sysctl -a <Enter> ・・・ 省略 ・・・ kernel.sem = 250 32000 32 128 kernel.msgmnb = 4194304 kernel.msgmni = 8192 kernel.msgmax = 65536 kernel.shmmni = 4096 kernel.shmall = 4294967296 kernel.shmmax = 68719476736 ・・・ 省略 ・・・
“3.1.1.3.5 システムパラメーター”を参照し、現在の設定値と比較を行い、パラメーターごとに最大/加算の種別を考慮して、適切な設定値を算出します。
ポイント
パラメーターの “種別”により、以下のように設定してください。
種別が“最大”の場合
すでに設定されている値(初期値または以前の設定値)がパラメーターの“設定値(チューニング値)”以上の場合は変更不要です。チューニング値より小さい場合は、チューニング値に変更してください。
種別が“加算” の場合
すでに設定されている値(初期値または以前の設定値)にパラメーターの“設定値(チューニング値)”を加算してください。加算する前にシステム上限値を確認し、加算した値がシステム上限値を超える場合は、システム上限値を設定してください。
詳細については、OSのマニュアルなどを参照してください。
/etc/sysctl.conf を編集します。以下の例のように編集します。
例
kernel.sem = 250 32011 32 130 kernel.shmmni = 4096 kernel.msgmnb = 4194304 kernel.msgmni = 8192
/etc/sysctl.conf へ編集内容が反映されていることを、以下のコマンドで確認します。
# /bin/cat /etc/sysctl.conf <Enter>
3.の設定を有効にするために、次のどちらかの方法を実行します。
システムを再起動して設定を反映
# /sbin/shutdown -r now <Enter>
/sbin/sysctl -p を使用して設定を反映
# /sbin/sysctl -p /etc/sysctl.conf <Enter> (注)
注) このコマンドを使用した場合は、システムの再起動は必要ありません。
設定したシステムパラメーターが反映されていることを、以下のコマンドの出力で確認します。
# /sbin/sysctl -a <Enter>
例
# /sbin/sysctl -a <Enter> ・・・ 省略 ・・・ kernel.sem = 250 32002 32 130 kernel.msgmnb = 4194304 kernel.msgmni = 8192 kernel.msgmax = 65536 kernel.shmmni = 4096 kernel.shmall = 4294967296 kernel.shmmax = 68719476736 ・・・ 省略 ・・・
ファイアーウォール機能を利用している環境に本機能をインストールする場合には、ファイアーウォール機能に対して必要な通信(ポート)を許可する必要があります。
ファイアーウォール機能に対して必要な通信(ポート)を許可する方法については、OSのマニュアルを参照してください。
本機能が使用するポートについては、以下を参照し、接続を許可する必要があります。
“分散処理編 ユーザーズガイド”の“ポート一覧”
“EDI連携/DB連携編 ユーザーズガイド”の“ポート一覧”
マスタサーバ、スレーブサーバおよび開発実行環境サーバにおいて、Apache Hadoopで使用するホスト名の設定が必要です。hostsファイルに、各サーバの業務 LAN に接続するNICに対応するホスト名を記述してください。
/etc/hosts
hostsファイルの詳細については、オンラインマニュアルページを参照してください。
ポイント
マスタサーバを二重化構成とする場合は、マスタサーバ(プライマリ)とマスタサーバ(セカンダリ)のhostsファイルの内容を一致させてください。
スレーブサーバ、開発実行環境サーバのhostsファイルに記述するホスト情報は、マスタサーバで追加したホスト名を設定してください。
マスタサーバ、スレーブサーバ、および開発実行環境サーバの業務 LAN に接続するNICに対応するホスト名は、サーバ名と一致させてください。詳しくは、“4.1.2.6 サーバ名の設定”を参照してください。
EDI連携機能、DB連携機能を使用する場合は、開発実行環境サーバの業務LANに接続するNICに対応するホスト名は、20文字以内に設定する必要があります。
注意
hosts ファイルにローカルホストを登録する場合、以下に注意してください。
“127.0.0.1”にローカルホスト名を設定する場合、必ずリモートから参照可能なIPアドレスを先に記述してください。または、“127.0.0.1”にはローカルホスト名を設定しないでください。
ホスト名にエイリアス名は設定しないでください。
例
各サーバの業務 LAN に接続するNICに割り当てる IP アドレスとホスト名の設定例:
| :10.10.10.11 | :master1 |
| :10.10.10.12 | :master2 |
| :10.10.10.21 ~ 10.10.10.25 | :slave1 ~ slave5 |
| :10.10.10.30 | :develop |
マスタサーバの hosts ファイルには以下のように設定します。
10.10.10.11 master1 10.10.10.12 master2 127.0.0.1 localhost.localdomain localhost 10.10.10.21 slave1 10.10.10.22 slave2 10.10.10.23 slave3 10.10.10.24 slave4 10.10.10.25 slave5 10.10.10.30 develop
サーバ名(hostname コマンドなどで出力されるシステムのホスト名)は、業務 LAN に接続する NIC に対応するホスト名と同じである必要があります。
異なる場合は、以下の手順でホスト名の設定をしてください。
hostnamectlコマンドでホスト名の設定をしてください。
例
サーバ名を変更する場合は、hostnamectlコマンドを使用します。
# hostnamectl set-hostname master1 <Enter>
各サーバの業務LANのネットワークインターフェースは、本機能を導入する前に、IPアドレスが設定されており、かつ、活性状態である必要があります。
対象となるネットワークインターフェースの状態を ifconfigコマンド、ipコマンドで確認して、未設定および未活性の状態であれば、IPアドレスの設定および活性化を行ってください。
例
# ip a show ens192 <Enter> 3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:af:5f:c4 brd ff:ff:ff:ff:ff:ff inet 192.168.1.192/24 brd 192.168.1.255 scope global ens192 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feaf:5fc4/64 scope link valid_lft forever preferred_lft forever
マスタサーバ、スレーブサーバおよび開発実行環境サーバのシステム時刻は、NTP(Network Time Protocol)を使用し、同じ時刻に同期するように設定してください。
マスタサーバは自身を含むすべてのサーバに対してパスワードなしで ssh の通信ができるように設定する必要があります。
また、マスタサーバを二重化構成にする場合、マスタサーバ(プライマリ)とマスタサーバ(セカンダリ)間でパスワードなしでsshの通信ができるように設定する必要があります。
マスタサーバ(プライマリ)およびマスタサーバ(セカンダリ)において、それぞれ公開鍵を作成してroot権限でパスワードなしで ssh 接続できるようにしてください。
参照
公開鍵の作成については、ssh-keygen コマンドのヘルプを参照してください。
注意
本機能のApache Hadoopの起動・停止などを行う場合、Apache Hadoopはssh経由にて通信を行います。
各サーバ間のssh接続の有無について、以下に示します。
接続元 | 接続先サーバ | ||||
---|---|---|---|---|---|
マスタサーバ | スレーブ | 開発実行 | |||
プライマリ | セカンダリ | ||||
マスタサーバ | プライマリ | ○(注1) | ○(注1) | ○(注1) | ○(注1) |
セカンダリ | ○(注1) | ○(注1) | ○(注2) | ○ | |
スレーブサーバ | × | × | × | × | |
開発実行環境サーバ | × | × | × | × |
○:root 権限で ssh 接続を行う
×:ssh 接続は行わない
注1) パスワードなしで ssh 接続できるように設定する必要があります。
注2) Apache Hadoopの起動・停止ではマスタサーバからスレーブサーバに対してssh経由で通信を行うため、パスワードなしでssh接続できるように設定していない場合はスレーブサーバの数だけパスワードの入力が必要となります。
構築対象のすべてのサーバにおいて、sshのパスワード認証方式を有効にする必要があります。
環境構築完了後は元の値に戻してください。
以下に設定方法の例を記載します。詳細はOSのマニュアルを参照してください。
/etc/ssh/sshd_configファイルを編集します。以下の例のように編集します。
PasswordAuthentication=yes
設定を反映するためにsshdデーモンを再起動します。
# systemctl restart sshd <Enter>
環境構築完了後にパスワード認証方式を無効にする場合は、手順1.の値“yes”を“no”に変更して手順2.を行ってください。
マスタサーバ、スレーブサーバおよび開発実行環境サーバに対して、関連ソフトウェアであるJREまたはJDKをインストールしてください。JREまたはJDKはすべてのサーバでインストール先ディレクトリを一致させてください。
関連ソフトウェアについては、“3.2.3 関連ソフトウェア”を参照してください。
マスタサーバ、スレーブサーバおよび開発実行環境サーバに対して、環境変数 JAVA_HOMEにJREまたはJDKをインストールしたディレクトリを設定し、“4.2 初期インストール”の直前に有効になるようにしてください。
例
JREのインストールパスが /usr/lib/jre8 ディレクトリの場合
bash、BシェルまたはKシェルの場合
JAVA_HOME=/usr/lib/jre8 ; export JAVA_HOME
Cシェルの場合
setenv JAVA_HOME /usr/lib/jre8