大家覺得目前 初學者學數據做hadoop時的集群配置是不是特別麻煩?有沒有一種便捷的方法?

一個前端、後端程序猿或研究生如果想要開始做數據挖掘,先不說要熟悉mapreduce思想,,僅僅是hadoop、hbase、spark、zookeeper等的配置就把大多數人攔在了門外。也就是開始寫spark演算法之前卻要做大量的工作配置伺服器集群。雖說可以下載別人配置好的docker鏡像,但也有很多局限之處。

有沒有一種對初學者更好的方法來獲得一個能運行spark等演算法的工作環境


如果只是學習Spark的話,可以試一下Databricks Community Edition: https://accounts.cloud.databricks.com/registration.html#signup/community


之前在公司的測試集群上配置完hadoop,spark等框架,前後花了倆禮拜吧可能。我能體會到題主的感受。

我認為配置難度最大之處在於文檔的不統一,在網上搜索配置教程,會看到各種版本的教程,從0.x到1.x再到2.x的教程都有,而有很多配置參數名或者流程隨著版本的更新是會變的,很可能出現按照教程配了,但是某個服務就是運行不起來。

有人提到官方文檔,官方文檔更是簡略的不能在簡略了,而且個人覺得在格式上編排也不是很友好,很多參數也只是告知default值,很容易讓新人摸不著頭腦。

公司前輩也提到第一次配置Hadoop都是坑,配完了再配就熟練了。

我個人覺得這個坑還是有去趟的必要的,在配置過程中搜索很多問題都能搜到Horton works或者cloudera改版的Hadoop,也同樣有不少配置,而且有些配置貌似是只針對他們各自版本的Hadoop,使用這些版本的Hadoop未必會輕鬆多少。

從我個人的體驗來說,配置時遇到的很多困難是Hadoop系統之外的,跟Linux系統知識有關,例如相關java庫環境變數設置,hosts,namenode和datanode間ssh互聯等等,對Linux不夠熟悉,在參考各類可能過時很久的教程時,很容易會出現問題。

在解決這些問題的過程中也是彌補自身在相關領域不足的過程。


hadoop docker cluster

網速夠快大概十分鐘能搞定

https://github.com/kiwenlau/hadoop-cluster-docker

很簡單 也不要錢


個人覺得初學者更應該踏實地搭集群

沒什麼捷徑

感覺好處蠻多的(以後或許還能投集群運維崗也沒問題)

過來人表示 配多幾次就好

熟能生巧

現在純手工配HA集群也就一到兩小時內的事


可以用雲計算公司的現成產品,然後每個小時幾塊錢吧,用完了就釋放,環境啥的都配置好了直接上來就用。比如AWS的EMR或者Google的dataproc,如果被牆覺得慢。就用微軟中國的hdinsight(之前突然搞了個實名認證好像葯沖1000才能用成本略高),然後是阿里雲的emr,青雲的hadoop spark。


Aws emr instance 啊,有免費賬號噠


剛開始進入大數據公司實習的時候,什麼都不懂。前期一直在搭建環境,那會接手的是ambari項目,所以經常被ambari複寫配置,搭建hadoop集群都不知道搭了多少次,後來在ambari上二次開發,搞搞HBase,YARN,KAFKA什麼的。就也沒怎麼碰過hadoop了。這樣也還是基本搞清楚了使用到的配置。

就像樓上說的,硬骨頭一定要啃下來。

--------------------------------------------------

寫完發現跑題了。。。要環境就上各種雲找啊,也很方便的。或者用docker


這種情況下,你可以安裝商業發行版,例如hortonworks和CDH。

商業發行版有一個好處,你不用去關心Hadoop組件複雜的配置文件依賴關係,專心的寫你的演算法就可以了。

附鏈接:

Hortonworks:開放式互聯數據平台

CDH is Cloudera"s 100% open source platform distribution


我有搭建好的spark+hadoop+hive的分散式環境,虛擬機鏡像。


其實也並不複雜,樓主千萬別讓這個小事兒嚇到。就算是塊硬骨頭,也一定要啃下來。我配置過一些,樓主有問題可以找我聊。


不如先配一個openstack集群,然後就會覺得spark hadoop之類的不難了


如果只是學習的話就用虛擬機(比如virtualbox有免費的),然後下載公司已經做好的OVA文件(比如HDP也有免費的),安裝就已經完全都配好了。如果你進公司的話,公司要麼有自己的集群和管理員,要麼就是用PaaS,也不太需要你自己配,只要在必要時候改改設置就好了。


老師作業,自己學習配置和幫同學配置以至於,現在只要40min-1h就能配置完hadoop偽分布,並且搞定spark配置。不難,只要願意花時間開始我也是配置了2天才搞定的


初學者不在意性能的話可以試一試HDP的虛擬機全家桶 Hadoop Sandbox

官方介紹說15分鐘就能搞定。。。


可以用ambari搭建集群或者用HDP提供的集成所有的組件的虛擬機直接導入到VM就可以使用了。


你自己弄4-6個虛擬機,架設一個這樣的hadoop或者spark集群還是很簡單的,沒有你想想的那麼難。樓主的問題,說明還沒有實際(用心)的搭建配置過集群(甚者偽分散式都沒有弄過)。你打開hadoop或者spark的官網,官方文檔都給了很簡單的例子,只是配置一下ip,hosts,環境變數,hadoop的核心配置就可以跑起來了,spark不在yarn上跑的話,用自帶的資源調度系統,初始的單節點還是很簡單的(集群也只需要打通ssh,用scp傳遞就OK),你要寫spark程序可以在spark-shell練習一下啊。不是眼前的問題大,是我們太浮躁

===============================================================

不建議上來直接CDH,了解配置也是基本要求吧,還有CDH你要體驗大部分的功能的話,先準備8G內存的單機吧,我剛開始接觸的時候是 筆記本 開了5個虛擬機,為什麼是5個?,zookeeper


搭環境,寫配置真不難,只看官方文檔就可以搞定了。

在linux 上搭建完全分散式hadoop2.x(4台cent OS虛擬機,包括ha 13個節點),我就這麼弄的,雖然中間有很多插曲。


那要看你的重心在哪裡,

1如果你只是為了單純學習演算法的話 搞個小數據集跑跑 測試測試 spark直接下載下來搞個單機版跑跑 或者直接用intelj 搞個mvn依賴開發spark application 直接就能跑起來 (當然 數據量小和大對調試和exp的增加都是天壤之別)

2.部署這些東西麻煩的地方不是正向的看文檔部署 而是出了問題 如何去解決 很多東西都是一環套一環 spark如果讀hdfs數據就依賴 hadoop 讀hive表 寫sql 就依賴hive-site.xml配置 kafka 就依賴zk的配置一樣 如果一環出了問題 你一知半解很容易就是一套東西都用不起來

3.無論hadoop、hbase、spark、zookeeper 都有官網,科學上網,多看看官方文檔逛逛社區,比單純看些blog和論壇給力的多


朋友有用cdh全家桶遠程自動部署hadoop集群,他目前感覺良好,就是不同的依賴之間對spark兼容性容易出問題可能需要手工解決下(Java的通病(逃


推薦閱讀:

如何在 Spark 機器學習中應用 scikit-learn?
Hadoop、spark、SaaS、PaaS、IaaS、雲計算概念區分?
如何用形象的比喻描述大數據的技術生態?Hadoop、Hive、Spark 之間是什麼關係?
內存有限的情況下 Spark 如何處理 T 級別的數據?

TAG:數據挖掘 | Hadoop | 大數據 | Spark |