1. 程式人生 > >偽分散式安裝Hadoop

偽分散式安裝Hadoop

Hadoop簡單介紹

Hadoop:適合大資料分散式儲存與計算的平臺。

Hadoop兩大核心專案:
1、HDFS:Hadoop分散式檔案系統
  HDFS的架構: 主從結構:
          主節點,只有一個:namenode
                      1、接收使用者操作請求
                      2、維護檔案系統的目錄結構
                      3、管理檔案與block之間關係,block與datanode之間關係
          從節點,有很多個:datanodes
                      1、儲存檔案
                      2、檔案被分成block儲存在磁碟上
                      3、為保證資料安全,檔案會有多個副本
2、MapReduce:平行計算框架
   MapReducede的架構:主從結構:
                主節點,只有一個:JobTracker
                          1、接收客戶端提交的計算任務
                          2、把計算任務分給TaskTrackers執行
                          3、監控TaskTracker的執行情況
                從節點,有很多個:TaskTrackers
                          執行JobTracker分配的計算任務

Hadoop的特點:
  1、擴容能力
  2、成本低
  3、高效率
  4、可靠性

Hadoop部署方式:
  1、本地模式
  2、偽分佈模式
  3、叢集模式

安裝前準備軟體:
  1、Vitual Box/VMWare
  2、centOS
  3、jdk-6u24-linux-xxx.bin
  4、hadoop-1.1.2.tar.gz

1.hadoop的偽分佈安裝
1.1 設定ip地址
  執行命令 service network restart
  驗證: ifconfig
1.2 關閉防火牆
  執行命令 service iptables stop
  驗證: service iptables status
1.3 關閉防火牆的自動執行
  執行命令 chkconfig iptables off
  驗證: chkconfig --list | grep iptables //過濾出iptables
1.4 設定主機名(按下面這兩步進行)
  執行命令 (1)hostname chaoren //設定當前主機名為chaoren,但是重啟系統後會失效
       (2)vi /etc/sysconfig/network //編輯檔案設定主機名,重啟後不會失效
1.5 ip與hostname繫結
  執行命令 vi /etc/hosts //在檔案下面增加一行 192.168.80.100 chaoren
  驗證: ping chaoren
1.6 設定ssh免密碼登陸
  執行命令 (1)ssh-keygen -t rsa //一直回車即可
       (2)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
  驗證: ssh chaoren


windows與Linux之間傳輸檔案工具: WinSCP
安裝好,開啟設定: 主機名:192.168.56.100 使用者名稱:root 密碼:hadoop
然後點選儲存,勾選上儲存密碼,然後雙擊連線登入。
將左側Windows下的檔案,拖動複製到右側Linux下的目錄/usr/local下。


1.7 安裝jdk
  執行命令 (1)cd /usr/local
       (2)chmod u+x jdk-6u24-linux-i586.bin //增加執行的許可權
       (3)./jdk-6u24-linux-i586.bin //解壓
       (4)mv jdk-1.6.0_24 jdk //重新命名
       (5)vi /etc/profile 增加內容如下:
                export JAVA_HOME=/usr/local/jdk
                export PATH=.:JAVA H OME/bin: JAVAHOME/bin:PATH
       (6)source /etc/profile //重新整理環境變數
  驗證: java -version (改變後,OpenJdk就變成了oracle下的jdk了)
1.8 安裝hadoop
  執行命令 (1)tar -zxvf hadoop-1.1.2.tar.gz //解壓
       (2)mv hadoop-1.1.2 hadoop //重新命名
       (3)vi /etc/profile 修改環境變數,增加內容如下:
                      export JAVA_HOME=/usr/local/jdk
                      export HADOOP_HOME=/usr/local/hadoop
                      export PATH=.:HADOOP H OME/bin: HADOOPHOME/bin:JAVA_HOME/bin:$PATH
       (4)source /etc/profile
       (5)修改conf目錄下的配置檔案(直接在WinSCP中編輯修改儲存)
              

hadoop-env.sh
                    export JAVA_HOME=/usr/local/jdk/
              core-site.xml:
                    
                      
                        fs.default.name
                        hdfs://主機名:9000
                      
                      
                        hadoop.tmp.dir
                        /usr/local/hadoop/tmp
                      
                    
              hdfs-site.xml:
                    
                      
                        dfs.replication
                        1
                      
                      
                        dfs.permissions
                        false
                      
                    
              mapred-site.xml:
                    
                      
                        mapred.job.tracker
                        主機名:9001
                      
                    
      (6)hadoop namenode -format //儲存之前,要對檔案系統進行格式化
      (7)start-all.sh
  驗證: (1)執行命令jps 如果看到5個新的java程序,分別是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker

(2)在瀏覽器檢視,http://chaoren:50070    http://chaoren:50030

在這裡插入圖片描述
      
在這裡插入圖片描述

1.9 啟動時沒有NameNode的可能原因:
  (1)沒有格式化
  (2)環境變數設定錯誤
  (3)ip與hostname繫結失敗