Hadoop是一個由Apache基金會所開發的分佈式系統基礎架構。html
hadoop 就是專一於批量數據處理java
Hadoop是一個實現了MapReduce計算模式的可以對大量數據進行分佈式處理的軟件框架,是以一種可靠、高效、可伸縮的方式進行處理的。node
Hadoop計算框架最核心的設計是HDFS(Hadoop Distributed File System)和MapReduce,HDFS單看全稱就知道,實現了一個分佈式的文件系統,MapReduce則是提供一個計算模型,基於分治策略。 linux
在大數據關鍵技術中,Hadoop的分佈式文件系統HDFS屬於大數據 存儲技術git
用戶能夠在不瞭解分佈式底層細節的狀況下,開發分佈式程序。充分利用集羣的威力進行高速運算和存儲。面試
企業發展到必定規模都會搭建單獨的BI平臺來作數據分析,即OLAP(聯機分析處理),通常都是基於數據庫技術來構建,基本都是單機產品。除了業務數據的相關分析外,互聯網企業還會對用戶行爲進行分析,進一步挖掘潛在價值,這時數據就會膨脹得很厲害,一天的數據量可能會成千萬或上億,對基於數據庫的傳統數據分析平臺的數據存儲和分析計算帶來了很大挑戰。數據庫
分佈式文件系統種類:Google File System. HDFS. TFS. Glus-terFS、Ceph、 MogileFS、MooseFS FastDFSvim
爲了應對隨着數據量的增加、數據處理性能的可擴展性,許多企業紛紛轉向Hadoop平臺來搭建數據分析平臺。Hadoop平臺具備分佈式存儲及並行計算的特性,所以可輕鬆擴展存儲結點和計算結點,解決數據增加帶來的性能瓶頸。數組
Hadoop實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特色,而且設計用來部署在低廉的(low-cost)硬件上;並且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,能夠以流的形式訪問(streaming access)文件系統中的數據。瀏覽器
Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS爲海量的數據提供了存儲,則MapReduce爲海量的數據提供了計算。
Hadoop主機
Hadoop分別從三個角度將主機劃分爲兩種角色。
(1)、最基本的劃分爲Master和Slave,即主人和奴隸,Master算是中間節點,而Slave算是其下的控制節點;
(2)、從HDFS的角度,將主機劃分爲 NameNode和DataNode(在分佈式文件系統中,目錄的管理很重要,管理目錄至關於主人,而NameNode就是目錄管理者);
(3)、從 MapReduce的角度,將主機劃分JobTracker 和TaskTracker(一個job常常被劃分爲多個Task,從這個角度不難理解它們之間的關係);
Hadoop是一個可以對大量數據進行分佈式處理的軟件框架。 Hadoop 以一種可靠、高效、可伸縮的方式進行數據處理。
高可靠性。由於它假設計算元素和存儲會失敗,所以它維護多個工做數據副本,確保可以針對失敗的節點從新分佈處理。
高效性,由於它以並行的方式工做,經過並行處理加快處理速度。Hadoop可以在節點之間動態地移動數據,並保證各個節點的動態平衡,所以處理速度很是快。
高擴展性。,可以處理 PB 級數據。在可用的計算機集簇間分配數據並完成計算任務的,這些集簇能夠方便地擴展到數以千計的節點中。
高容錯性。Hadoop可以自動保存數據的多個副本,而且可以自動將失敗的任務從新分配。
低成本。與一體機、商用數據倉庫以及QlikView、Yonghong Z-Suite等數據集市相比,hadoop是開源的,項目的軟件成本所以會大大下降。
此外,Hadoop 依賴於社區服務,所以它的成本比較低,任何人均可以使用。
Hadoop是一個可以讓用戶輕鬆架構和使用的分佈式計算平臺。用戶能夠輕鬆地在Hadoop上開發和運行處理海量數據的應用程序。它主要有如下幾個優勢:
高可靠性。Hadoop按位存儲和處理數據的能力值得人們信賴。
高擴展性。Hadoop是在可用的計算機集簇間分配數據並完成計算任務的,這些集簇能夠方便地擴展到數以千計的節點中。
高效性。Hadoop可以在節點之間動態地移動數據,並保證各個節點的動態平衡,所以處理速度很是快。
高容錯性。Hadoop可以自動保存數據的多個副本,而且可以自動將失敗的任務從新分配。
低成本。與一體機、商用數據倉庫以及QlikView、Yonghong Z-Suite等數據集市相比,hadoop是開源的,項目的軟件成本所以會大大下降。
Hadoop 由許多元素構成。其最底部是HDFS,它存儲 Hadoop 集羣中全部存儲節點上的文件。HDFS的上一層是MapReduce 引擎,該引擎由 JobTrackers 和 TaskTrackers 組成。經過對Hadoop分佈式計算平臺最核心的分佈式文件系統HDFS、MapReduce處理過程,以及數據倉庫工具Hive和分佈式數據庫Hbase的介紹,基本涵蓋了Hadoop分佈式平臺的全部技術核心。
本文hadoop的版本爲hadoop-2.2.0
1、安裝java jdk
一、下載java jdk1.7版本,放在/home/software目錄下,
2解壓:tar -zxvf java-jdk*****.jar
三、vim /etc/profile
1 2 3 4 5 |
|
四、檢測是否成功安裝:java -version
2、安裝hadoop
一、在linux根路徑建立目錄cloud:sudo mkdir cloud
二、解壓hadoop到cloud目錄中:tar -zxvf hadoop-2.2.0.tar.gz -C /cloud/
三、進入目錄:/cloud/hadoop/etc/hadoop
3、修改配置文件
一、修改hadoop-env.sh,配置java jdk路徑,大概在27行配置,以下:
export JAVA_HOME=/home/software/jdk1.7
二、修改core-site.xml,配置內容以下
1 2 3 4 5 6 7 8 9 10 11 12 |
|
三、修改hdfs-site.xml,修改配置以下
1 2 3 4 5 |
|
四、修改mapred-site.xml 因爲在配置文件目錄下沒有,須要修更名稱:mv mapred-site.xml.template mapred-site.xml
<configuration> <!-- 通知框架MR使用YARN --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
五、修改yarn-site.xml,修改內容以下
1 2 3 4 5 6 7 8 9 10 11 |
|
六、講hadoop添加到環境變量,而後更新一下環境變量:source /etc/profile
export JAVA_HOME=//home/software/jdk1.7 export HADOOP_HOME=/cloud/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
4、啓動hadoop
一、格式化hadoop,進入目錄:/cloud/hadoop/etc/hadoo,執行下列之一命令便可
hadoop namenode -format (過期) hdfs namenode -format
二、啓動hdfs和yarn
先啓動HDFS sbin/start-dfs.sh 再啓動YARN sbin/start-yarn.sh
三、驗證是否成功,使用命令:jps,輸出以下即表示配置成功。
1 2 3 4 5 6 7 |
|
四、能夠在瀏覽器中查看hdfs和mr的狀態.hdfs管理界面:http://localhost:50070 MR的管理界面:http://localhost:8088
5、hdfs基本操做和wordcount程序
一、進入hadoop安裝目錄中的share:/cloud/hadoop/share/hadoop/mapreduce
二、ls列出當前路徑下的文件,內容以下,其中帶有example字樣的爲樣例程序
1 2 3 4 5 6 7 8 9 10 11 12 |
|
三、新建words文件,內容輸入以下,而後使用命令上傳到hdfs目錄下:hadoop fs -put words hdfs://localhost:9000/words
1 2 3 4 |
|
四、在命令行中敲入:hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcounthdfs://localhost:9000/wordshdfs://localhost:9000/out
五、打開頁面:http://localhost:50070/dfshealth.jsp
六、點擊上圖中的Browse the filesystem,跳轉到文件系統界面,以下所示:
七、繼續點擊上圖的out/part-r-00000,wordcount程序最終運行的結果如圖所示:
常見問題 :
一、hadoop主要是用來存儲的,怎麼作數據分析,它在數據處理上的優點是什麼?當初選hadoop的理由是什麼?有沒有和其餘的系統作一個比較?爲何選擇這個?
二、hadoop的mapreduce是怎樣一個過程?(簡歷上寫着瞭解一些hadoop技術。。。)map是怎麼切分數據的?
答:回答了下整個處理過程,最後我說數據處理好後返回給用戶(返回個毛啊,直接存HDFS裏),結果面試官很是驚訝,而後我又說每一個結點處理好後還要通過排序、分組等再返回結果(真是悲劇,又說了次返回)。
三、master單點失效問題,yarn是什麼,最新版是怎麼解決單點失效問題的?
答:《hadoop技術內幕:深刻解析YARN架構設計與實現原理》
四、鏈表和數組的區別?
五、
參考連接 :
https://blog.csdn.net/u012842205/article/details/52267291
連接:
hadoop經常使用服務管理命令 : http://blog.51cto.com/caiguangguang/1579849
Hadoop集羣配置(最全面總結):https://blog.csdn.net/hguisu/article/details/7237395
史上最詳細的Hadoop環境搭建:http://gitbook.cn/books/5954c9600326c7705af8a92a/index.html
Hadoop的講解專欄 : https://blog.csdn.net/column/details/18130.html
大數據 系列: http://club.topsage.com/forum-743-1.html
淺析Hadoop分佈式文件系統 : https://mp.weixin.qq.com/s?src=3×tamp=1535268492&ver=1&signature=IzeGJ7px3Y0KdbFXBDhwEsWrPHqHStK8FY-VE2NWOz*U4WaESnCAKMJYr2dIyNGxn6yq285KAe8KPnyc-iAR7E9UqPYMKO2pX4hLAOSPyE6NeReb1IJiMoQAy7QqGkjknGrwILvUFXhjEZ71Nd3Sn24Mc-l1qJFwOG-L69DB8xY=
Hadoop分佈式文件系統HDFS的工做原理詳述 : https://mp.weixin.qq.com/s?src=3×tamp=1535268492&ver=1&signature=9f4rYV9MBZ2kbADkjAGQaHVrpS8WOUrpbzC12pflTBGTjaZ57*FRl06bgr8MrbCUCtGOwc3An13Udc0zKmrjvM9iCiOj3jUrfZqetf1h*3Wc7GlaU4Nz64koANv6*ABI1HsWpA3N7xljH4Cn2k1Z4Q==
Hadoop分佈式文件系統:架構和設計要點 : https://mp.weixin.qq.com/s?src=3×tamp=1535268492&ver=1&signature=cOaIC8LeZ7x1h-8*nR35Gib7vU*ibCzA8SSURam4gu3T7p2I-P3Ue5GPsQ5gvK*je3AONpFoToNoG-3fGw*H2RPeuTYFTFeZkCrqswkuJ6Vfbpa0sfZnrTvwStnAtPWej750SsmLgDR1dUY1ZcFbsA==
Hadoop分佈式文件系統3-HDFS應用 :https://mp.weixin.qq.com/s?src=11×tamp=1535268492&ver=1083&signature=vh2TIbN4laRGYmFjm0YjUC*V3p7jJNn*y5jRorgB4DojePHD4qdf7yW2D-9b2ujOndcLIJTpVUJGUWpmbKe0DrX7EiL14eqFvl24dDer-I-XR7IZLovBw7Io-S31P-E*&new=1
Hadoop分佈式文件系統-從RAID提及 : https://mp.weixin.qq.com/s?src=11×tamp=1535268492&ver=1083&signature=0WeQe5IIK7M40bOO4tFi*eX3lgMVGP4GiOa6bVM7Yrro4UwaTYLY0QpYBtv9LF4yGdqlrqsZQKfiOmWLnnVRepd8*69LhXuhHI6MCAn5vjNdFkzXACh0H94iccqOYIkZ&new=1
Hadoop分佈式文件系統1-從RAID提及 : https://mp.weixin.qq.com/s?src=11×tamp=1535268492&ver=1083&signature=vh2TIbN4laRGYmFjm0YjUC*V3p7jJNn*y5jRorgB4DouDr5U9eiErTFgKVC2Nx-BphbKFtatgSHasxXiNGwBhpBAUmLoAheJxpUBE7LfAet9aDUYvsPNM9eFxTnYIao1&new=1
Hadoop RPC 源碼解析 : https://blog.csdn.net/paul_wei2008/article/details/19556053
Hadoop SafeModeException: xxxxxxx. Name node is in safe mode解決辦法 : https://blog.csdn.net/SMCwwh/article/details/7490685
hadoop (5篇) : https://blog.csdn.net/qq_28893679/article/category/7712341
腳本之家 hadoop 系列 : https://www.jb51.net/list/list_267_1.htm#
原 SSH免密碼登錄 : https://blog.csdn.net/Sky786905664/article/details/52067398
轉 Linux下開啓Hadoop的9000端口方法 : https://blog.csdn.net/Sky786905664/article/details/52062899
轉 Hadoop啓動時提示的:$HADOOP_HOME is deprecated. : https://blog.csdn.net/Sky786905664/article/details/52061662
轉 《Hadoop基礎教程》之初識Hadoop : https://blog.csdn.net/Sky786905664/article/details/51819599
原 hadoop入門(hadoop安裝-hdfs簡單介紹) : https://blog.csdn.net/ioy84737634/article/details/46761983
Hadoop學習---Zookeeper+Hbase配置學習 : https://www.cnblogs.com/ftl1012/p/9350554.html
Hadoop學習---Hadoop的HBase的學習 : https://www.cnblogs.com/ftl1012/p/9350518.html
Hadoop學習---Hadoop的MapReduce的原理 : https://www.cnblogs.com/ftl1012/p/9350459.html
Hadoop學習---Hadoop的深刻學習 : https://www.cnblogs.com/ftl1012/p/9350261.html
Hadoop學習---Eclipse中hadoop環境的搭建 : https://www.cnblogs.com/ftl1012/p/9350238.html
Hadoop學習---CentOS中hadoop僞分佈式集羣安裝 : https://www.cnblogs.com/ftl1012/p/9350180.html
Hadoop學習---Ubuntu中hadoop徹底分佈式安裝教程 : https://www.cnblogs.com/ftl1012/p/9350035.html
Windows下搭建hadoop 搭建本地hadoop開發環境 : https://www.jianshu.com/p/ea9682377090
Hadoop、Storm、Samza、Spark和Flink大數據框架對比 : https://www.ixdba.net/archives/2017/03/585.htm
集羣環境下Hadoop2.5.2+Zookeeper3.4.6+Hbase0.98+Hive1.0.0安裝目錄總彙 : http://blog.51cto.com/vekergu/p5
hadoop分佈式集羣搭建 ; https://www.cnblogs.com/ityouknow/p/7343995.html
史上最詳細、最全面的Hadoop環境搭建 : https://mp.weixin.qq.com/s/cJ8BeApMW1KGAsZgHBCgog
Hadoop運維必須知道的10個運維技能 : https://www.ixdba.net/archives/2017/03/580.htm
Hadoop/Yarn/MapReduce內存分配(配置)方案 : https://www.ixdba.net/archives/2017/03/536.htm
Hadoop YARN配置參數剖析—Fair Scheduler相關參數 : https://www.ixdba.net/archives/2017/03/528.htm
Hadoop入門掃盲:hadoop發行版介紹與選擇 : https://www.ixdba.net/archives/2016/11/437.htm
Hadoop HA 安裝、佈署 : https://mp.weixin.qq.com/s/47esMUkKqzVPzbTfL1PCuw
Hadoop (34) : https://blog.csdn.net/qq_20545159/article/category/5784915
Hadoop集羣搭建總結及Hadoop2.5集羣僞分佈、徹底分佈搭建總結 :https://mp.weixin.qq.com/s/llSziXPnNgwO6sn6EoX1WA
Hadoop3.0: YARN Resource配置說明 : https://mp.weixin.qq.com/s/zG1C4c5Hz4UVoME0tfRpqQ
hadoop3.0 Yarn支持網絡資源:network原理設計文檔說明【中文】: https://mp.weixin.qq.com/s/Lfy7eovk-3mbBWaOkvLp8Q
Hadoop3.0集羣安裝知識 : https://mp.weixin.qq.com/s/UGuQcQJR1fnw5mp8dbB9Ow
Hadoop3.0通用版集羣安裝高可靠詳細教程【包括零基礎】 : https://mp.weixin.qq.com/s/vtNvIQzRtfbEzpjinZlGGA
擴展Yarn資源模型詳解1 : https://mp.weixin.qq.com/s/_p1Pa5PzajJPsMdbkpAvNA
Hadoop3.0擴展Yarn資源模型詳解2:資源Profiles說明 : https://mp.weixin.qq.com/s/BEsAFw4sbRzwS6shcqAYbg
Hadoop3.0Yarn添加網絡、磁盤IO等資源資料彙總及實戰配置遇到的問題和解決辦法 : https://mp.weixin.qq.com/s/U0pAPMWgow9mJ0rzjs-p-Q
【性能優化的祕密】Hadoop如何將TB級大文件的上傳性能優化上百倍?【石杉的架構筆記】 : https://mp.weixin.qq.com/s/2HM9NMRHizKTJoYjg8lZ1Q
hadoop (22篇) : https://www.cnblogs.com/duanxz/category/691548.html
Hadoop進階之路 : https://www.cnblogs.com/yinzhengjie/tag/Hadoop%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/