4. 運用手順

4.1. HDFSクラスターを起動する

本節では、HDFSの2回目以降の起動方法について説明します。

初回起動時は 初期設定 および 初回起動 を参照してください。

以下の手順はgriddataユーザーで実行してください。

(1)SERVER1、SERVER2、SERVER3で、ZooKeeperを起動します。

$ cd /home/griddata/griddata-core/zookeeper/logs
$ zkServer.sh start

(2)NameNode(Active)が起動するサーバー(SERVER1)で、HDFSを起動します。

$ start-dfs.sh

(3)NameNode(Active)が起動するサーバー(SERVER1)で、NameNodeの状態を確認します。

$ hdfs haadmin -getServiceState namenode1
active
$ hdfs haadmin -getServiceState namenode2
standby

注釈

HDFSの起動のタイミングによってはNameNodeが以下の状態になることがあります。

$ hdfs haadmin -getServiceState namenode1
standby
$ hdfs haadmin -getServiceState namenode2
active

SERVER1をActiveにする場合は、SERVER2で以下のようにNameNodeの再起動を行ってください。

$ hadoop-daemon.sh stop namenode
$ hadoop-daemon.sh start namenode

以上でHDFSの起動は完了です。

4.2. HDFSクラスターを停止する

マスター・ノード(SERVER1またはSERVER2)から、griddataユーザーで以下のコマンドを実行します。

$ stop-dfs.sh

以上でHDFSの停止は完了です。

4.3. YARNクラスターを起動する

本節では、YARNの2回目以降の起動方法について説明します。

初回起動時は 初期設定 および 初回起動 を参照してください。

以下の手順はgriddataユーザーで実行してください。

(1)ResourceManager(Active)が起動するサーバー(SERVER2)で、YARNを起動します。

$ start-yarn.sh

(2)ResourceManager(Standby)が起動するサーバー(SERVER3)で、ResourceManagerを起動します。

$ yarn-daemon.sh start resourcemanager

(3)ResourceManager(Active)が起動するサーバー(SERVER2)で、ResourceManagerの状態を確認します。

$ yarn rmadmin -getServiceState rm1
active
$ yarn rmadmin -getServiceState rm2
standby

注釈

YARNの起動のタイミングによってはResourceManagerが以下の状態になることがあります。

$ yarn rmadmin -getServiceState rm1
standby
$ yarn rmadmin -getServiceState rm2
active

SERVER2をActiveにする場合は、SERVER3で以下のようにResourceManagerの再起動を行ってください。

$ yarn-daemon.sh stop resourcemanager
$ yarn-daemon.sh start resourcemanager

以上でYARNの起動は完了です。

4.4. YARNクラスターを停止する

以下の手順はgriddataユーザーで実行してください。

(1)マスター・ノード(SERVER2またはSERVER3)で、以下のコマンドを実行します。

$ stop-yarn.sh

(2)ResourceManager(Standby)が起動するサーバーでResourceManagerを停止します。

$ yarn-daemon.sh stop resourcemanager

以上でYARNの停止は完了です。

4.5. Hiveサービスを起動する

本項では、Hiveサービスの起動方法について説明します。

初回起動時は 初期設定 および 初回起動 を参照してください。

以下の手順はgriddataユーザーで実行してください。

(1)マスター・ノード(SERVER1とSERVER3)で、HiveMetastoreサーバーを起動します。

$ hive --service metastore &

(2)マスター・ノード(SERVER1とSERVER3)で、HiveServer2を起動します。

$ hive --service hiveserver2 &

以上でHiveサービスの起動は完了です。

4.6. Hiveサービスを停止する

以下の手順はgriddataユーザーで実行してください。

(1)マスター・ノード(SERVER1、SERVER2)で、HiveServer2を停止します。

$ kill -9 ${HiveServer2のPID}

(2)マスター・ノード(SERVER1、SERVER2)で、HiveMetastoreサーバーを停止します。

$ kill -9 ${HiveMetastoreのPID}

以上でHiveサービスの停止は完了です。

4.7. HistoryServerを起動する

本項では、SparkのHistoryServerの起動方法について説明します。

初回起動時は 初期設定 および 初回起動 を参照してください。

以下の手順はgriddataユーザーで実行してください。

マスター・ノード(SERVER1、SERVER2、SERVER3)で、HistoryServerを起動します。

$ /home/griddata/griddata-core/spark/sbin/start-history-server.sh

以上でHistoryServerの起動は完了です。

4.8. HistoryServerを停止する

以下の手順はgriddataユーザーで実行してください。

マスター・ノード(SERVER1、SERVER2、SERVER3)で、HistoryServerを停止します。

$ /home/griddata/griddata-core/spark/sbin/stop-history-server.sh

以上でHistoryServerの停止は完了です。

4.9. ZooKeeperを停止する

SERVER1、SERVER2、SERVER3からgriddataユーザーで、以下のコマンドを実行します。

$ zkServer.sh stop

以上でZooKeeperの停止は完了です。

注釈

ZooKeeperはHDFSのNameNodeやYARNのResourceManager、HiveServer2を二重化し、 HA(High Availability)の構成を行う際の管理用ソフトフェアです。 そのため、HDFSやYARN、Hiveが起動した状態ではZooKeeperを停止しないでください。

4.10. クラスターを縮退する

本項では、クラスターを縮退させ、スレーブ・ノードSERVER6を一時的に離脱させる場合を説明します。

以下の手順はgriddataユーザーで実行してください。

(1)マスター・ノード(SERVER1、SERVER2、SERVER3)で、エクスクルードファイル($HADOOP_HOME/conf/hosts.exclude)に縮退するスレーブ・ノード(SERVER6)のホスト名を追記します。

エクスクルードファイルがない場合、新たにファイルを作成してください。

SERVER6

(2)HDFSの設定ファイル($HADOOP_HOME/conf/hdfs-site.xml)を開き、HDFSのレプリケーション数のパラメーターの設定値(dfs.replication)を確認します。

もし、縮退したあとのDataNode数よりも大きな値になっている場合、縮退したあとのDataNode数以下の値に変更してください。

なお、dfs.replicationが記述されていない場合、デフォルト値の3になります。

(3)NameNode(Active)が起動しているサーバー(SERVER1またはSERVER2)で以下のコマンドを実行し、HDFSのクラスター構成情報を更新します。

$ hdfs dfsadmin -refreshNodes

以下のコマンドを実行し、縮退するスレーブ・ノード(SERVER6)のDecommission StatusがDecommisionedになっていることを確認します。

$ hdfs dfsadmin -report

(4)縮退するスレーブ・ノード(SERVER6)で、DataNodeを停止します。

$ hadoop-daemon.sh stop datanode

(5)ResourceManager(Active)が起動するサーバー(SERVER2またはSERVER3)で以下のコマンドを実行し、YARNのクラスター構成情報を更新します。

$ yarn rmadmin -refreshNodes

縮退するスレーブ・ノード(SERVER6)でNodeManagerが停止していることを確認します。

$ jps

以上でクラスターの縮退は完了です。

4.11. クラスターにノードを復帰させる

本項では、縮退中のスレーブ・ノードSERVER6をクラスターに復帰させる場合を説明します。

以下の手順はgriddataユーザーで実行してください。

(1)マスター・ノード(SERVER1、SERVER2、SERVER3)で、エクスクルードファイル($HADOOP_HOME/conf/hosts.exclude)から 縮退中のサーバーのホスト名(SERVER6)を削除します。

(2)NameNode(Active)が起動しているサーバー(SERVER1またはSERVER2)で以下のコマンドを実行し、HDFSのクラスター構成情報を更新します。

$ hdfs dfsadmin -refreshNodes

(3)縮退中のサーバー(SERVER6)で、DataNodeを起動します。

$ hadoop-daemon.sh start datanode

(4)ResourceManager(Active)が起動しているサーバー(SERVER2またはSERVER3)で以下のコマンドを実行し、YARNのクラスター構成情報を更新します。

$ yarn rmsadmin -refreshNodes

(5)縮退中のサーバー(SERVER6)で、NodeManagerを起動します。

$ yarn-daemon.sh start nodemanager

以上でノードの復帰は完了です。

4.12. クラスターにノードを増設する

本項では、ホスト名SERVER7、IPアドレス10.0.0.8のサーバーをスレーブ・ノードとして増設する場合を説明します。

(1)すべてのサーバーで、増設するスレーブ・ノード(SERVER7)のホスト名とIPアドレスを/etc/hostsファイルに登録します。

# echo '10.0.0.8    SERVER7' >> /etc/hosts

(2)、(3)、(4)は増設するスレーブ・ノード(SERVER7)で実施してください。

(2)/etc/hostsを編集し、GridData Lake Serverをインストールするすべてのサーバーのホスト名とIPアドレスを追加します。

10.0.0.1                SERVER0
10.0.0.2                SERVER1
10.0.0.3                SERVER2
10.0.0.4                SERVER3
10.0.0.5                SERVER4
10.0.0.6                SERVER5
10.0.0.7                SERVER6
10.0.0.8                SERVER7

(3)griddataユーザを作成します。パスワードは任意に設定してください。

# adduser griddata
# passwd griddata

以下の手順はgriddataユーザーで実行してください。

(4)SSHの設定

(4-1)増設するスレーブ・ノード(SERVER7)で、ssh-keygenコマンドにより鍵を生成します。このとき、passphraseには何も入力せずにEnterを押します。

$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/griddata/.ssh/id_dsa):
Created directory '/home/griddata/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/griddata/.ssh/id_dsa.
Your public key has been saved in /home/griddata/.ssh/id_dsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx griddata@SERVER4

(4-2)鍵が生成されたことを確認します。

$ ls -l ~/.ssh
-rw-------. 1 griddata griddata 668  m月 dd hh:mm yyyy id_dsa
-rw-r--r--. 1 griddata griddata 605  m月 dd hh:mm yyyy id_dsa.pub

(4-3)生成された鍵のうち、公開鍵ファイル「~/.ssh/id_dsa.pub」の内容を「~/.ssh/authorized_keys」ファイルに追加します。

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

(4-4)SSHで自分自身にパスフレーズなしでログインできることを確認します。

$ ssh ${hostname}
Last login: ddd mm dd hh:mm:ss yyyy from SERVER7
$ exit
logout
Connection to SERVER7 closed.

(5)マスター・ノード(SERVER1、SERVER2、SERVER3)から、公開鍵ファイル「~/.ssh/id_dsa.pub」を増設するスレーブ・ノード(SERVER7)に配付します。

SERVER1では以下のコマンドを実行します。

$ cd ~
$ scp ~/.ssh/id_dsa.pub griddata@SERVER7:SERVER1_id_dsa.pub

SERVER2では以下のコマンドを実行します。

$ cd ~
$ scp ~/.ssh/id_dsa.pub griddata@SERVER7:SERVER2_id_dsa.pub

SERVER3では以下のコマンドを実行します。

$ cd ~
$ scp ~/.ssh/id_dsa.pub griddata@SERVER7:SERVER3_id_dsa.pub

(6)マスター・ノードの公開鍵ファイル「SERVER1_id_dsa.pub」および「SERVER2_id_dsa.pub」、「SERVER3_id_dsa.pub」の内容を、 増設するスレーブ・ノード(SERVER7)の「~/.ssh/authorized_keys」ファイルに追加します。

$ cd ~
$ cat SERVER1_id_dsa.pub >> ~/.ssh/authorized_keys
$ rm SERVER1_id_dsa.pub
$ cat SERVER2_id_dsa.pub >> ~/.ssh/authorized_keys
$ rm SERVER2_id_dsa.pub
$ cat SERVER3_id_dsa.pub >> ~/.ssh/authorized_keys
$ rm SERVER3_id_dsa.pub

(7)マスター・ノード(SERVER1、SERVER2、SERVER3)から、増設するスレーブ・ノード(SERVER7)にパスフレーズなしでログインできることを確認します。

SERVER1では以下のコマンドを実行します。

$ ssh SERVER7
Last login: ddd mm dd hh:mm:ss yyyy from SERVER1
$ exit
logout

SERVER2では以下のコマンドを実行します。

$ ssh SERVER7
Last login: ddd mm dd hh:mm:ss yyyy from SERVER2
$ exit
logout

SERVER3では以下のコマンドを実行します。

$ ssh SERVER7
Last login: ddd mm dd hh:mm:ss yyyy from SERVER3
$ exit
logout

(8)増設するスレーブ・ノード(SERVER7)に、管理者ユーザーで、/home/griddataにメディアの/softwares/の中身をコピーします。

# cp –rf [モジュールのパス]/softwares/* /home/griddata

(9)、(10)はgriddataユーザーで実行してください。

(9)lake.tar.gzを解凍します。

$ cd /home/griddata
$ tar -zxvf lake.tar.gz

(10)griddata-core.tar.gzを解凍します。

$ tar -zxvf griddata-core.tar.gz

(11)は管理者ユーザーで実行してください。

(11)環境変数の設定用スクリプトgriddata.shを/etc/profile.d/にコピーします。

# cp /home/griddata/griddata-core/griddata.sh /etc/profile.d/

(12)以降はgriddataユーザーで実行してください。

(12)すべてのサーバーのHadoopのインクルードファイル(hosts.include)に増設するスレーブ・ノード(SERVER7)のホスト名を追記します。

$ echo 'SERVER7' >> $HADOOP_HOME/conf/hosts.include

(13)すべてのサーバーのHadoopとSparkのスレーブ・ノード設定ファイル(slaves)に増設するスレーブ・ノード(SERVER7)のホスト名を登録します。

$ echo 'SERVER7' >> $HADOOP_HOME/conf/slaves
$ echo 'SERVER7' >> $SPARK_HOME/conf/slaves

(14)増設するスレーブ・ノード(SERVER7)で、DataNodeを起動します。

$ hadoop-daemon.sh start datanode

(15)NameNode(Active)が起動するサーバー(SERVER1またはSERVER2)で以下のコマンドを実行し、HDFSのクラスター構成情報を更新します。

$ hdfs dfsadmin -refreshNodes

(16)ResourceManager(Active)が起動するサーバー(SERVER2またはSERVER3)で以下のコマンドを実行し、YARNのクラスター構成情報を更新します。

$ yarn rmadmin -refreshNodes

(17)増設するスレーブ・ノード(SERVER7)で、NodeManagerを起動します。

$ yarn-daemon.sh start nodemanager

以上でノードの増設は完了です。

4.13. クラスターからノードを除外する

本項では、スレーブ・ノードSERVER7を除外する場合を説明します。

あらかじめ クラスターを縮退する に従ってSERVER7を縮退してください。

(1)インクルードファイル($HADOOP_HOME/conf/hosts.include)とエクスクルードファイル($HADOOP_HOME/conf/hosts.exclude)から、 除外するスレーブ・ノード(SERVER7)のホスト名を削除します。

(2)HadoopとSparkのスレーブ・ノード設定ファイル($HADOOP_HOME/conf/slaves、$Spark_HOME/conf/slaves)から、 除外するスレーブ・ノード(SERVER7)のホスト名を削除します。

(3)NameNode(Active)が起動するサーバー(SERVER1またはSERVER2)で以下のコマンドを実行し、HDFSのクラスター構成情報を更新します。

$ hdfs dfsadmin -refreshNodes

(4)ResourceManager(Active)が起動するサーバー(SERVER2またはSERVER3)で以下のコマンドを実行し、YARNのクラスター構成情報を更新します。

$ yarn rmadmin -refreshNodes

以上でノードの除外は完了です。

4.14. Fluentdサーバーを起動・停止・再起動する

以下の手順は管理者ユーザーで実行してください。

■ Fluentdサーバーを起動する

[RHEL / CentOS 6]

# service fluentd-server start

[RHEL / CentOS 7]

# systemctl start fluentd-server

■ Fluentdサーバーを停止する

[RHEL / CentOS 6]

# service fluentd-server stop

[RHEL / CentOS 7]

# systemctl stop fluentd-server

■ Fluentdサーバーを再起動する

[RHEL / CentOS 6]

# service fluentd-server restart

[RHEL / CentOS 7]

# systemctl restart fluentd-server

■ Fluentdサーバーの状態を確認する

[RHEL / CentOS 6]

# service fluentd-server status

[RHEL / CentOS 7]

# systemctl status fluentd-server

4.15. Embulkサーバーを起動・停止・再起動する

以下の手順は管理者ユーザーで実行してください。

■ Embulkサーバーを起動する

[RHEL / CentOS 6]

# service embulk-server start

[RHEL / CentOS 7]

# systemctl start embulk-server

■ Embulkサーバーを停止する

[RHEL / CentOS 6]

# service embulk-server stop

[RHEL / CentOS 7]

# systemctl stop embulk-server

■ Embulkサーバーを再起動する

[RHEL / CentOS 6]

# service embulk-server restart

[RHEL / CentOS 7]

# systemctl restart embulk-server

■ Embulkサーバーの状態を確認する

[RHEL / CentOS 6]

# service embulk-server status

[RHEL / CentOS 7]

# systemctl status embulk-server

4.16. LakeStudioを起動・停止・再起動する

以下の手順は管理者ユーザーで実行してください。

■ LakeStudioを起動する

[RHEL / CentOS 6]

# service lake-studio start

[RHEL / CentOS 7]

# systemctl start lake-studio

■ LakeStudioを停止する

[RHEL / CentOS 6]

# service lake-studio stop

[RHEL / CentOS 7]

# systemctl stop lake-studio

■ LakeStudioを再起動する

[RHEL / CentOS 6]

# service lake-studio restart

[RHEL / CentOS 7]

# systemctl restart lake-studio

■ LakeStudioの状態を確認する

[RHEL / CentOS 6]

# service lake-studio status

[RHEL / CentOS 7]

# systemctl status lake-studio

4.17. PostgreSQLを起動・停止・再起動する

以下の手順は管理者ユーザーで実行してください。

■ PostgreSQLを起動する

[RHEL / CentOS 6]

# service postgresql-9.6 start

[RHEL / CentOS 7]

# systemctl start postgresql-9.6

■ PostgreSQLを停止する

[RHEL / CentOS 6]

# service postgresql-9.6 stop

[RHEL / CentOS 7]

# systemctl stop postgresql-9.6

■ PostgreSQLを再起動する

[RHEL / CentOS 6]

# service postgresql-9.6 restart

[RHEL / CentOS 7]

# systemctl restart postgresql-9.6

■ PostgreSQLの状態を確認する

[RHEL / CentOS 6]

# service postgresql-9.6 status

[RHEL / CentOS 7]

# systemctl status postgresql-9.6

4.18. Fluentdサーバーの設定を変更する

Fluentdサーバーの設定を変更する場合、以下の設定ファイルを編集してください。

/home/griddata/lake/fluentd-server/fluentd-server.properties

設定の変更後、Fluentdサーバーが起動中の場合は、 Fluentdサーバーを起動・停止・再起動する に従ってサーバーを再起動してください。 設定ファイルの詳細については、 設定パラメーター一覧 を参照してください。

4.19. Embulkサーバーの設定を変更する

Embulkサーバーの設定を変更する場合、以下の設定ファイルを編集してください。

/home/griddata/lake/embulk-server/embulk-server.properties

設定の変更後、Embulkサーバーが起動中の場合は、 Embulkサーバーを起動・停止・再起動する に従ってサーバーを再起動してください。 設定ファイルの詳細については、 設定パラメーター一覧 を参照してください。

4.20. LakeStudioの設定を変更する

LakeStudioの設定を変更する場合、以下の設定ファイルを編集してください。

/home/griddata/lake/lake-studio/conf/external_application.properties

/home/griddata/lake/lake-studio/conf/password-policy.properties

/home/griddata/lake/lake-studio/conf/quartz.properties

設定の変更後、LakeStudioが起動中の場合は、 LakeStudioを起動・停止・再起動する に従ってサーバーを再起動してください。 設定ファイルの詳細については、 設定パラメーター一覧 を参照してください。