紀錄本地端 Mac 對 Hadoop Ecosystem 相關開發的設定。

Hadoop

Homebrew 安裝 hadoop 起來我覺得蠻 stable 的,版本也沒問題,以本地開發來講算足夠了。

以 brew 安裝後,會有安裝的 location 和方便使用的 script (start-all.sh) 的位置是需要 tuning 的,基本上設定為 Pseudo Distributed 的模式。

  • /usr/local/Cellar/hadoop/<version>/libexec/etc/hadoop: configuration files (xml files),設定參考官網即可。
  • /usr/local/sbin: symlink 的 start-up, tear-down scripts。

所以基本上每次要重開的時候都 refer 到 /usr/local/sbin 找 script 來把 daemon 打開 (e.g. hdfs, yarn, etc.) 然後預設的 Web UI 介面的位置為:

  • Name Node: http://localhost:9870/
  • Resource Manager: http://localhost:8088/

Spark

Spark 基本上本地開發就直接 Link Library 即可,沒特別需要把 build 好的 package 撈下來,以 test driven 的方式 + interactive SBT 是最佳模式。 需要注意的點為有些版本 (Scala or JVM) 會不相容,注意一下主線的需求版本。

另外,Spark Executor 在 SBT 跑完後會出現殺不掉的問題,因為兩個跑在同一個 JVM 上,注意一下將 fork apply 到所有 sbt tasks 中:

fork := true

// Or specify some tasks, but not recommended.
fork in run := true