iObjects for Spark- Docker安裝攻略

iObjects for Spark時空大數據分析引擎能夠幫助使用者進行高效的時空大數據分析,它既能夠做爲Apache Spark項目在時空數據領域的擴展模塊,爲軟件開發人員服務,也能夠做爲一個開箱即用的時空大數據分析工具包,爲數據分析人員服務。html

iObjects for Spark時空大數據分析引擎支持基於虛擬機或Docker的快速部署,從而能夠在雲計算基礎設施中統一管理和按需運行。在【iObjects for Spark-時空大數據分析引擎】中介紹了iObjects for Spark的安裝和使用方法,這裏咱們將其安裝到Docker中,建立本身的Docker鏡像,從而能夠在分佈式環境中快速部署。git

1. 安裝支持環境

1.1 安裝Docker容器支持環境

我用的Mac OS X,如今的Docker已經原生支持了,不用像之前要安裝VirtualBox,再使用Vagrant了。   到這裏http://www.docker.io下載相應的版本,而後運行安裝程序,就能夠了。github

若是使用Ubuntu,建議使用 http://get.docker.io下載的腳本進行安裝,官方的安裝方法貌似與Ubuntu內置的lxd有衝突,常常出問題。方法以下:docker

wget http://get.docker.io -O docker-setup.sh
sudo chmod +x docker-setup.sh
./docker-setup.sh

1.2 安裝Jupyter Notebook容器

採用Jupyter的官方Docker技術棧apache

docker pull jupyter/all-spark-notebook

1.3 建立主機的本地目錄

mkdir Docker

cd Docker

mkdir GISpark

cd GISpark

1.4 獲取iObjects的代碼

注意,目前該代碼庫還沒有開放,感興趣的請聯繫超圖軟件研究院。瀏覽器

git clone https://git.oschina.net/supermap/iobjects2016.git

1.5 運行容器實例

docker run -it --name GISpark 
    -p 9000:8888 
    --user root -e GRANT_SUDO=yes 
    -v ~/Docker/GISpark:/home/jovyan/work/GISpark 
    jupyter/all-spark-notebook

打開瀏覽器,輸入:http://localhost:9000。緩存

1.6 安裝和更新容器內軟件

sudo apt update
sudo apt upgrade

sudo apt install mvn

2. 編譯和安裝iObjects for Spark

2.1 編譯

使用maven進行編譯,全部的依賴包將自動下載。以下:less

cd iobjects2016
mvn package

2.2 配置環境

在安裝完 SuperMap iObjects Java 組件後,須要將 SuperMap iObjects Java 組件的 Bin 目錄路徑設置到 spark-env.hLD_LIBRARY_PATH 中:maven

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${SUPERMAP_HOME}/Bin

同時,咱們須要設置 iobjects-spark-0.1.0.jarSPARK_CLASSPATH中:分佈式

    export SPARK_CLASSPATH=$SPARK_CLASSPATH:${SUPERMAP_HOME}/Bin/iobjects-spark-0.1.0.jar

      在Spark 1.0+ 版本,SPARK_CLASSPATH 再也不被推薦使用,能夠在 spark-submit 提交做業時使用--driver-class-path 來設定程序驅動端的Java類路徑,同時,使用spark.executor.extraClassPath設定做業執行端的Java類庫路徑。      *    值得注意的是,若是使用 OracleJDK 進行程序開發,須要使用 SuperMap iObjects Java Home/Bin 目錄下的 libmawt.so 文件替換 $JRE_HOME/lib/amd64/headless 目錄下的 libmawt.so 文件,並同步修改集羣中全部節點。      完成 SuperMap iObjects Java 部署後,能夠將 SuperMap iObjects Java 的docker鏡像配置爲Spark的集羣節點,而後經過Spark進行調用。關於集羣的配置,再下一篇Blog中再行講述。

3. 使用iObjects for Spark

  • 構建緩存(BuildCache)

支持類型包括點數據渲染圖,點數據熱度圖,緩存結果能夠寫入HDFS中,也能夠寫入mongoDB中 在使用mongoDB做爲緩存存儲時,地圖名稱在--output參數中給出 若是結果存儲在本地,則經過--name參數給出 BuildCache參數列表:

    usage: BuildCache      |--input input path      |--bounds left,right,bottom,top      |--level levecount  (default 3)      |--output path or mongo connection info ( ip:27017,Database,CacheName,VersionAlias)      |--type basic or heatmap      |--name cacheName      |--help

更多的用法參考:【iObjects for Spark-時空大數據分析引擎】。

相關文章
相關標籤/搜索