大數據技術之_03_Hadoop學習_01_入門_大數據概論+從Hadoop框架討論大數據生態+Hadoop運行環境搭建(開發重點)

第1章 大數據概論1.1 大數據概念1.2 大數據特色(4V)1.3 大數據應用場景1.4 大數據發展前景1.5 大數據部門業務流程分析1.6 大數據部門組織結構(重點)第2章 從Hadoop框架討論大數據生態2.1 Hadoop是什麼2.2 Hadoop發展歷史2.3 Hadoop三大發行版本2.4 Hadoop的優點(4高)2.5 Hadoop組成(面試重點)2.5.1 HDFS架構概述2.5.2 YARN架構概述2.5.3 MapReduce架構概述2.6 大數據技術生態體系2.7 推薦系統框架圖第3章 Hadoop運行環境搭建(開發重點)3.1 虛擬機環境準備3.2 安裝JDK3.3 安裝Hadoop3.4 Hadoop目錄結構css


第1章 大數據概論

1.1 大數據概念

大數據概念如圖1-1 所示。html

圖1-1 大數據概念圖1-1 大數據概念

1.2 大數據特色(4V)

大數據特色如圖1-2,1-3,1-4,1-5所示:java

圖1-2 大數據特色之大量圖1-2 大數據特色之大量 圖1-3 大數據特色之高速圖1-3 大數據特色之高速 圖1-4 大數據特色之多樣圖1-4 大數據特色之多樣 圖1-5 大數據特色之低價值密度圖1-5 大數據特色之低價值密度

1.3 大數據應用場景

大數據應用場景如圖1-6,1-7,1-8,1-9,1-10,1-11所示。node

圖1-6 大數據應用場景之物流倉儲圖1-6 大數據應用場景之物流倉儲 圖1-7 大數據應用場景之零售圖1-7 大數據應用場景之零售 圖1-8 大數據應用場景之旅遊圖1-8 大數據應用場景之旅遊 圖1-9 大數據應用場景之商品廣告推薦圖1-9 大數據應用場景之商品廣告推薦 圖1-10 大數據應用場景之保險、金融及房產圖1-10 大數據應用場景之保險、金融及房產 圖1-11 大數據應用場景人工智能圖1-11 大數據應用場景人工智能

1.4 大數據發展前景

大數據發展前景如圖1-12,1-13,1-14,1-15,1-16所示linux

圖1-12 大數據發展前景之國家政策圖1-12 大數據發展前景之國家政策 圖1-13 大數據發展前景之國際方面圖1-13 大數據發展前景之國際方面 圖1-14 大數據發展前景之高校方面圖1-14 大數據發展前景之高校方面 圖1-15 大數據發展前景之平均薪資圖1-15 大數據發展前景之平均薪資 圖1-16 大數據發展前景之總體薪資圖1-16 大數據發展前景之總體薪資

1.5 大數據部門業務流程分析

大數據部門業務流程分析如圖1-17所示。面試

圖1-17 大數據部門業務流程分析圖1-17 大數據部門業務流程分析

1.6 大數據部門組織結構(重點)

大數據部門組織結構,適用於大中型企業,如圖1-18所示。shell

圖1-18 大數據部門組織結構圖1-18 大數據部門組織結構
補充:
企業數據部-組織架構圖1:
圖1-19 企業數據部-組織架構圖1圖1-19 企業數據部-組織架構圖1
企業數據部-組織架構圖2:
圖1-20 企業數據部-組織架構圖2圖1-20 企業數據部-組織架構圖2
阿里雲-數加:
圖1-21阿里雲-數加圖1-21阿里雲-數加

第2章 從Hadoop框架討論大數據生態

2.1 Hadoop是什麼

圖2-1 Hadoop是什麼圖2-1 Hadoop是什麼

2.2 Hadoop發展歷史

圖2-2 Hadoop發展歷史圖2-2 Hadoop發展歷史 圖2-2 Hadoop發展歷史圖2-2 Hadoop發展歷史

2.3 Hadoop三大發行版本

  • Hadoop(哈道普)三大發行版本:Apache、Cloudera、Hortonworks。
      Apache版本最原始(最基礎)的版本,對於入門學習最好。
      Cloudera在大型互聯網企業中用的較多。(簡稱:CDH版,收費)
      Hortonworks文檔較好。數據庫

  • 一、Apache Hadoop
    官網地址:http://hadoop.apache.org/releases.html
    下載地址:https://archive.apache.org/dist/hadoop/common/apache

  • 二、Cloudera Hadoop
    官網地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
    下載地址:http://archive-primary.cloudera.com/cdh5/cdh/5/vim

    • (1)2008年成立的Cloudera是最先將Hadoop商用的公司,爲合做夥伴提供Hadoop的商用解決方案,主要是包括支持、諮詢服務、培訓。
    • (2)2009年Hadoop的創始人Doug Cutting也加盟Cloudera公司。Cloudera產品主要爲CDH,Cloudera Manager,Cloudera Support。
    • (3)CDH是Cloudera的Hadoop發行版,徹底開源,比Apache Hadoop在兼容性,安全性,穩定性上有所加強。
    • (4)Cloudera Manager是集羣的軟件分發及管理監控平臺,能夠在幾個小時內部署好一個Hadoop集羣,並對集羣的節點及服務進行實時監控。Cloudera Support便是對Hadoop的技術支持。
    • (5)Cloudera的標價爲每一年每一個節點4000美圓。Cloudera開發並貢獻了可實時處理大數據的Impala項目。
  • 三、Hortonworks Hadoop
    官網地址:https://hortonworks.com/products/data-center/hdp/
    下載地址:https://hortonworks.com/downloads/#data-platform

    • (1)2011年成立的Hortonworks是雅虎與硅谷風投公司Benchmark Capital合資組建。
    • (2)公司成立之初就吸納了大約25名至30名專門研究Hadoop的雅虎工程師,上述工程師均在2005年開始協助雅虎開發Hadoop,貢獻了Hadoop80%的代碼。
    • (3)雅虎工程副總裁、雅虎Hadoop開發團隊負責人Eric Baldeschwieler出任Hortonworks的首席執行官。
    • (4)Hortonworks的主打產品是Hortonworks Data Platform(HDP),也一樣是100%開源的產品,HDP除常見的項目外還包括了Ambari,一款開源的安裝和管理系統。
    • (5)HCatalog,一個元數據管理系統,HCatalog現已集成到Facebook開源的Hive中。Hortonworks的Stinger開創性的極大的優化了Hive項目。Hortonworks爲入門提供了一個很是好的,易於使用的沙盒。
    • (6)Hortonworks開發了不少加強特性並提交至核心主幹,這使得Apache Hadoop可以在包括Window Server和Windows Azure在內的Microsoft Windows平臺上本地運行。訂價以集羣爲基礎,每10個節點每一年爲12500美圓。

2.4 Hadoop的優點(4高)

2.5 Hadoop組成(面試重點)

圖2-3 Hadoop1.x與Hadoop2.x的區別圖2-3 Hadoop1.x與Hadoop2.x的區別

2.5.1 HDFS架構概述

HDFS(Hadoop Distributed File System)的架構概述,如圖2-4所示。

圖2-4 HDFS架構概述圖2-4 HDFS架構概述

2.5.2 YARN架構概述

YARN架構概述,如圖2-5所示。

圖2-5 YARN架構概述圖2-5 YARN架構概述

2.5.3 MapReduce架構概述

MapReduce將計算過程分爲兩個階段:Map和Reduce,如圖2-6所示。
1)Map階段並行處理輸入數據
2)Reduce階段對Map結果進行彙總

圖2-6 MapReduce架構概述圖2-6 MapReduce架構概述

2.6 大數據技術生態體系

大數據技術生態體系如圖2-7所示。

圖2-7  大數據技術生態體系圖2-7 大數據技術生態體系

圖中涉及的技術名詞解釋以下:
1)Sqoop:Sqoop(斯庫伯)是一款開源的工具,主要用於在Hadoop、Hive與傳統的數據庫(MySql)間進行數據的傳遞,能夠將一個關係型數據庫(例如 :MySQL,Oracle等)中的數據導進到Hadoop的HDFS中,也能夠將HDFS的數據導進到關係型數據庫中。
2)Flume:Flume(弗魯姆)是Cloudera提供的一個高可用的,高可靠的,分佈式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各種數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各類數據接受方(可定製)的能力。
3)Kafka:Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,有以下特性:
  (1)經過O(1)的磁盤數據結構提供消息的持久化,這種結構對於即便數以TB的消息存儲也可以保持長時間的穩定性能。
  (2)高吞吐量:即便是很是普通的硬件Kafka也能夠支持每秒數百萬的消息。
  (3)支持經過Kafka服務器和消費機集羣來分區消息。
  (4)支持Hadoop並行數據加載。
4)Storm:Storm用於「連續計算」,對數據流作連續查詢,在計算時就將結果以流的形式輸出給用戶。
5)Spark:Spark是當前最流行的開源大數據內存計算框架。能夠基於Hadoop上存儲的大數據進行計算。
6)Oozie:Oozie是一個管理Hdoop做業(job)的工做流程調度管理系統。
7)Hbase:HBase是一個分佈式的、面向列的開源數據庫。HBase不一樣於通常的關係數據庫,它是一個適合於非結構化數據存儲的數據庫。
8)Hive:Hive是基於Hadoop的一個數據倉庫工具,能夠將結構化的數據文件映射爲一張數據庫表,並提供簡單的SQL查詢功能,能夠將SQL語句轉換爲MapReduce任務進行運行。其優勢是學習成本低,能夠經過類SQL語句快速實現簡單的MapReduce統計,沒必要開發專門的MapReduce應用,十分適合數據倉庫的統計分析。
10)R語言:R是用於統計分析、繪圖的語言和操做環境。R是屬於GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用於統計計算和統計製圖的優秀工具。
11)Mahout:Apache Mahout(麥浩特)是個可擴展的機器學習和數據挖掘庫。
12)ZooKeeper:Zookeeper是Google的Chubby一個開源的實現。它是一個針對大型分佈式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、 分佈式同步、組服務等。ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。

2.7 推薦系統框架圖

推薦系統項目架構如圖2-8所示。

圖2-8推薦系統項目架構圖2-8推薦系統項目架構

第3章 Hadoop運行環境搭建(開發重點)

3.1 虛擬機環境準備

演示以CentOS6X爲例:
一、完整克隆虛擬機或者複製虛擬機都可
  (注意:完整克隆虛擬機和複製虛擬機文件的區別:兩者沒什麼區別,本質同樣。只是在開機的時候,複製的虛擬機須要選擇【我已複製該虛擬機】)
二、修改虛擬機的靜態IP
  (注意:複製的虛擬機會新生成一張網卡,即虛擬出一張網卡:eth1,咱們可使用該網卡,也能夠不使用而繼續使用eth0,可是須要配置,即修改MAC地址便可。虛擬技術的精髓!
三、修改主機名
  (配置Linux系統中ip地址與主機名映射,還須要配置Windows系統中Linux的ip地址與主機名映射,這樣爲了方便後續操做。注意:CentOS6X和CenOS7X的主機名配置的區別)
四、永久關閉防火牆
  (實際開發中不建議永久關閉防火牆,須要使用什麼端口,開放便可。注意:CentOS6X和CenOS7X的防火牆配置的區別)
五、建立atguigu用戶
  (注意:建立用戶後要及時設置用戶密碼,這是一個好習慣!)
六、配置atguigu用戶具備root權限
  (並不是全部用戶都可以執行sudo,由於有權限的用戶須要在/etc/sudoers中進行配置後纔可使用,注意:sudoers的權限是0440,即只有root才能讀。在你用root或sudo編輯後強行保存並退出(wq!)便可。)

以上六步驟完成後,建議重啓虛擬機。
步驟以下:
完整克隆虛擬機

打開克隆的虛擬機,進行以下配置:
修改虛擬機的靜態IP

修改主機名

永久關閉防火牆

重啓虛擬機,測試一下,是否以上配置成功,沒有問題

配置成功後,咱們使用遠程終端連接上Linux,進行如下操做:


建立atguigu用戶並設置用戶密碼,已建立,簡單,不在贅圖!
配置atguigu用戶具備root權限,命令: [root@hadoop101 ~]# vim /etc/sudoers

至此準備工做完成!!!

七、在/opt/目錄下建立文件夾
(1)在/opt目錄下建立module、software文件夾,因爲rh是空文件夾,咱們將其刪除掉,這樣清爽!

[atguigu@hadoop101 opt]$ sudo mkdir module
[atguigu@hadoop101 opt]$ sudo mkdir software
[atguigu@hadoop101 opt]$ sudo rm -rf rh/

(2)修改module、software文件夾的全部者和所在組爲atguigu

[atguigu@hadoop101 opt]$ sudo chown atguigu:atguigu modulesoftware/
[atguigu@hadoop101 opt]$ ll
總用量 8
drwxr-xr-x. 2 atguigu atguigu 4096 1月  17 14:37 module
drwxr-xr-x. 2 atguigu atguigu 4096 1月  17 14:38 software

以下圖所示:

3.2 安裝JDK

一、卸載現有JDK
(1)查詢是否安裝Java軟件:

[atguigu@hadoop101 opt]$ rpm -qa | grep java
或者
[atguigu@hadoop101 opt]$ rpm -qa | grep jdk

(2)若是安裝的版本低於1.7,卸載該JDK:

[atguigu@hadoop101 opt]$ sudo rpm -e --nodeps 軟件包

(3)查看JDK安裝路徑:

[atguigu@hadoop101 ~]$ which java

二、用SecureCRT工具或者Xshell6將JDK導入到opt目錄下面的software文件夾下面。
三、在Linux系統下的opt目錄中查看軟件包是否導入成功

[atguigu@hadoop101 opt]$ cd software/
[atguigu@hadoop101 software]$ ll
總用量 374196
-rw-r--r--. 1 root root 197657687 1月  29 17:10 hadoop-2.7.2.tar.gz
-rw-r--r--. 1 root root 185515842 1月  29 17:10 jdk-8u144-linux-x64.tar.gz

四、解壓JDK到/opt/module目錄下

[atguigu@hadoop101 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

五、配置JDK環境變量
(1)先獲取JDK路徑

[atguigu@hadoop101 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144

(2)打開/etc/profile文件

[atguigu@hadoop101 software]$ sudo vim /etc/profile
在profile文件末尾添加JDK路徑(Shift+G),有兩種格式:
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

或者

#JAVA_HOME
JAVA_HOME=/opt/module/jdk1.8.0_144
JRE_HOME=/opt/module/jdk1.8.0_144/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

(3)保存後退出

:wq

(4)讓修改後的文件生效

[atguigu@hadoop101 jdk1.8.0_144]$ source /etc/profile

六、測試JDK是否安裝成功

[atguigu@hadoop101 jdk1.8.0_144]# java -version
java version "1.8.0_144"
注意:重啓(若是java -version能夠用就不用重啓)

[atguigu@hadoop101 jdk1.8.0_144]$ sync
[atguigu@hadoop101 jdk1.8.0_144]$ sudo reboot

3.3 安裝Hadoop

0、Hadoop下載地址:
  https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
一、用SecureCRT工具將hadoop-2.7.2.tar.gz導入到opt目錄下面的software文件夾下面
切換到sftp鏈接頁面,選擇Linux下編譯的hadoop jar包拖入。
二、進入到Hadoop安裝包路徑下

[atguigu@hadoop101 ~]$ cd /opt/software/

三、解壓安裝文件到/opt/module下面

[atguigu@hadoop101 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

四、查看是否解壓成功

[atguigu@hadoop101 software]$ ls /opt/module/
hadoop-2.7.2

五、將Hadoop添加到環境變量
(1)獲取Hadoop安裝路徑

[atguigu@hadoop101 hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2

(2)打開/etc/profile文件

[atguigu@hadoop101 hadoop-2.7.2]$ sudo vim /etc/profile
在profile文件末尾添加JDK路徑:(shitf+g)

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

(3)保存後退出

:wq

(4)讓修改後的文件生效

[atguigu@ hadoop101 hadoop-2.7.2]$ source /etc/profile

六、測試是否安裝成功

[atguigu@hadoop101 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2

七、重啓(若是Hadoop命令不能用再重啓)

[atguigu@ hadoop101 hadoop-2.7.2]$ sync
[atguigu@ hadoop101 hadoop-2.7.2]$ sudo reboot

3.4 Hadoop目錄結構

一、查看Hadoop目錄結構

[atguigu@hadoop101 hadoop-2.7.2]$ ll
總用量 52
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 bin
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 etc
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 include
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 lib
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 libexec
-rw-r--r--. 1 atguigu atguigu 15429 5月  22 2017 LICENSE.txt
-rw-r--r--. 1 atguigu atguigu   101 5月  22 2017 NOTICE.txt
-rw-r--r--. 1 atguigu atguigu  1366 5月  22 2017 README.txt
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 sbin
drwxr-xr-x. 4 atguigu atguigu  4096 5月  22 2017 share

二、重要目錄(1)bin目錄:存放對Hadoop相關服務(HDFS,YARN,Hadoop)進行操做的腳本(2)etc目錄:Hadoop的配置文件目錄,存放Hadoop的配置文件(3)lib目錄:存放Hadoop的本地庫(對數據進行壓縮解壓縮功能)(4)sbin目錄:存放啓動或中止Hadoop相關服務的腳本(5)share目錄:存放Hadoop的依賴jar包、文檔、和官方案例

相關文章
相關標籤/搜索