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を起動・停止・再起動する に従ってサーバーを再起動してください。 設定ファイルの詳細については、 設定パラメーター一覧 を参照してください。