Hello你們好,我是韓數
。距離咱們上一個系列寫給後端的Nginx初級入門教程已通過去整整25天了,中間穿插了兩篇區塊鏈相關的文章,其實吧,這二十來天我一直在憋大招,那就是這個最新的系列寫給後端的Hadoop初級入門教程,因爲Hadoop自己的技術細節仍是不少的,Hadoop基礎環境的搭建
,分佈式僞分佈式的部署
,集羣啓動的準備
,hdfs文件系統
,MR編程模型
,以及最後的優化
等等,整個一套寫下來工做量仍是蠻大的,好在我快放寒假了(開心),這樣使得我有充足的時間和精力去寫這套教程,一來是爲了幫助本身在寫做的時候更加深刻地理解這方面的知識,而來是但願能夠幫助到那些剛剛準備入門大數據的朋友們去理解和使用Hadoop這門技術。畢竟你們都知道,如今網上搜到的那些技術教程,質量良莠不齊,一不當心踩到坑就是:java
一電腦,一根菸,一篇教程學半天,調試半天卻不對,想送做者上青天。git
好溼好溼,本篇文章做爲整套Hadoop入門教程的第一篇,咱們依然從最基礎的概念提及,什麼是大數據,大數據如何影響咱們的生活?什麼是Hadoop,Hadoop和其餘大數據技術相比又有哪些優點?明白了這些問題,我相信再學大數據,雖然不能說有buff加成,可是至少知道本身接下來要學的這玩意兒是個啥了。github
不廢話,直接上東西編程
大數據 (Big Data) : 主要是指沒法在必定範圍
內用常規軟件工具進行捕捉,管理和處理的數據集合,是須要新處理模式才能具備更強的決策力,洞察發現力和流程優化能力的海量,高增加率和多樣化的信息資產
。後端
一句話解釋:大數據就是大量數據,數據多到傳統方案沒法處理的程度。架構
固然數據的體量並非最重要的,重要的是隱藏在這些數據中的信息
,這些信息不管是在商業上仍是在研究上都有着巨大的價值,電商經過挖掘這些數據中的信息爲每一個用戶畫像,而且推薦合適的商品給用戶增長購買,固然,也能夠順便調整一下改個價格殺個熟什麼的。框架
但咱們畢竟是嚴謹的理科生啊,你說大數據大數據,多大才是大數據?爲了解決這個問題,減小撕逼,科學家就制定了一系列的數據單位,從小到大依次是:運維
bit
Byte
KB
MB
GB
TB
PB
EB
ZB
YB
BB
NB(牛逼)
和 DB(呆逼)
分佈式
固然,光講這些單位有什麼意思,我怎麼能知道這些單位能存多少數據?爲了方便你們更加直接的感覺到這些數據單位的威力,我找了一些小栗子:工具
剛纔好像混入了什麼奇怪的東西。
大量:
必須的,不大都很差意思叫大數據。高速:
這麼多數據確定要快速消化掉的,處理幾十年也等不起啊,今年雙十一的成交額總不能算到明年雙十一再公佈吧。多樣:
不一樣的場景會產生不一樣的數據,優酷就是用戶瀏覽數據,視頻數據,QQ音樂就是音樂數據。低價值密度:
這個意思是即便數據量很大,可是咱們關注的始終的特定的部分,而非總體,就像警察叔叔調監控同樣,一年前一個月前的數據一般對他來講是沒什麼用的,他只要那麼幾個關鍵節點的監控數據就能夠了。應用場景就不說了,哪都是應用場景。
知道了什麼是大數據,咱們就得思考另一個問題,弄這麼多的數據我放哪啊?
槓精:
不明擺着的麼,固然放硬盤裏啊,要不放哪兒,還能寫紙上? 我:
硬盤我知道,但是萬一這塊硬盤壞了,那數據不就沒了嗎?
路人
:你係不繫傻,你多放幾塊硬盤,分別放上去不就好了嗎?
這個時候Hadoop
來了,弟弟們都往邊上靠靠,大家那種辦法太笨拙,交給我,輕輕鬆鬆地給你搞定,小意思。
Hadoop
是一個由Apache基金會所開發的分佈式系統基礎架構,主要用來解決大數據的存儲和分析計算問題。
固然,Hadoop
和Spring
同樣,到如今已經無法去僅僅理解爲Hadoop
這門技術了,就像你跟別人說,我這個新電商項目基於Spring
寫的,那別人確定不會以爲你只用了Spring
,會以爲你可能用了Spring MVC
,boot
,JPA
等一系列Spring
生態的技術。一樣地,Hadoop
也是如此,不只僅是表明Hadoop
自己這項技術,同時也表明圍繞Hadoop
的技術生態。
並且你們千萬不要把事情想複雜,覺得分佈式存儲什麼這些概念都是多麼深奧的東西,的確,官方概念確實是有點抽象晦澀了,可是我以爲,任何一項理論都必定來源於生活,由於是生活給予了他們靈感,可是生活並非十分複雜的,因此任何深奧複雜的理論必定能夠在生活中找到一個通俗易懂的解釋。
什麼是分佈式存儲,不跟你們吹,我初中的時候就已經在搞這個了,那時候流行看玄幻小說,那種大部頭知道吧,特厚,一般一個班就只有那麼一本,被教導主任沒收了就完蛋了,誰都沒得看,因而當時盛行把一本玄幻小說一頁一頁撕下來,每一個同窗幾頁,你們互相換着看,就算老師發現了也就只是沒收了一部分,沒辦法所有殲滅。你看,分佈式有了,存儲有了,這不就是分佈式存儲嗎?爲了防止一本書被老師沒收了致使這本書不完整,那就買三本,也這麼幾頁幾頁分開存,這不就是多備份嗎,沒那麼複雜,別老糾結那些學者寫的給學者看的概念。
這個也沒啥好講的,我這裏就列幾個關鍵的點,感興趣的朋友下去能夠本身搜,網上一搜一大堆。
Lucene
Lucene
性能跟不上了就。Nutch
GFS
和MapReduce
的細節。DFS
和MapReduce
,`Nutch·性能一下字就提上去了,一個字,牛逼。Hadoop
做爲Lucene
子項目Nutch
的一部分被正式引進了Apache基金會。Map-Reduce
和NDFS
一塊被整合進了Hadoop
項目裏面,Hadoop
就這麼誕生了。爲啥人家業餘時間就能搞出來這麼牛逼的東西,我業餘時間王者榮耀王者都上不去,難道有中間商賺差價?
和Linux差很少,不一樣的公司在此基礎上分別定製了本身的發行版本,Hadoop
發行版本主要有三個,分別是:
不用想,咱們確定選Apache,也沒啥別的緣由,就是由於它基礎,簡單,不要錢。
Hadoop
爲啥這麼牛逼,致使咱們如今一說大數據開發,就會想到Hadoop?
畢竟寫程序不是談戀愛,沒什麼就算你很差我也依然愛你這回事,咱們壞得很,哪一個好用使哪一個。
Hadoop
在江湖中能混到今天的地位主要靠如下四點:
Hadoop
底層使用多個數據副本,即便Hadoop
某個計算元素或存儲出現故障,也不會致使數據的丟失,想一想上面講的分佈式存儲的例子。MapReduce
的思想下,Hadoop
是並行工做的,以加快任務處理速度。你說了一堆優勢,Hadoop
就沒啥缺點嗎?必須有,可是這個要到後面寫到HDFS
,MR
的時候才能說,要不如今都不知道Hdfs
是啥,說缺點的話不形象,就跟說人壞話同樣,當着人家面兒說纔有效果。
今天這篇文章呢,做爲整套Hadoop
系列教程的第一篇,主要是按照我寫博客的習慣講了一些基本的概念,但願你們看過以後內心可以對大數據和Hadoop
有個基本的認識,另外,我寫技術文章比較口語化,廢話比較多,這個歡迎你們提建議,放心,提了我也不改,可是我寫小說啥的仍是很是嚴肅的,並且廢話文你讀起來比那些深奧玩弄概念的文章快多了(滑稽),下一篇文章呢,咱們一樣也是概念篇,主要講HDFS
,YARN
,MR
這三個Hadoop
核心概念,以後就是實打實的要和代碼接觸了。
很是感謝能讀到這裏的朋友,大家的支持和關注是我堅持高質量分享下去的動力。
相關代碼已經上傳至本人github。必定要點個star啊啊啊啊啊啊啊
萬水千山老是情,給個star行不行
歡迎點贊,關注我,有你好果子吃(滑稽)