本文檔環境基於ubuntu16.04版本,(轉發請注明出處:http://www.cnblogs.com/zhangyongli2011/ 如發現有錯,請留言,謝謝)
1. 基礎環境搭建
基礎環境搭建請參考上一篇文檔:Hadoop集群+Spark集群搭建(一篇文章就夠了).
2. 軟件准備
-
SuperMap iObjects Java 9.x
(supermap-iobjectsjava-9.1.1-16827-70590-linux64-all-Bin.tar.gz) -
SuperMap iObjects for Spark 9.x
(supermap-spark-911-20181228.zip)
3. iObjects for Spark部署
3.1 iObjects for Spark 安裝
1.下載supermap-iobjectsjava-9.1.1-16827-70590-linux64-all-Bin.tar.gz和相應的supermap-spark-911-20181228.zip組件
2.放到opt下解壓,並修改名字
tar -zxvf supermap-iobjectsjava-9.1.1-16827-70590-linux64-all-Bin.tar.gz
mv Bin iobjects_new
3.新建iobjects_spark目錄
mkdir /opt/iobjects_spark
4.supermap-spark-911-20181228.zip解壓,將lib下的所又內容包拷貝到/opt/iobjects_spark目錄中,內容如下:

3.2 iObjects for Spark配置
1.將for Spark和iObjects Java環境變量配置到/etc/profile中,結合之前hadoop和spark配置,並使用命令source /etc/profile使其生效。總配置如下
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
export HADOOP_HOME=/opt/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HIVE_HOME/bin:$JAVA_HOME/bin:$PATH
export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7
export SUPERMAP_OBJ=/opt/iobjects_new
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SUPERMAP_OBJ
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/opt/iobjects_spark
2.進入spark-2.1.0-bin-hadoop2.7/conf
編輯spark-env.sh文件,總配置如下,注意SUPERMAP_OBJ順序
export JAVA_HOME=/opt/jdk
export SPARK_MASTER_IP=192.168.241.132
export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORES=4
export SPARK_EXECUTOR_MEMORY=4g
export HADOOP_HOME=/opt/hadoop-2.7.7/
export HADOOP_CONF_DIR=/opt/hadoop-2.7.7/etc/hadoop
export SUPERMAP_OBJ=/opt/iobjects_new
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SUPERMAP_OBJ:/opt/jdk/jre/lib/amd64
3.3 集群配置
主節點修改完文件后,記得scp傳遞到子節點中,並重啟Spark服務。
scp /etc/profile root@另一台機器名:/etc/profile
3.4 實例程序驗證
我們使用for Spark示例來驗證是否安裝成功。
3.4.1 將for Spark產品包中的示例數據放到中/opt/中。
- newyork_taxi_2013-01_14k.csv
- newyork_taxi_2013-01_14k.meta
3.4.2 將示例數據導入到hdfs中。
啟動hadoop,在hadoop-2.7.7/bin中執行
./hadoop fs -mkdir /input #創建/input目錄
./hdfs dfs -put /opt/newyork_taxi_2013-01_14k.csv /input/
./hdfs dfs -put /opt/newyork_taxi_2013-01_14k.meta /input/
導入完成后,可以使用如下命名查看
./hadoop fs -ls /input

3.4.3 創建文件輸出文件夾
mkdir /opt/data/
3.4.4 安裝所卻檢查依賴
可以使用iServer一鍵化安裝依賴工具,支持(Suse、Redhat、Ubuntu)將iServer自帶的support文件夾拷貝到opt下,iServer下載地址:http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id=1050
./dependencies_check_and_install.sh install -y
3.4.5 安裝許可 (support/SuperMap_License/Support/aksusbd-2.4.1-i386)
./dinst
看到如下輸出內容代表安裝成功
dpkg-query: no packages found matching aksusbd
Copy AKSUSB daemon to /usr/sbin ...
Copy WINEHASP daemon to /usr/sbin ...
Copy HASPLMD daemon to /usr/sbin ...
Copy start-up script to /etc/init.d ...
Link HASP SRM runtime environment startup script to system startup folder
Starting HASP SRM runtime environment...
Starting AKSUSB daemon: .
Starting WINEHASP daemon: .
Starting HASPLM daemon: .
Coping VLIB...
Installing v2c...
Done
3.4.6 啟動Spark,切換到spark-2.1.0-bin-hadoop2.7/bin下執行(點數據集網格聚合統計)
./spark-submit --class com.supermap.bdt.main.SummarizeMeshMain --master spark://master:7077 /opt/iobjects_spark/com.supermap.bdt.core-9.1.1.jar --input '{"type":"csv","info":[{"server":"hdfs://master:9000/input/newyork_taxi_2013-01_14k.csv"}]}' --meshType hexagon --bounds -74.05,40.6,-73.75,40.9 --meshSize 100 --output '{"type":"udb","server":"/opt/data/SummaryMain.udb","datasetName":"SummaryMain"}'
簡單解釋下命令
--class 表示主類名稱,含包名,本例子指的是需要執行的類
--master Spark集群總入口
--input 簡單理解為操作數據來源
--meshType 網格類型
-- bounds 范圍
--output 輸出路徑
--meshSize 聚合范圍(默認單位是米)
3.4.7 執行開始

3.4.8 執行過程中,可以訪問http://192.168.241.132:4040/jobs/查看執行情況

3.4.9 執行完成后,訪問/opt/data可以查看完成的內容,如果大小不為0則代表分析成功
root@master:/opt/spark-2.1.0-bin-hadoop2.7/bin# ll /opt/data/
total 2376
drwxr-xr-x 2 root root 4096 Mar 19 17:13 ./
drwxr-xr-x 11 root root 4096 Mar 19 16:43 ../
-rw-r--r-- 1 root root 1437160 Mar 19 17:13 SummaryMain.udb
-rw-r--r-- 1 root root 986112 Mar 19 17:13 SummaryMain.udd

3.4.10 將數據下載下來使用iDesktop .NET 打開查看
(轉發請注明出處:http://www.cnblogs.com/zhangyongli2011/ 如發現有錯,請留言,謝謝)

