利用docker搭建spark hadoop workbench

生活常識發表於2017-11-29

目的

  • 用docker實現所有服務
  • 在spark-notebook中編寫Scala程式碼,實時提交到spark叢集中執行
  • 在HDFS中儲存資料檔案,spark-notebook中直接讀取

元件

  • Spark (Standalone模式, 1個master節點 + 可擴充套件的worker節點)
  • Spark-notebook
  • Hadoop name node
  • Hadoop data node
  • HDFS FileBrowser

實現

最初用了Big Data Europe的docker-spark-hadoop-workbench,但是docker 服務執行後在spark-notebook中執行程式碼會出現經典異常:

 View Code

 

發現是因為spark-notebook和spark叢集使用的spark版本不一致. 於是fork了Big Data Europe的repo,在此基礎上做了一些修改,基於spark2.11-hadoop2.7實現了一個可用的workbench.

 

執行docker服務

docker-compose up -d

 

擴充套件spark worker節點

docker-compose scale spark-worker=3

 

測試服務

 

各個服務的URL如下:

Namenode: http://localhost:50070
Datanode: http://localhost:50075
Spark-master: http://localhost:8080
Spark-notebook: http://localhost:9001
Hue (HDFS Filebrowser): http://localhost:8088/home

 

以下是各個服務的執行截圖

 

HDFS Filebrower

 

Spark叢集

 

Spark-notebook

 

執行例子

1. 上傳csv檔案到HDFS FileBrowser,

2. Spark notebook新建一個notebook

3. 在新建的notebook裡操作HDFS的csv檔案

具體的步驟參考這裡

 

以下是spark-notebook執行的截圖:

 

程式碼連結

相關文章