ページの先頭行へ戻る
Big Data Integration ServerV1.1.0 利用ガイド
FUJITSU Software

5.2.4 全サーバに関わるセットアップ

各サーバのセットアップ完了後に、全サーバに関わるセットアップ作業について説明します。

特に説明のない処理はすべてroot権限で実施します。

セットアップ作業

サーバ種別

マスタサーバ

スレーブ
サーバ

開発実行
環境
サーバ

プライマリ

セカンダリ

hdfs、yarnユーザーに対するsshパスワードなしssh通信の設定

Apache ZooKeeperの初期化

Hadoop 運用ディレクトリの作成、権限設定

NameNodeの初期化

スレーブサーバの認識確認

Sparkログディレクトリの作成、権限変更

集計ログディレクトリの作成、権限設定

HDFS上にジョブ実行ユーザーホームディレクトリ作成、権限変更

ResourceManager/NodeManagerの起動

○:作業あり
-:作業なし


5.2.4.1 hdfs、yarnユーザーに対するsshパスワードなしssh通信の設定

マスタサーバのhdfsユーザー、yarnユーザーから各サーバにsshパスワードなしssh通信の設定を行います。

マスタサーバ(プライマリ)およびマスタサーバ(セカンダリ)において、それぞれ公開鍵を作成して各ユーザーからパスワードなしでssh接続できるように設定します。

マスタサーバ(プライマリ)およびマスタサーバ(セカンダリ)にて以下を実施してください。

  1. hdfsユーザーのsshパスフレーズなし接続の設定

    以下の例を参照して設定を実施しください。

    以下の実行例に指定しているmaster1master2developはマスタサーバ(プライマリ)、マスタサーバ(セカンダリ)、各スレーブサーバ、および開発実行環境サーバのホスト名です。“4.1.2.5 ホスト名の設定”で設定した各サーバのホスト名に読み替えてください。

    • master1:マスタサーバ(プライマリ)ホスト名

    • master2:マスタサーバ(セカンダリ)ホスト名

    • slave1~slvae5:スレーブサーバホスト名

    • develop:開発実行環境サーバホスト名

    以下のように実行します。

    # sudo -i -u hdfs ssh-keygen <Enter>
    # sudo -i -u hdfs ssh-copy-id master1 <Enter>
    # sudo -i -u hdfs ssh-copy-id master2 <Enter>
    # sudo -i -u hdfs ssh-copy-id develop <Enter>
    # sudo -i -u hdfs ssh-copy-id slave1 <Enter>
    # sudo -i -u hdfs ssh-copy-id slave2 <Enter>
    # sudo -i -u hdfs ssh-copy-id slave3 <Enter>
    # sudo -i -u hdfs ssh-copy-id slave4 <Enter>
    # sudo -i -u hdfs ssh-copy-id slave5 <Enter>
  2. yarnユーザーのsshパスフレーズなし接続の設定

    以下の例を参照して設定を実施しください。

    以下の実行例に指定しているmaster1master2developはマスタサーバ(プライマリ)、マスタサーバ(セカンダリ)、各スレーブサーバ、および開発実行環境サーバのホスト名です。“4.1.2.5 ホスト名の設定”で設定した各サーバのホスト名に読み替えてください。

    • master1:マスタサーバ(プライマリ)ホスト名

    • master2:マスタサーバ(セカンダリ)ホスト名

    • slave1~slvae5:スレーブサーバホスト名

    • develop:開発実行環境サーバホスト名

    以下のように実行します。

    # sudo -i -u yarn ssh-keygen <Enter>
    # sudo -i -u yarn ssh-copy-id master1 <Enter>
    # sudo -i -u yarn ssh-copy-id master2 <Enter>
    # sudo -i -u yarn ssh-copy-id develop <Enter>
    # sudo -i -u yarn ssh-copy-id slave1 <Enter>
    # sudo -i -u yarn ssh-copy-id slave2 <Enter>
    # sudo -i -u yarn ssh-copy-id slave3 <Enter>
    # sudo -i -u yarn ssh-copy-id slave4 <Enter>
    # sudo -i -u yarn ssh-copy-id slave5 <Enter>

参照

ssh-keygenコマンドの詳細については、各オンラインマニュアルページを参照してください。

5.2.4.2 Apache ZooKeeperの初期化

Apache ZooKeeperを以下の手順で初期化します。

  1. Apache ZooKeeperを起動します。

    マスタサーバ(プライマリ)、マスタサーバ(セカンダリ)、開発実行環境サーバ機能で、以下を実行してApache ZooKeeperを起動してください。

    # sudo -i -u zookeeper /opt/FJSVbsb/bdpp/engine/zookeeper/bin/zkServer.sh start <Enter>
  2. Apache ZooKeeperを初期化します。

    マスタサーバ(プライマリ)で以下を実行してApache ZooKeeperの初期化を実行してください。

    # sudo -i -u hdfs hdfs zkfc -formatZK <Enter>

5.2.4.3 Hadoop 運用ディレクトリの作成、権限設定

Hadoop運用ディレクトリを以下の手順で作成、権限設定を行います。

  1. NameNode、DataNode、JournalNodeのデータ格納用ディレクトリの権限を変更します。

    マスタサーバ(プライマリ)、マスタサーバ(セカンダリ)、スレーブサーバ、開発実行環境サーバで、以下を実行してデータ格納用ディレクトリの権限をhdfsユーザーからアクセス可能にします。

    # mkdir -p /var/opt/FJSVbsb/bdpp/hdfs <Enter>
    # chown hdfs:hadoop /var/opt/FJSVbsb/bdpp/hdfs <Enter>
  2. NameNode、DataNode、JournalNodeのログ格納用ディレクトリの作成、権限を変更します。

    マスタサーバ(プライマリ)、マスタサーバ(セカンダリ)、スレーブサーバ、開発実行環境サーバで、以下を実行してログ格納用ディレクトリの作成、およびディレクトリの権限をhdfsユーザーらアクセス可能にします。

    # mkdir -p /var/opt/FJSVbsb/bdpp/log/hadoop/hdfs <Enter>
    # chown hdfs:hadoop /var/opt/FJSVbsb/bdpp/log/hadoop/hdfs <Enter>
  3. NameNode チェックポイント用ディレクトリの作成、権限を設定します。

    マスタサーバ(プライマリ)、マスタサーバ(セカンダリ)で、以下を実行してNameNode チェックポイント用ディレクトリの作成、およびディレクトリの権限をhdfsユーザーからアクセス可能にします。

    # mkdir -p /var/opt/FJSVbsb/bdpp/hdfs/namesecondary <Enter>
    # chown hdfs:hadoop /var/opt/FJSVbsb/bdpp/hdfs/namesecondary <Enter>
  4. Hadoopの一時作業用ディレクトリの作成、権限を設定します。

    マスタサーバ(プライマリ)、マスタサーバ(セカンダリ)、スレーブサーバ、開発実行環境サーバで、以下を実行してHadoopの一時作業用ディレクトリの作成、およびディレクトリの権限をhdfsユーザーからアクセス可能にします。

    # mkdir -p /var/opt/FJSVbsb/bdpp/tmp <Enter>
    # chown hdfs:hadoop /var/opt/FJSVbsb/bdpp/tmp <Enter>
  5. HDFS PID 用ディレクトリの権限を変更します。

    マスタサーバ(プライマリ)、マスタサーバ(セカンダリ)、スレーブサーバ、開発実行環境サーバで、以下を実行してHDFS PID 用ディレクトリの権限をhdfsユーザーからアクセス可能にします。

    # chown hdfs:hadoop /var/opt/FJSVbsb/bdpp/pid/hadoop <Enter>

5.2.4.4 NameNodeの初期化とHDFSの起動

NameNodeを以下の手順で初期化し、HDFSを起動します。

  1. HDFSを起動します。

    マスタサーバ(プライマリ)で、以下を実行してHDFSを起動してください。

    # sudo -i -u hdfs /opt/FJSVbsb/bdpp/engine/hadoop/sbin/start-dfs.sh <Enter>
  2. NameNodeを初期化します。

    マスタサーバ(プライマリ)で以下を実行してNameNodeの初期化を実行してください。

    # sudo -i -u hdfs hdfs namenode -format <Enter>
  3. HDFSを再起動します。

    マスタサーバ(プライマリ)で、以下を実行してHDFSを起動してください。

    # sudo -i -u hdfs /opt/FJSVbsb/bdpp/engine/hadoop/sbin/stop-dfs.sh <Enter>
    # sudo -i -u hdfs /opt/FJSVbsb/bdpp/engine/hadoop/sbin/start-dfs.sh <Enter>
  4. マスタサーバ(セカンダリ)上のNameNodeをStandby状態で起動可能とします。

    マスタサーバ(セカンダリ)で、以下を実行してNameNodeの起動設定を行います。

    # sudo -i -u hdfs hdfs namenode  -bootstrapStandby <Enter>
  5. マスタサーバ(セカンダリ)上でNameNodeを起動します。

    マスタサーバ(セカンダリ)で、以下を実行してNameNodeを起動してください。

    # sudo -i -u hdfs /opt/FJSVbsb/bdpp/engine/hadoop/sbin/hadoop-daemon.sh start namenode <Enter>
  6. NameNodeの起動状態を確認します。

    マスタサーバ(プライマリ)で、以下を実行してマスタサーバ(プライマリ)、マスタサーバ(セカンダリ)のNameNodeが起動していることを確認してください。

    以下で指定するnn1、nn2 はNameNodeのIDです。以下が表示されることを確認してください。

    # sudo -i -u hdfs hdfs haadmin -getServiceState nn1 <Enter>
    active
    # sudo -i -u hdfs hdfs haadmin -getServiceState nn2 <Enter>
    standby

5.2.4.5 スレーブサーバの認識確認

スレーブサーバが認識されているか、以下の手順で確認します。

  1. スレーブサーバが認識されているか確認します。

    マスタサーバ(プライマリ)で、以下を実行してスレーブサーバが認識されているか確認します。

    表示された各スレーブサーバのDecommission StatusがNormalになっていれば正常に認識されています。

    以下の実行例は以下のスレーブサーバ(slave1~slvae2)を定義した場合です。

    # sudo -i -u hdfs hdfs dfsadmin -report <Enter>
    
    Configured Capacity: 70244081664 (65.42 GB)
    Present Capacity: 70244081664 (65.42 GB)
    DFS Used: 8192 (8 KB)
    DFS Used%: 0.00
    Under replicated blocks: 0
    Blocks with corrupt replicas: 0
    Missing blocks: 0
    Missing blocks (with replication factor 1): 0
    
    -------------------------------------------------
    Live datanodes (2)
    Name: 10.10.10.22:50010 (slave2)
    Hostname: slave2
    Decommission Status : Normal
    Configured Capacity: 35122040832 (32.71 GB)
    DFS Used: 4096 (4 KB)
    Non DFS Used: 0 (0 B)
    DFS Remaining: 35122036736 (32.71 GB)
    DFS Used%: 0.00%
    DFS Remaining%: 100.00%
    Configured Cache Capacity: 0 (0 B)
    Cache Used: 0 (0 B)
    Cache Remaining: 0 (0 B)
    Cache Used%: 100.00%
    Cache Remaining%: 0.00%
    Xceivers: 1
    Last contact: Wed Sep 12 12:55:20 JST 2018
    
    Name: 10.10.10.21:50010 (slave1)
    Hostname: slave1
    Decommission Status : Normal
    Configured Capacity: 35122040832 (32.71 GB)
    DFS Used: 4096 (4 KB)
    Non DFS Used: 0 (0 B)
    DFS Remaining: 35122036736 (32.71 GB)
    DFS Used%: 0.00%
    DFS Remaining%: 100.00%
    Configured Cache Capacity: 0 (0 B)
    Cache Used: 0 (0 B)
    Cache Remaining: 0 (0 B)
    Cache Used%: 100.00%
    Cache Remaining%: 0.00%
    Xceivers: 1
    Last contact: Wed Sep 12 12:55:20 JST 2018

5.2.4.6 Sparkログディレクトリの作成、権限設定

Spark ログディレクトリを以下の手順で作成、権限設定を行います。

  1. Sparkのログ格納用ディレクトリの権限を変更します。

    マスタサーバ(プライマリ)で以下を実行してログ格納用ディレクトリの権限を設定します。

    # sudo -i -u yarn hadoop fs -mkdir -p /history/done/spark <Enter>
    # sudo -i -u yarn hadoop fs -chmod 777 /history/done/spark <Enter>
    # sudo -i -u yarn hadoop fs -chmod 777 /history/done <Enter>
    # sudo -i -u yarn hadoop fs -chmod 777 /history <Enter>

5.2.4.7 集計ログディレクトリの作成、権限設定

集計ログディレクトリを以下の手順で作成、権限設定を行います。

  1. 集計ログ格納用ディレクトリの権限を変更します。

    マスタサーバ(プライマリ)で以下を実行してログ格納用ディレクトリの権限を設定します。

    # sudo -i -u yarn hadoop fs -mkdir -p /history/done/yarn <Enter>
    # sudo -i -u yarn hadoop fs -chmod 777 /history/done/yarn <Enter>
    # sudo -i -u hdfs hadoop fs -mkdir -p /user/history <Enter>
    # sudo -i -u hdfs hadoop fs -chown hadoop:yarn /user/history <Enter>
    # sudo -i -u hdfs hadoop fs -chmod 777 /user/history <Enter>

5.2.4.8 HDFS上にジョブ実行ユーザーホームディレクトリ作成、権限変更

HDFS上にジョブ実行ユーザーのホームディレクトリを以下の手順で作成、権限設定を行います。

  1. ジョブ実行ユーザーのホームディレクトリを作成、権限変更します。

    マスタサーバ(プライマリ)で以下を実行してアプリ実行ユーザーのホームディレクトリを作成、権限します。

    ホームディレクトリ作成は、bdpp.confのBDPP_HADOOP_DEFAULT_USERSパラメーターに指定したユーザーすべてに実施してください。

    また、ディレクトリへのグループ権限設定は、bdpp.confのBDPP_HADOOP_DEFAULT_GROUPパラメーターに指定したグループを指定してください

    実行例は以下を定義した場合です。

    • BDPP_HADOOP_DEFAULT_USERS:bdppuser1,1500

    • BDPP_HADOOP_DEFAULT_GROUP:bdppgroup,1500

      # sudo -i -u hdfs hadoop fs -mkdir -p /user/bdppuser1 <Enter>
      # sudo -i -u hdfs hadoop fs -chown bdppuser1:bdppgroup /user/bdppuser1 <Enter>
      # sudo -i -u hdfs hadoop fs -chmod 777 /user <Enter>

    Group、Permission は、利用環境に応じて適切に設定してください。

5.2.4.9 ResourceManager/NodeManagerの起動

ResourceManager/NodeManagerを以下の手順で起動します。

  1. マスタサーバ(プライマリ)でResourceManager/NodeManagerを起動します。

    マスタサーバ(プライマリ)で、以下を実行してマスタサーバ(プライマリ)上でResourceManager、スレーブサーバ上でNodeManagerを起動してください。

    # sudo -i -u yarn /opt/FJSVbsb/bdpp/engine/hadoop/sbin/start-yarn.sh <Enter>
  2. マスタサーバ(セカンダリ)でResourceManagerを起動します。

    マスタサーバ(セカンダリ)で、以下を実行してマスタサーバ(セカンダリ)上でResourceManagerを起動してください。

    # sudo -i -u yarn /opt/FJSVbsb/bdpp/engine/hadoop/sbin/yarn-daemon.sh start resourcemanager <Enter>
  3. ResourceManagerの起動状態を確認します。

    マスタサーバ(プライマリ)で、以下を実行してマスタサーバ(プライマリ)、マスタサーバ(セカンダリ)のResourceManagerが起動していることを確認してください。

    以下で指定するrm1、rm2 はResourceManagerのIDです。以下が表示されることを確認してください。

    # sudo -i -u yarn yarn rmadmin -getServiceState rm1 <Enter>
    active
    # sudo -i -u yarn yarn rmadmin -getServiceState rm2 <Enter>
    standby
  4. YARNの状態表示で、対象のスレーブサーバの情報が表示されていることを確認します。

    # sudo -i -u yarn yarn node -list <Enter>
    Total Nodes:2
             Node-Id             Node-State Node-Http-Address       Number-of-Running-Containers
        slave1:33719                RUNNING       slave1:8042                                  0
        slave2:36104                RUNNING       slave2:8042                                  0