干貨|大數(shù)據(jù)Hadoop快速入門教程
1、Hadoop生態(tài)概況
Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)集成架構(gòu),用戶可以在不了解分布式底層細節(jié)情況下,開發(fā)分布式程序,充分利用集群的威力來進行高速運算與存儲,具有可靠、高效、可伸縮的特點。
Hadoop的核心是YARN,HDFS,Mapreduce,常用模塊架構(gòu)如下
2、HDFS
源自谷歌的GFS論文,發(fā)表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop體系中數(shù)據(jù)存儲管理的基礎(chǔ),它是一個高度容錯的系統(tǒng),能檢測和應(yīng)對硬件故障
HDFS簡化了文件一致性模型,通過流式數(shù)據(jù)訪問,提供高吞吐量應(yīng)用程序數(shù)據(jù)訪問功能,適合帶有大型數(shù)據(jù)集的應(yīng)用程序,它提供了一次寫入多次讀取的機制,數(shù)據(jù)以塊的形式,同時分布在集群不同物理機器
3、Mapreduce
源自于谷歌的MapReduce論文,用以進行大數(shù)據(jù)量的計算,它屏蔽了分布式計算框架細節(jié),將計算抽象成map和reduce兩部分
4、HBASE(分布式列存數(shù)據(jù)庫)
源自谷歌的Bigtable論文,是一個建立在HDFS之上,面向列的針對結(jié)構(gòu)化的數(shù)據(jù)可伸縮,高可靠,高性能分布式和面向列的動態(tài)模式數(shù)據(jù)庫
5、zookeeper
解決分布式環(huán)境下數(shù)據(jù)管理問題,統(tǒng)一命名,狀態(tài)同步,集群管理,配置同步等
6、HIVE
由Facebook開源,定義了一種類似sql查詢語言,將SQL轉(zhuǎn)化為mapreduce任務(wù)在Hadoop上面執(zhí)行
7、flume
日志收集工具
8、yarn分布式資源管理器
是下一代mapreduce,主要解決原始的Hadoop擴展性較差,不支持多種計算框架而提出的,架構(gòu)如下
9、spark
spark提供了一個更快更通用的數(shù)據(jù)處理平臺,和Hadoop相比,spark可以讓你的程序在內(nèi)存中運行
10、kafka
分布式消息隊列,主要用于處理活躍的流式數(shù)據(jù)
11、Hadoop偽分布式部署
目前而言,不收費的Hadoop版本主要有三個,都是國外廠商,分別是
- 1、Apache原始版本
- 2、CDH版本,對于國內(nèi)用戶而言,絕大多數(shù)選擇該版本
- 3、HDP版本
這里我們選擇CDH版本hadoop-2.6.0-cdh5.8.2.tar.gz,環(huán)境是CentOS7.1,jdk需要1.7.0_55以上
[root@hadoop1 ~]# useradd hadoop
我的系統(tǒng)默認自帶的java環(huán)境如下
增加如下環(huán)境變量
做好如下授權(quán)
這里以Hadoop用戶來進行管理和啟動Hadoop的各種服務(wù)
查看服務(wù)啟動情況