spark yarnクラスタ構築(一:準備作業)

3846 ワード

linux環境準備
spark/hadoopインストールパッケージ
spark-2.3.1-bin-hadoop2.7.tgz Hadoop2.7.6 :hadoop spark
クラスタマシン
ホスト名
IPアドレス(イントラネット)
master
10.24.21.144
slave1
10.24.21.4
slave2
10.24.21.7
  • 3サーバのhostsファイル
  • を変更
    vi /etc/hosts
    #     
    10.24.21.144  master 
    10.24.21.4 slave1
    10.24.21.7 slave2
    #       dns
    source /etc/hosts
    

    JAva/scalaインストール(インストール済みはスキップ)
  • jdk-8 u 65-linux-x 64をダウンロードする.gz後解凍tar -zxvf jdk-8u121-linux-x64.tar.gz
  • scala-2.12.2.6をダウンロードする.tgz後解凍tar -zxvf scala-2.12.6.tgz
  • 環境変数を追加、/etc/profileに追加:
  • export JAVA_HOME=/usr/java/jdk1.8.0_65
    export PATH=$PATH:$JAVA_HOME/bin:/opt/consul
    export CLASSPATH=$JAVA_HOME/lib/
    
    export SCALA_HOME=/usr/scala-2.12.6
    export PATH=$PATH:$SCALA_HOME/bin
    
  • 保存後リフレッシュ構成source /etc/profile
  • インストールが成功したかどうかを確認するjava -version && scala -version
  • クラスタsshパスワードフリー構成 ubuntu,centos [1]
  • sshがインストールされていない場合は、以下の指令を入力してインストールyum install ssh
  • を行う.
  • masterノードssh鍵、公開鍵
  • を生成する.
    //  master  (    ,yes):
    ssh-keygen -t rsa -P ''
    #    /root/.ssh/       ,  id_rsa   ,id_rsa.pub   
    // id_rsa.pub      key   ,  authorized_keys
    //                  ssh          
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
  • は、構成が成功したかどうかを確認するための命令を実行する.
    #     :
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    ECDSA key fingerprint is 7c:a1:56:1d:ff:c3:9a:8b:da:a1:53:94:93:19:f6:38.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
    Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.16.0-34-generic x86_64)
    ......
    
    ssh localhost
    root@sh-pip-spcloud03:/etc/ssh# ssh localhost
    root@localhost's password: 
    Permission denied, please try again.
    

    主な原因はディレクトリ権限が間違っているため、以下の命令を実行すればよい[2].
    chmod go-w ~/  && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
    
  • master、slaveノード相互アクセスの構成
  • : , :
  • slave 1、slave 2ノードの公開鍵「id_rsa.pub」をmasterノード:
  • にコピーする
    #  1:scp    (      root    )
      slave1    :
      scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave1
      slave2    :
      scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave2
    #  2:sz     windows, rz       
    
  • slave 1、slave 2の公開鍵をauthorized_に追加keys
  • cat ~/.ssh/id_rsa.pub.slave1 >> ~/.ssh/authorized_keys
    cat ~/.ssh/id_rsa.pub.slave2 >> ~/.ssh/authorized_keys
    
    この時点でslave 1、slave 2マシンからmasterにアクセスできます
  • マスターマシンのauthorized_keysはslave 1、slave 2
  • にコピーする
    #  1 scp  (          )
    scp ~/.ssh/authorized_keys root@slave1:/root/.ssh/authoried_keys
    scp ~/.ssh/authorized_keys root@slave2:/root/.ssh/authoried_keys
    #  2:    
    
  • 検証
  •  master  :ssh slave1
     slave1  :ssh master
    
  • 、原因は次のとおりです.
  • パスワードエラー
  • sshd_configは対応する権限を開いていません
    1:sshプロファイル「/etc/ssh/ssh/sshd_config」の以下の内容を修正し、以下の内容の注釈を削除する:RSAAuthentication yes#RSA認証PubkeyAuthentication yes#公開鍵秘密鍵ペアリング認証方式AuthorizedKeysFile.ssh/authorized_keys#公開鍵ファイルパス(上で生成したファイルと同じ)2:sshサービスを再起動してこそ、さっきの設定を有効にすることができます.sudo/etc/init.d/ssh restart
  • ファイル権限が正しくない[2] scp Permission denied


  • spark yarnクラスタ構築(二:hadoopクラスタ構築)
    spark yarnクラスタ構築(三:sparkクラスタ構築)
    UbuntuとCentOSはどのようにSSHを構成してパスワードが登録されないようにします↩
    ssh localhost "Permission denied"↩ ↩