Hadoop:実分布配置

8256 ワード

システムおよび環境
ネットワーク環境:ローカルエリアネットワークの下にある一部の機器(>=4)システムバージョン:win 10の比較的新しいバージョン、サブシステムのサブシステムバージョンをサポートする:ubuntu 18.04その他のソフトウェア:Xshell 6、Xftp 6実験要求:複数の機器にhadoopをインストールし、配置が完了した後、公式demoのwordcount機能を完成し、その他の機能を実現することができる
ダウンロードインストールwsl(ubuntu)
  • システム要件:win 10の新しいバージョン
  • コンピュータ名を変更する(ubuntuでどのコンピュータかを識別するには、後で他のノードで構成を変更することを推奨します):このコンピュータを右クリック-プロパティ-設定の変更-コンピュータ記述(ustc+シーケンス番号)-変更-コンピュータ名(ustc+シーケンス番号)-後で
  • を再起動します.
  • ファイアウォールを閉じる:コントロールパネル-ネットワークとInternet-ネットワークと共有センター-wdファイアウォール(左下隅)-wdファイアウォールを有効または閉じる-後で
  • を再起動します.
  • wsl機能をオンにする:コントロールパネルを開く-プログラム-windows機能をオンまたはオフにする-Linuxに適したWindowsサブシステムをチェックする-コンピュータを再起動する
  • Microsoft Storeを開き、ubuntuを検索し、18.04を選択して
  • をダウンロードします.
  • まずustcユーザを作成し、パスワードもustc(覚えやすいためだけ)
  • hadoopユーザ
  • を作成する
    $sudo useradd -m hadoop -s /bin/bash #   hadoop  ,   /bin/shell  shell
    $sudo passwd hadoop # hadoop      
    $sudo adduser hadoop sudo # hadoop         
    $su - hadoop #       hadoop
    $sudo apt-get update #  hadoop   apt,      ssh
    

    sshをインストールし、パスワードなしログインを設定
  • sshをインストールし、公開鍵と秘密鍵
  • を生成する.
    $ sudo apt-get install openssh-server	#  SSH server
    $ cd /home/hadoop #   hadoop 
    $ ssh-keygen -t rsa #    ,          .ssh   ,          ,    sudo,     
    $ sudo /etc/init.d/ssh start #  ssh    
         ,             
    	$ sudo ssh-keygen -t rsa -f /etc/xxx
    $ ps -e |grep ssh	#  ssh  ,   ssh      
    
  • は、鍵および公開鍵を生成し、他の機器
  • に公開鍵をコピーする.
            :      id_rsa.pub(       ),                   authorized_keys,           
    
          : id_rsa.pub    authorized_keys,   auth          
    $ cd /home/hadoop/.ssh #          .ssh   
    $ cat id_rsa.pub>>authorized_keys
    
     .ssh    authorized_keys  ,    
    $cd /home/hadoop/.ssh  #           
    $sudo chmod 600 authorized_keys
    $cd ..#       
    $sudo chmod 700 .ssh
    $cd ..#       
    $sudo chmod 700 hadoop # .ssh       700
    
        
    $sudo vim /etc/ssh/sshd_config
    	Port xxx   (            )
    	PermitRootLogin yes
    	        yes
    	PasswordAuthentication yes(         )
    $ sudo /etc/init.d/ssh restart #  ssh   
    
           ~/.ssh/id_rsa.pub  ssh-copy-id -i      (    master          datanode  ,         )
    $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p xxxx
    	user  Linux  ,xxx.xxx.xxx.xxx        ,     :
    	$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p xxxx
                 , hadoop     hadoop
    
              ,                
    $ ssh -p 6666 [email protected]	#-p                       Port
    
    
                    ,                 ,                  
    

    Javaのインストールと環境変数の構成
  • xshellとxftpをインストールし、インストールを直接確認すれば
  • になります.
  • は、xshellを使用して自分のマシンを接続しようとします.以下のコマンドはxshellで実行できます.もちろん、元のインタフェースも可能です(接続手順略)
  • .
  • javaをインストールし、環境
  • を構成します.
    $ sudo mkdir /usr/local/java# /usr/local   java   
    
     jdk-8xxxx-linux-x64   c  ,             ,       wsl  
    $ cd /mnt/c #  win c 
    $ cp jdk-8xxxx-linux-x64.tar.gz /usr/local/java
    
      java   ,     
    $cd java/
    $tar -zxvf jdk-8xxxx-linux-x64.tar.gz#  
    java       jdk1.8xxxx   
    
                 java   ,  /usr/local        
    	$ sudo chmod 777 /usr/local/java
    
          
    $ sudo vim /etc/profile
        export JAVA_HOME=/usr/local/java/jdk1.8xxxx
        export PATH=${PATH}:${JAVA_HOME}/bin
      :“=”       
    
           
    $ source /etc/profile
      :    sudo,source bash     ,            
    
      java        
    $ java -version
    
                 ,   :
    	  Ubuntu  Java JDK   
        $ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_231/bin/java" 1
        $ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_231/bin/javac" 1
        $ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_231/bin/javaws" 1
                   :
        $ sudo update-alternatives --set java  /usr/local/java/jdk1.8.0_231/bin/java
        $ sudo update-alternatives --set javac  /usr/local/java/jdk1.8.0_231/bin/javac
        $ sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_231/bin/javaws
        :https://blog.csdn.net/weixin_42001089/article/details/81865101
    

    その他のノード構成(重要)
           host     ,       ip     , 
    $sudo vim /etc/hosts
    	192.168.1.100 ustc01
    	192.168.1.158 ustc02
    	192.168.1.58  ustc03
    	192.168.1.75  ustc04
    	(  )   ip    ,      #,         ,      hadoop        datanode    。 
    
       win   hosts       
    	192.168.1.100 ustc01
    	192.168.1.158 ustc02
    	192.168.1.58  ustc03
    	192.168.1.75  ustc04
      win  
    
      Java         ,        
      hadoop     
    $scp -P 6666 /home/hadoop/hadoop-2.7.7.tar.gz ustc02:/home/hadoop #-P   ,     。
    $scp -P 6666 /home/hadoop/hadoop-2.7.7.tar.gz ustc03:/home/hadoop #-P   。
    $scp -P 6666 /home/hadoop/hadoop-2.7.7.tar.gz ustc04:/home/hadoop #-P   。	
    
             java    ,    ,       
    

    プライマリノードはhadoopをインストールし、他のノードに配布します.
    (本構成は主要なnamenodeのみで構成でき、他のdatanodeは後で配布すればよい)
  • javaのアップロードのようにhadoop圧縮パッケージをcディスクの下に置いて許可し、アップロードします.今回のアップロードパスは/home/hadoop(コマンドは省略します.java構成を参照してください)
  • です.
  • hadoopの4つのxmlファイルと1つのサブノード識別ファイルを構成します(すべてのノードの情報は一致してください)
  • core-site.xml
    
    	
    		fs.default.name
    		hdfs://ustc01:9000
    			
    
    
  • を修正
  • hdfs-site.xml
    
    	
    		dfs.replication
    		3
    		    ,     3,   datanode    
    	
    	
    		dfs.namenode.dir
    		file:/home/hadoop/hadoop-2.7.7/tmp/dfs/name
    		datanode           
    	
    	
    		dfs.datanode.dir
    		file:/home/hadoop/hadoop-2.7.7/tmp/dfs/data
    	
    
    	
    		 dfs.name.data.registration.ip-hostname-check
    		 false
    	
    
    
  • を修正
  • mapred-site.xmlを変更します.このファイルにはありません.次のコマンド
    mv mapred-site.xml.template mapred-site.xml  #   
    
    #       
    
    	
    		mapreduce.framework.name
    		yarn
    	 
    	 
    	  	mapred.job.tracker
    		hdfs://ustc01:9001
    	 
    
    
  • を実行する必要があります.
  • yarn-site.xml
    
    
    	
    		yarn.nodemanager.aux-services
    		mapreduce_shuffle
    	
    
    
  • を修正
  • slavesファイルを変更datanodeノード名を格納します.ホストノード名は追加しないでください.
    ustc02
    ustc03
    ustc04
    
  • などです.
  • は他のノードに配布する、
  • を構成する.
            ,    
    $ cd /home/hadoop
    $ tar -zcf  hadoop-2.7.7.tar.gz	hadoop-2.7.7/
    
    $ scp -P 6666 hadoop-2.7.7.tar.gz ustc02:/home/hadoop #  hadoop,-P   。
            java      
    
          
    $ sudo vim /etc/profile   #      java            
        export JAVA_HOME=/usr/local/java/jdk1.8.0_231
        export HADOOP_HOME=/home/hadoop/hadoop-2.7.7
        export PATH=${PATH}:${JAVA_HOME}/bin:{HADOOP_HOME}/bin:{HADOOP_HOME}/sbin:
           
    $ source /etc/profile
      :    sudo,source bash     ,            
    
      hadoop        
    $ hadoop
                   
    
                22   6666,    Hadoop      
     hadoop-2.7.7/etc/hadoop     hadoop-env.sh         。
    $sudo vim /home/hadoop/hadoop-2.7.7/etc/hadoop/hadoop-env.sh
    	export HADOOP_SSH_OPTS="-p 6666"
    	 JAVA_HOME     /usr/local/java/jdk1.8.0_231   
    	JAVA_HOME=/usr/local/java/jdk1.8.0_231
    
  • オン/オフおよび検証
  • $ hadoop namenode -format #      ,          ,              
    
    #     ,    namenode     ,      
    $ start-all.sh #      
    $ stop-all.sh #      
    $ start-dfs.sh  #  hdfs
    $ start-dfs.sh #  hdfs
    
            ,       
    $ jps
       namenode      namenode, datenode    datanode       
    
      win      ,  http://ustc01:50070,    namenode datanode         
                ,       
    
  • ドキュメント(@TODOフォワードグローゴレゴリンゴing)
  • 余剰配置(@TODOヤンキースフォワードコーニング)2019-11-20
  • 電源を入れます.
  • wsl
  • を開く
  • 実行ssh(ここでは設定がおっくう)
              wsl       ,  ssh  
    $sudo service ssh --full-restart
    
  • 電源を入れるとhostsは戻ってきますが、これはまだ解決していません(修復待ち)
    $sudo vim /etc/hosts
    	192.168.1.100 ustc01
    	192.168.1.158 ustc02
    	192.168.1.58  ustc03
    	192.168.1.75  ustc04