1. 程式人生 > >關於Hadoop的基礎認識

關於Hadoop的基礎認識

Hadoop發展史

一、大資料時代背景

      0.大資料(bigdata):大量的資料;單體資料*使用者數 = 大資料

      1.第三次資訊化浪潮的產物,郭士納 IT 十五年/次重大變更 ;

      2.資訊爆炸表現:①技術升級促使個體產生的數量不斷增長(圖片畫素、儲存容量),②網際網路技術和應用的發展,促使網際網路使用者激增

      3.大資料特點:①大量化(volume)、②快速化(velocty)、③多樣化(variety)、④價值化(value)  

                              ①大資料摩爾定律 ②1秒定律 ③由結構化和非結構化(科學研究、企業應用、Web 1.0 /2.0資料)資料組成,資料整合產生化學反應(Palantir 語義知識搜尋挖掘平臺) ④價值密度低,商業價值高

 小結:0.大資料三個特點(大、雜、快) —— 技術挑戰

二、大資料帶來的技術挑戰

     0.儲存裝置容量不斷增加

     1.資料處理——獲取有價值的資訊 搜尋、廣告、推薦

     2.從資料中獲取有價值的資訊 ——計算

     3.資料處理框架: 資料來源—>檔案儲存->資料儲存->資料計算->資料分析 關鍵問題:計算、儲存、容錯 ——hadoop .

三、大資料的影響

     0.科研領域:實驗、理論、計算、資料 吉姆格雷

     1.思維方式:全樣而非抽樣、效率而非精確、相關而非因果

     2.社會發展:決策方式,推進新技術、應用的湧現 就業市場:

     3.熱門職業——資料科學家

     4.人才培養:一定程度上改變中國高校資訊科技相關專業的現有教學和科研體制

四、大資料的應用

    0.無處不在:金融、汽車、零售、餐飲、電信、能源、政務、醫療、體育、娛樂等

    1.交通 手機定位&交通資料 ——城市規劃 電影 《紙牌屋》大資料分析 醫療 谷歌流感趨勢

總結:0.大資料由來、特點、技術挑戰、影響、應用

Hadoop理論概述

     0.前提 儲存、計算->hadoop

一、hadoop 發展簡史

     0.源自2002年Apache Nutch專案——一個開源的網路搜尋引擎 Lucene專案的一部分

     1.2003年,谷歌發表論文GFS 2004年,Nutch 專案模仿GFS開發了分散式檔案系統NDFS(HDFS的前身)

     2.2004年,谷歌公司 MapReduce分散式程式設計思想 3.2005年,Nuth 開源實現谷歌的MapReduce

     4.2006.2 hadoop專案成立 5.2011.5 hadoop1.0.0版本釋出 2012.5 2.0版本釋出

二、Hadoop簡介

     0.Apache 軟體基金會 開源分散式計算平臺 系統底層細節透明的分散式基礎架構 Java語言、跨平臺性 提供海量資料處理能力

     1.核心 分散式檔案系統HDFS(儲存)分散式計算MapReduce(運算)

     2.特性 高可靠性、高效性、高可拓展性、高容錯性、成本低、執行在Linux平臺上、支援多種程式語言

三、Hadoop 生態系統

     0.HDFS 分散式儲存系統 MapReduce 分散式計算框架 ——Hadoop 兩大核心,解決大資料三大特性的技術挑戰

    1.Hive 資料倉庫 將結構化的資料檔案對映為庫表,並提供淺淡的SQL查詢功能 替代MapReduce進行海量運算而進行困難程式設計功能

    2.Pig 工作流引擎 Mahout 資料探勘庫

    3.Flume 日誌收集 網站上的訪問量等 Sqoop 資料庫TEL工具 與傳統資料庫和Hadoop進行資料交換,如關係資料庫

    4.圍繞兩大核心出現的工具,方便呼叫和使用資料

    5.Hbase 分散式資料庫 (MySQL 關係結構資料) 企業、科研等非結構話資料儲存

    6.ZooKeeper分散式協調服務叢集環境及工具的管理

    7.Ambari 安裝部署工具 管理和監控Hadoop叢集的Web介面

    8.Oozie 作業流排程系統

Hadoop偽分佈模式安裝命令

   偽分佈模式環境 Linux Ubuntu 14.04

   平臺 章魚大資料

   ls
1.建立使用者
   sudo useradd -d /home/zhangyu1-m zhangyu1
  設定密碼sudo passwd zhangyu1

  授權 sudo usermod -G sudo zhangyu1

切換賬戶 su -zhangyu1
ssh免密碼登入
ssh-keygen -t rsa
使用預設值 按回車即可
存放位置cd ~/.ssh
ll
建立 toch ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
ssh localhoat
yes
exit
2.安裝Hadoop
建立資料夾
sudo mkdir /apps
sudo mkdir /data
分配屬主許可權
sudo chown -R zhangyu1:zhangyu1 /apps
sudo chown -R zhangyu1:zhangyu1 /data
ls -l /
配置HDFS
新建目錄 mkdir -p /data/hadoop
進入根目錄 cd /
cd /data/hadoop/
ls
下載
wget http://192.168.1.100:60000/allfiles jdk-7u75-linux-x64.tar.gz
wget http://192.168.1.100:60000/allfiles /hadoop1/hadoop-2.6.0-cdh5.4.5.tar.gz
配置環境變數
解壓
tar -xzvf /data/hadoop jdk-7u75-linux-x64.tar.gz
ls
tar -xzvf /data/hadoop hadoop-2.6.0-cdh5.4.5.tar.gz
ls
重新命名
mv /data/hadoop/jdk1.7.0_75/ java
mv /data/hadoop/hadoop-2.6.0-cdh5.4.5 hadoop
ls
移動檔案至指定目錄
mv /data/hadoop/java /apps/
mv /data/hadoop/hadoop /apps/
cd /apps
ls
新增環境變數
sudo vim ~/.bashrc
按i鍵進入
#java
export JAVA_HOME=/apps/java
export PATH=$JAVA_HOME/bin:$PATH
#hadoop
export HADOOP=/apps/hadoop
export PATH=$HADOOP/bin:$PATH
按ESC
:wq儲存並退出
重啟
source ~/.bashrc
java 執行
javac 編譯
版本檢視
hadoop version
修改hadoop相關配置
clear
cd /apps/hadoop/etc/hadoop
ls
vim hadoop-env.sh
export JAVA_HOME=/apps/java
esc :wq
vim core-site.xml
複製貼上

.....

esc :wq
建立目錄
mkdir -p /data/tmp/hadoop/tmp
vim hadfs-site.xml
複製貼上

.....


mkdir -p /data/tmp/hadoop/hdfs/name
mkdir -p /data/tmp/hadoop/hdfs/data
vim slaves
格式化
hadoop namenode -format
啟動hadoop
cd /apps/hadoop/sbin/
ls
./start-all.sh
yes
查詢
jps
檢測
建立命令
hadoop fs -mkdir /test
hadoop fs -ls/
配置MapReduce
cd /apps/hadoop/edc/hadoop
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
複製貼上
。。。
esc :wq
vim yarn-site.xml
複製貼上
。。。
esc :wq
cd /apps/hadoop/sbin/
ls
./start-yarn.sh
./stop-all.sh
jps
./start-all.sh
解決mapred-site.xml中的錯誤
cd /apps/hadoo/etc/hadoop
vim mapred-site.xml
clear
cd /apps/hadoop/sbin/
ls
./stop-all.sh
./start-all.sh
jps