hadoop入門基礎知識 學習大數據需要什么基礎?
學習大數據需要什么基礎?大數據需要開發(fā)功底,比如python語言,通過編程需要抓取數據。當然會前端需要比如Html,javascript,將抓取的數據整合后通過前端去展示。所以個人覺得學習一門開發(fā)語言
學習大數據需要什么基礎?
大數據需要開發(fā)功底,比如python語言,通過編程需要抓取數據。當然會前端需要比如Html,javascript,將抓取的數據整合后通過前端去展示。所以個人覺得學習一門開發(fā)語言是必須的。
學習分布式系統(tǒng)需要怎樣的知識?
學習分布式系統(tǒng)需要怎樣的知識
1. 硬件amp底層軟件的失效與高可用性高性能的矛盾。硬盤,交換機,進程,甚至OS本身都有失?。罎⒌目赡埽诎芏鄼C器(比如gt1000)的廉價(使用非企業(yè)級硬件)集群中,這個問題表現(xiàn)為“你的系統(tǒng)總有一部分處于故障狀態(tài),如何保證高可用性?”,它的另一半是“如何在盡量少系統(tǒng)開銷的前提下,保證此可用性?”。一個簡單的例子是,為防止單點故障,數據通常都有備份。備份越多,可用性通常越好,但需要更多的磁盤空間和網絡帶寬,導致性能降低。那么多少備份合適?如何將這些備份分散到集群上(例如跨硬盤,跨機器,跨交換機,等等要求)?
2. 編程模型與單機不同,如何克服習慣帶來的影響。一個最簡單的例子是關于“鎖”的。在單機上,如果進程A和進程B都想修改數據D(例如做一個D 操作),有很多種方法可以避免。但分布式系統(tǒng)就要面臨選擇:要么用單機管理數據D(并忍受由此帶來的低可用性,因為單機失效將造成整個集群不可用),要么用多機共同管理數據D(并忍受復雜的協(xié)議,一大堆代碼,還有性能開銷)。Paxos就是以上問題的經典解決方案(分布式的),發(fā)明者即Leslie Lamport。
3. 工業(yè)級的分布式系統(tǒng)意味著一整套工具集,除了那些運行在生產系統(tǒng)上的集群軟件,還有龐大的部署、運維、診斷軟件群,數量巨大的硬件(服務器、交換機、機架、電源,這些都很可能是定制的),甚至包括建筑物(數據中心的規(guī)劃、設計、內部結構等)。已經超出我的經驗范圍,作為一個引子,題主可自行了解。