<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Hadoop系列005-Hadoop運行模式(下)

      本人微信公眾號,歡迎掃碼關注!

      Hadoop運行模式(下)

      2.3、完全分布式部署Hadoop
      • 1)分析:

        • 1)準備3臺客戶機(關閉防火墻、靜態ip、主機名稱)
        • 2)安裝jdk
        • 3)配置環境變量
        • 4)安裝hadoop
        • 5)配置環境變量
        • 6)安裝ssh
        • 7)配置集群
        • 8)啟動測試集群
      • 2)操作

        • (1) 虛擬機準備

          • 克隆三臺干凈的虛擬機
        • (2) 主機名設置

        • (3) scp

          • 1)scp可以實現服務器與服務器之間的數據拷貝。

          • 2)案例實操

            • (1)將hadoop101中/opt/module和/opt/software文件拷貝到hadoop102、hadoop103和hadoop104上。

              [root@hadoop101 /]# scp -r /opt/module/  root@hadoop102:/opt
              [root@hadoop101 /]# scp -r /opt/software/  root@hadoop102:/opt
              [root@hadoop101 /]# scp -r /opt/module/  root@hadoop103:/opt
              [root@hadoop101 /]# scp -r /opt/software/  root@hadoop103:/opt
              [root@hadoop101 /]# scp -r /opt/module/  root@hadoop104:/opt
              [root@hadoop101 /]# scp -r /opt/software/  root@hadoop105:/opt
              
            • (2)將192.168.1.102服務器上的文件拷貝到當前用戶下。

              [root@hadoop101 opt]# scp  root@hadoop102:/etc/profile  /opt/tmp/
              
            • (3)實現兩臺遠程機器之間的文件傳輸(hadoop103主機文件拷貝到hadoop104主機上)

              [atguigu@hadoop102 test]$ scp atguigu@hadoop103:/opt/test/haha atguigu@hadoop104:/opt/test/
              
        • (4)SSH無密碼登錄

          • 1)配置ssh

            • (1)基本語法

              ssh 另一臺電腦的ip地址
              
            • (2)ssh連接時出現Host key verification failed的解決方法

              問題再現
              [root@hadoop2 opt]# ssh 192.168.1.103
              The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
              RSA key fingerprint is cf:1e:de:d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.
              Are you sure you want to continue connecting (yes/no)? 
              Host key verification failed.
              
              解決辦法
              輸入yes,然后輸入目標機器的密碼即可
              
          • 2)無密鑰配置

            • (1)進入到我的home目錄

              cd  ~/.ssh
              
            • (2)生成公鑰和私鑰:

              ssh-keygen -t rsa 
              然后敲(三個回車),就會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
              
            • (3)將公鑰拷貝到要免密登錄的目標機器上

              ssh-copy-id 目標機器主機名或IP地址
              
          • 3).ssh文件夾下的文件功能解釋

            • (1)~/.ssh/known_hosts :記錄ssh訪問過計算機的公鑰(public key)
            • (2)id_rsa :生成的私鑰
            • (3)id_rsa.pub :生成的公鑰
            • (4)authorized_keys :存放授權過得無秘登錄服務器公鑰
        • (5)rsync

          rsync遠程同步工具,主要用于備份和鏡像。具有速度快、避免復制相同內容和支持符號鏈接的優點。

          • 1)查看rsync使用說明

            man rsync | more
            
          • 2)基本語法

            rsync  -rvl                 $pdir/$fname                       $user@hadoop$host:$pdir
            命令   命令參數   要拷貝的文件路徑/名稱   目的用戶@主機:目的路徑
            
          • 3)案例實操

            把本機/opt/tmp目錄同步到hadoop103服務器的root用戶下的/opt/tmp目錄

            rsync –rvl /opt/tmp/*  root@hadoop103:/op	t/tmp
            
        • (6)編寫集群分發腳本xsync

          • 1)需求分析:循環復制文件到所有節點的相同目錄下。

            • (1)原始拷貝:

              rsync  –rvl     /opt/module  root@hadoop103:/opt/
              
            • (2)期望腳本:

              xsync 要同步的文件名稱

            • (3)在/usr/local/bin這個目錄下存放的腳本,可以在系統任何地方直接執行,需要制定路徑。

          • 2)案例實操:

            • (1)在/usr/local/bin目錄下創建xsync文件

              #!/bin/bash
              #1 獲取輸入參數個數,如果沒有參數,直接退出
              pcount=$#
              if((pcount==0)); then
              echo no args;
              exit;
              fi
              
              #2 獲取文件名稱
              p1=$1
              fname=`basename $p1`
              echo fname=$fname
              
              #3 獲取上級目錄到絕對路徑
              pdir=`cd -P $(dirname $p1); pwd`
              echo pdir=$pdir
              
              #4 獲取當前用戶名稱
              user=`whoami`
              
              #5 循環
              for((host=103; host<105; host++)); do
                      #echo $pdir/$fname $user@hadoop$host:$pdir
                      echo --------------- hadoop$host ----------------
                      rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
              done
              
            • (2)修改腳本 xsync 具有執行權限

              [root@hadoop102 bin]# chmod 777 xsync
              
            • (3)調用腳本形式:xsync 文件名稱

        • (7)編寫分發腳本xcall

          • 1)需求分析:在所有主機上同時執行相同的命令

            xcall +命令
            
          • 2)具體實現

            • (1)在/usr/local/bin目錄下創建xcall文件

              #!/bin/bash
              pcount=$#
              if((pcount==0));then
                      echo no args;
                      exit;
              fi
              
              echo -------------localhost----------
              $@
              for((host=101; host<=108; host++)); do
                      echo ----------hadoop$host---------
                      ssh hadoop$host $@
              done
              
            • (2)修改腳本 xcall 具有執行權限

              [root@hadoop102 bin]# chmod 777 xcall
              
            • (3)調用腳本形式: xcall 操作命令

              [root@hadoop102 ~]# xcall rm -rf /opt/tmp/profile 
              
        • (8) 基于偽分布式部署集群

          • 1)集群部署規劃

            規劃原則:盡量將耗內存的任務分散開來

            Hadoop102 Hadoop103 Hadoop104
            HDFS NameNode SecondaryNameNode
            DataNode DataNode DataNode
            YARN NodeManager ResourceManager NodeManager
          • 2)配置文件

            • (1)core-site.xml

              <!-- 指定HDFS中NameNode的地址 -->
              <property>
              	<name>fs.defaultFS</name>
              	<value>hdfs://hadoop102:8020</value>
              </property>
              
              <!-- 指定hadoop運行時產生文件的存儲目錄 -->
              <property>
              	<name>hadoop.tmp.dir</name>
              	<value>/opt/module/hadoop-2.7.2/data/tmp</value>
              </property>
              
            • (2)Hdfs

              • hadoop-env.sh

                export JAVA_HOME=/opt/module/jdk1.7.0_79
                
              • hdfs-site.xml

                <configuration>	
                    <property>
                    	<name>dfs.replication</name>
                    	<value>3</value>
                    </property>
                
                    <property>
                    	<name>dfs.namenode.secondary.http-address</name>
                    	<value>hadoop104:50090</value>
                    </property>
                </configuration>
                
              • slaves

                hadoop102
                hadoop103
                hadoop104
                
            • (3)yarn

              • yarn-env.sh

                export JAVA_HOME=/opt/module/jdk1.7.0_79
                
              • yarn-site.xml

                <configuration>
                    <!-- Site specific YARN configuration properties -->
                    <!-- reducer獲取數據的方式 -->
                    <property>
                    	<name>yarn.nodemanager.aux-services</name>
                    	<value>mapreduce_shuffle</value>
                    </property>
                
                    <!-- 指定YARN的ResourceManager的地址 -->
                    <property>
                    	<name>yarn.resourcemanager.hostname</name>
                    	<value>hadoop103</value>
                    </property>
                </configuration>
                
            • (4)mapreduce

              • mapred-env.sh

                export JAVA_HOME=/opt/module/jdk1.7.0_79
                
              • mapred-site.xml

                <configuration>
                    <!-- 指定mr運行在yarn上 -->
                    <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                    </property>
                </configuration>
                
          • 3)在集群上分發以上所有文件

            cd /opt/module/hadoop-2.7.2/etc/hadoop
            xsync /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
            xsync /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml
            xsync /opt/module/hadoop-2.7.2/etc/hadoop/slaves
            
          • 4)查看文件分發情況

            xcall cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves
            
        • (9)集群啟動及測試

          • 1)啟動集群

            • (0)如果集群是第一次啟動,需要格式化namenode

              [root@hadoop2 hadoop-2.7.2]# bin/hdfs namenode –format
              
            • (1)啟動HDFS

              [intflag@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh
              
              啟動之后驗證
              [intflag@hadoop102 hadoop-2.7.2]$ jps
              3690 DataNode
              9550 Jps
              3583 NameNode
              
              [intflag@hadoop103 hadoop-2.7.2]$ jps
              9095 Jps
              3435 DataNode
              
              [intflag@hadoop104 hadoop-2.7.2]$ jps
              3432 DataNode
              9371 Jps
              3518 SecondaryNameNode
              
            • (2)啟動yarn

              注意:Namenode和ResourceManger如果不是同一臺機器,不能在NameNode上啟動 yarn,應該在ResouceManager所在的機器上啟動yarn。

              sbin/start-yarn.sh
              
              
          • 2)集群基本測試

            • (1)上傳文件到集群

              • 上傳小文件

                bin/hdfs dfs –mkdir –p /user/atguigu/tmp/conf
                bin/hdfs dfs –put etc/hadoop/*-site.xml /user/atguigu/tmp/conf
                
                
              • 上傳大文件

                [atguigu@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -put /opt/software/hadoop-2.7.2.tar.gz  /user/atguigu/input
                
                
            • (2)上傳文件后查看文件存放在什么位置

              • 文件存儲路徑

                [atguigu@hadoop103 subdir0]$ pwd
                /opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/BP-938951106-192.168.10.107-1495462844069/current/finalized/subdir0/subdir0
                
                
              • 查看文件內容

                [atguigu@hadoop108 subdir0]$ cat blk_1073741825
                hadoop
                atguigu
                atguigu
                
                
            • (3)拼接

              -rw-rw-r--. 1 atguigu atguigu 134217728 5月  23 16:01 blk_1073741836
              -rw-rw-r--. 1 atguigu atguigu   1048583 5月  23 16:01 blk_1073741836_1012.meta
              -rw-rw-r--. 1 atguigu atguigu  63439959 5月  23 16:01 blk_1073741837
              -rw-rw-r--. 1 atguigu atguigu    495635 5月  23 16:01 blk_1073741837_1013.meta
              [atguigu@hadoop107 subdir0]$ cat blk_1073741836>>tmp.file
              [atguigu@hadoop107 subdir0]$ cat blk_1073741837>>tmp.file
              [atguigu@hadoop107 subdir0]$ tar -zxvf tmp.file
              
              
            • (4)下載

              [atguigu@hadoop107 hadoop-2.7.2]$ bin/hadoop fs -get /user/atguigu/input/hadoop-2.7.2.tar.gz
              
              
          • 3)集群性能測試

            • 寫海量數據
            • 讀海量數據
        • (9)Hadoop啟動停止方式

          • 1)各個服務組件逐一啟動

            • (1)分別啟動hdfs組件

              hadoop-daemon.sh  start|stop  namenode|datanode|secondarynamenode
              
              
            • (2)啟動yarn

              yarn-daemon.sh  start|stop  resourcemanager|nodemanager
              
              
          • 2)各個模塊分開啟動(配置ssh是前提)常用

            • (1)整體啟動/停止hdfs

              start-dfs.sh
              stop-dfs.sh
              
              
            • (2)整體啟動/停止yarn

              start-yarn.sh
              stop-yarn.sh
              
              
            • 3)全部啟動(不建議使用)

              start-all.sh
              stop-all.sh
              
              
        • (11)配置集群常見問題

          • 1)防火墻沒關閉、或者沒有啟動yarn

            INFO client.RMProxy: Connecting to ResourceManager at hadoop108/192.168.10.108:8032
            
            
          • 2)主機名稱配置錯誤

          • 3)ip地址配置錯誤

          • 4)ssh沒有配置好

          • 5)root用戶和atguigu兩個用戶啟動集群不統一

          • 6)配置文件修改不細心

          • 7)未編譯源碼

            Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
            17/05/22 15:38:58 INFO client.RMProxy: Connecting to ResourceManager at hadoop108/192.168.10.108:8032
            
            
          • 8)datanode不被namenode識別問題

            Namenode在format初始化的時候會形成兩個標識,blockPoolId和clusterId。新的datanode加入時,會獲取這兩個標識作為自己工作目錄中的標識。
            
            一旦namenode重新format后,namenode的身份標識已變,而datanode如果依然持有原來的id,就不會被namenode識別。
            
            解決辦法,刪除datanode節點中的數據后,再次重新格式化namenode。
            
            
      posted @ 2018-12-01 14:57  云端笑猿  閱讀(142)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 麻豆tv入口在线看| 边添小泬边狠狠躁视频| 野花社区在线观看视频| 97一区二区国产好的精华液 | 成A人片亚洲日本久久| 午夜国产精品福利一二| 精品久久久久久无码免费| 女人腿张开让男人桶爽| 国产精品视频免费一区二区三区| 国产精品午夜剧场免费观看| 好硬好湿好爽好深视频| 国产精品白丝久久av网站| 国产高清视频一区二区三区| 国产初高中生粉嫩无套第一次| 综合偷自拍亚洲乱中文字幕| 日韩精品一区二区高清视频| 99久久久国产精品免费无卡顿| 四虎av永久在线精品免费观看| 亚洲码欧洲码一二三四五| 高清自拍亚洲精品二区| 日日躁夜夜躁狠狠久久av| 人禽无码视频在线观看| 四虎国产精品永久入口| 不卡一区二区国产在线| 欧美日韩国产综合草草| 亚洲中文字幕综合网在线| 干老熟女干老穴干老女人| 国产地址二永久伊甸园| 亚洲人成人日韩中文字幕| 少妇久久久被弄到高潮| 在线综合亚洲欧洲综合网站| 国产精品中文字幕日韩| 377p欧洲日本亚洲大胆| 亚洲综合无码久久精品综合| 国产精品中文字幕日韩| 国产精品免费无遮挡无码永久视频 | 人妻一区二区三区三区| 亚洲婷婷综合色高清在线| 久久久久综合一本久道| 国产精品区一区第一页| 欧美性潮喷xxxxx免费视频看 |