大數(shù)據(jù)基礎(chǔ)
第一節(jié):什么是大數(shù)據(jù)埋嵌,本質(zhì)雹嗦?
(1)數(shù)據(jù)的存儲(chǔ):分布式文件系統(tǒng)(分布式存儲(chǔ))
(2)數(shù)據(jù)的計(jì)算:分布式計(jì)算
第二節(jié):JAVA和大數(shù)據(jù)是什么關(guān)系了罪?
1、HADOOP:基于JAVA語(yǔ)言開(kāi)發(fā)
2田藐、SPARK: 基于SCALA語(yǔ)言吱七,SCALA基于JAVA語(yǔ)言
第三節(jié):學(xué)習(xí)大數(shù)據(jù)需要的基礎(chǔ)和路線
1踊餐、學(xué)習(xí)大數(shù)據(jù)需要的基礎(chǔ):JAVA基礎(chǔ)(JAVASE)---> 類吝岭、繼承周叮、I/O牍戚、反射、泛型*****
LINUX基礎(chǔ)(LINUX的操作) ---> 創(chuàng)建文件失乾、目錄碱茁、VI編輯器***
2、學(xué)習(xí)路線:
(1)JAVA基礎(chǔ)和LINUX基礎(chǔ)
(2)HADOOP的學(xué)習(xí):體系結(jié)構(gòu)墓贿、原理募壕、編程
(*)第一階段:HDFS语盈、MAPREDUCE刀荒、HBASE(NOSQL數(shù)據(jù)庫(kù))
(*)第二階段:數(shù)據(jù)分析引擎 ---> HIVE、PIG
數(shù)據(jù)采集引擎 ---> SQOOP干毅、FLUME
(*)第三階段:HUE:WEB管理工具
ZOOKEEPER:實(shí)現(xiàn)HADOOP的HA
OOZIE: 工作流引擎
(3)SPARK的學(xué)習(xí)
(*)第一個(gè)階段:SCALA編程語(yǔ)言
(*)第二個(gè)階段:SPARK CORE-----> 基于內(nèi)存硝逢,數(shù)據(jù)的計(jì)算
(*)第三個(gè)階段:SPARK SQL -----> 類似ORACLE中的SQL語(yǔ)句
(*)第四個(gè)階段:SPARK STREAMING ---> 進(jìn)行實(shí)時(shí)計(jì)算(流式計(jì)算):比如:自來(lái)水廠
(4)APACHE STORM:類似SPARK STREAMING ---> 進(jìn)行實(shí)時(shí)計(jì)算(流式計(jì)算):比如:自來(lái)水廠
(*)NOSQL:REDIS基于內(nèi)存的數(shù)據(jù)庫(kù)
Hadoop背景起源一 HDFS
一渠鸽、什么是大數(shù)據(jù)柴罐,本質(zhì)革屠?
(1)數(shù)據(jù)的存儲(chǔ):分布式文件系統(tǒng)(分布式存儲(chǔ))-----> HDFS: Hadoop Distributed File System
(2)數(shù)據(jù)的計(jì)算:分布式計(jì)算
二排宰、如何解決大數(shù)據(jù)的存儲(chǔ)板甘?----> 分布式文件系統(tǒng)(HDFS虾啦,來(lái)源于GFS)
舉例:網(wǎng)盤(pán)
(1) GFS: 沒(méi)有硬盤(pán)的傲醉,數(shù)據(jù)只能存在內(nèi)存中
(2) Hadoop的安裝模式
(*)本地模式 :1臺(tái)
(*)偽分布模式:1臺(tái)
(*)全分布模式:3臺(tái)
Hadoop背景起源二 MapReduce
一硬毕、如何解決大數(shù)據(jù)的計(jì)算礼仗?分布式計(jì)算
(1)什么是PageRank(MapReduce的問(wèn)題的來(lái)源)
(*) 搜索排名
(2)MapReduce(Java語(yǔ)言實(shí)現(xiàn))基礎(chǔ)編程模型: 把一個(gè)大任務(wù)拆分成小任務(wù)元践,再進(jìn)行匯總
(*) 更簡(jiǎn)單一點(diǎn)例子
Hadoop背景起源三 BigTable
第一節(jié):關(guān)系型數(shù)據(jù)庫(kù)(Oracle沪羔、MySQL、SQL Server)的特點(diǎn)
1蔫饰、什么是關(guān)系型數(shù)據(jù)庫(kù)篓吁?基于關(guān)系模型(基于二維表)所提出的一種數(shù)據(jù)庫(kù)
2杖剪、ER(Entity-Relationalship)模型:通過(guò)增加外鍵來(lái)減少數(shù)據(jù)的冗余
3驰贷、舉例:學(xué)生-系
第二節(jié):什么是BigTable饱苟?: 把所有的數(shù)據(jù)保存到一張表中箱熬,采用冗余 ---> 好處:提高效率
1、因?yàn)橛辛薭igtable的思想:NoSQL:HBase數(shù)據(jù)庫(kù)
2蚤认、HBase基于Hadoop的HDFS的
3糕伐、描述HBase的表結(jié)構(gòu)
關(guān)系型數(shù)據(jù)庫(kù)描述
Hadoop安裝
準(zhǔn)備實(shí)驗(yàn)的環(huán)境:
1陪汽、安裝Linux褥蚯、JDK
2赞庶、配置主機(jī)名、免密碼登錄
3澜薄、約定:安裝目錄:/root/training
安裝:
1摊册、解壓 : tar -zxvf hadoop-2.4.1.tar.gz -C /root/training/
2茅特、設(shè)置環(huán)境變量: vi ~/.bash_profile
HADOOP_HOME=/root/training/hadoop-2.4.1
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
生效環(huán)境變量: source ~/.bash_profile
第一節(jié):Hadoop的目錄結(jié)構(gòu)
第二節(jié):Hadoop的本地模式
1、特點(diǎn):不具備HDFS饭庞,只能測(cè)試MapReduce程序
2舟山、修改hadoop-env.sh
修改第27行:export JAVA_HOME=/root/training/jdk1.7.0_75
3卤恳、演示Demo: $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar
命令:hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /root/data/input/data.txt /root/data/output/wc
日志:17/08/04 23:28:38 INFO mapreduce.Job: map 100% reduce 100%
注意:MR有一個(gè)默認(rèn)的排序規(guī)則
第三節(jié):Hadoop的偽分布模式
1若债、特點(diǎn):具備Hadoop的所有功能蠢琳,在單機(jī)上模擬一個(gè)分布式的環(huán)境
(1)HDFS:主:NameNode啊终,數(shù)據(jù)節(jié)點(diǎn):DataNode
(2)Yarn:容器,運(yùn)行MapReduce程序
主節(jié)點(diǎn):ResourceManager
從節(jié)點(diǎn):NodeManager
2泰讽、步驟:
(1)hdfs-site.xml
<!--配置HDFS的冗余度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置是否檢查權(quán)限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
(2)core-site.xml
<!--配置HDFS的NameNode-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.88.11:9000</value>
</property>
<!--配置DataNode保存數(shù)據(jù)的位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.4.1/tmp</value>
</property>
(3) mapred-site.xml
<!--配置MR運(yùn)行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(4) yarn-site.xml
<!--配置ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.88.11</value>
</property>
<!--配置NodeManager執(zhí)行任務(wù)的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(5) 格式化NameNode
hdfs namenode -format
日志:Storage directory /root/training/hadoop-2.4.1/tmp/dfs/name has been successfully formatted.
(6) 啟動(dòng):start-all.sh
(*) HDFS: 存儲(chǔ)數(shù)據(jù)
(*) Yarn:執(zhí)行計(jì)算
(7) 訪問(wèn):(*)命令行
(*)Java API
(*)Web Console:
HDFS:http://192.168.88.11:50070
Yarn:http://192.168.88.11:8088
Hadoop的目錄結(jié)構(gòu).png