文档章节

iObjects for Spark- Docker安装攻略

openthings
 openthings
发布于 2016/10/25 13:32
字数 918
阅读 160
收藏 1

iObjects for Spark时空大数据分析引擎可以帮助使用者进行高效的时空大数据分析,它既可以作为Apache Spark项目在时空数据领域的扩展模块,为软件开发人员服务,也可以作为一个开箱即用的时空大数据分析工具包,为数据分析人员服务。

iObjects for Spark时空大数据分析引擎支持基于虚拟机或Docker的快速部署,从而可以在云计算基础设施中统一管理和按需运行。在【iObjects for Spark-时空大数据分析引擎】中介绍了iObjects for Spark的安装和使用方法,这里我们将其安装到Docker中,创建自己的Docker镜像,从而可以在分布式环境中快速部署。

1. 安装支持环境

1.1 安装Docker容器支持环境

我用的Mac OS X,现在的Docker已经原生支持了,不用像以前要安装VirtualBox,再使用Vagrant了。   到这里http://www.docker.io下载相应的版本,然后运行安装程序,就可以了。

如果使用Ubuntu,建议使用 http://get.docker.io下载的脚本进行安装,官方的安装方法貌似与Ubuntu内置的lxd有冲突,经常出问题。方法如下:

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

1.2 安装Jupyter Notebook容器

采用Jupyter的官方Docker技术栈


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进行编译,所有的依赖包将自动下载。如下:

cd iobjects2016
mvn package

2.2 配置环境

在安装完 SuperMap iObjects Java 组件后,需要将 SuperMap iObjects Java 组件的 Bin 目录路径设置到 spark-env.hLD_LIBRARY_PATH 中:

    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-时空大数据分析引擎】。

© 著作权归作者所有

openthings
粉丝 322
博文 1138
码字总数 687611
作品 1
东城
架构师
私信 提问
地铁译:Spark for python developers --- 搭建Spark虚拟环境 4

Spark 同时可以建立在虚拟化的基础上,例如Vagrant 和Docker, 这样的虚拟化环境很容易部署到各种云服务上,例如AWS。 Vagrant的虚拟化环境 为了创建Python和Spark 环境,便于分享和复制, 整...

abel_cao
01/17
0
0
搭建Spark集群?没想到你是这样的k8s

在本文的例子中,你将使用 Kubernetes 和 Docker 创建一个功能型Apache Spark集群。 你将使用Spark standalone模式 安装一个 Spark master服务和一组Spark workers。 对于已熟悉这部分内容的...

时速云
2016/08/24
722
0
Kubernetes助力Spark大数据分析

Kubernetes 作为一个广受欢迎的开源容器协调系统,是Google于2014年酝酿的项目。从Google趋势上看到,Kubernetes自2014年以来热度一路飙升,短短几年时间就已超越了大数据分析领域的长老Had...

店家小二
2018/12/17
0
0
基于Kubernetes的Spark集群部署实践

Spark是新一代分布式内存计算框架,Apache开源的顶级项目。相比于Hadoop Map-Reduce计算框架,Spark将中间计算结果保留在内存中,速度提升10~100倍;同时它还提供更丰富的算子,采用弹性分布...

hblt-j
02/20
47
0
OSC 第 65 期高手问答 — Spark 企业级实战

OSCHINA 本期高手问答(3月23日-3月29日)我们请来了 @王家林 (王家林)为大家解答关于 Spark 开发方面的问题。 王 家林,Spark 亚太研究院院长和首席专家,当今云计算领域最火爆的技术Docke...

叶秀兰
2015/03/23
6.4K
22

没有更多内容

加载失败,请刷新页面

加载更多

yapi上传接口idea插件

YapiIdeaUploadPlugin 插件使用 目的 减少手动维护yapi接口文档的时间成本,通过idea插件快速提交接口文档到yapi; 保证接口文档的准确性,方便后台、前端、测试等查看接口文档; 反向规范代...

狂奔的熊二
4分钟前
4
0
最近学习到的Lambda表达式

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 中秋去了躺上海,在外滩上打了个卡: 紧接着学了一下Java的函数式编程,给大家整理了...

Java3y
14分钟前
10
0
一条insert语句批量插入多条记录

-- 一条insert只能插入一条数据 insert into person (id, personCode, personName , telNumber)values(1,'5112403' , '张三' , '1378902134'); 一次插入多条数据的方法: 方式一: insert i......

葬-花
26分钟前
2
0
IT兄弟连 HTML5教程 HTML5的基本语法 简单HTML实例制作

现在学习HTML5的方式 目前HTML还处于HTML4与HTML5之间的过渡使用阶段。移动端的Web界面开发已经全面使用HTML5的技术,而在PC端由于用户升级浏览器周期较长,面临着页面的兼容性问题,以及开发...

老码农的一亩三分地
41分钟前
4
0
[Android] 【每日更新书源】「阅读」APP -100+ 精品书源一键导入!每天自动更新最新书源!

我特地写了个爬虫爬取书源,每天自动更新书源(URL是固定的)!大家也可以定期导入一下! 放心!导入时会自动去除重复书源的! 前段时间我发过一个书源大礼包的帖子,不过现在已经无法编辑修...

xiaogg
44分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部