SuperMap iServer MongoDB版分布式切图配

2021-11-26  本文已影响0人  SuperMap技术控

> 作者:张永利

一、使用背景

针对传统单机切缓存技术的耗时长、无故障恢复机制等缺点,SuperMap iServer 提供了支持多台机器并行切图的分布式切图服务,可添加位于不同机器的多个切图节点,从而实现并行切图,提升切图工作的效率。

二、软件要求

操作系统
MongoDB服务端可运行在Linux、Windows或Mac OS X平台,支持32位和64位系统,默认端口为27017。MongoDB把数据存储在文件中(Linux默认路径为/data/db,Windows默认路径 C:datadb),为提高效率使用内存映射文件进行管理。
软件版本
MongoDB的版本要求2.1及以上。

三、安装MongoDB

Windows 系统上安装MongoDB
MongoDB 是一个简单易用的产品,解压后即可使用。MongDB数据存储位置默认为C:datadb。如果不采用默认位置,启动服务前必须先创建数据存储位置,例如创建D:mongodbdatadb为存储位置。
本文档使用mongodb-win32-x86_64-2008plus-2.4.9.zip 作为示范
启动服务
在命令控制窗口切换到 MongoDB安装目录的bin文件夹下,执行mongod命令启动服务:

mongod.exe --dbpath D:mongodbdatadb --port 27010


其中,“--dbpath”和“--port”为可选参数,分别用于指定存储路径和端口号。
如果不指定,默认数据存储位置为C:datadb,端口号27017。
提示信息为waiting for connections ,则表示服务启动成功。如下图:

停止服务

  1. 对MongoDB启动服务的命令提示窗口执行Ctrl+C或者关闭提示窗口,又或者使用数据库命名关闭服务。

  2. 若MongDB服务已注册为Windows系统服务,则可在服务管理器中停止服务或命令提示窗口中执行stop命令来停止服务。如停止名为MongoDB的系统服务:

net stop MongoDB

将MongoDB注册为windows系统服务

  1. 在MongoDB安装目录bin文件夹,执行如下命令将MongDB注册为Windows系统服务:

mongod.exe --dbpath D:mongodbdatadb --install -logpath D:mongodblog --serviceName MongoDB

其中:

“-logpath” 设置日志的存放路径。
“-serviceName” 设置注册的服务名。

  1. 注册后启动/服务,执行如下命令:

net start MongoDB 启动服务
net stop MongoDB 关闭服务

  1. 删除已注册的Windows系统服务,可执行如下命令:

mongod.exe --dbpath "D:mongodbdatadb" -remove --serviceName "MongoDB"
Linux 系统上安装MongoDB
在Linux 系统上,MongoDB同样是解压后启动服务即可使用。

  1. 解压产品包,执行如下命令:

tar -zxf mongodb-xxxxxxx.tgz

2.MongDB数据存储位置默认为/data/db。如果不采用默认位置,启动服务前必须先创建数据存储位置,例如在mongodb的解压路径下创建/data/db为存储位置:

mkdir /data
mkdir /data/db

启动服务
请以root用户身份启动MongoDB服务,如按照默认的存储位置和端口号,可执行如下命令:

./mongodb-xxxxxxx/bin/mongod

提示信息为waiting for connections ,则表示服务启动成功。
停止服务
可以采用以下两种方式停止MongoDB服务:
• Bin目录下,执行如下命令:

mongod --shutdown --dbpath /database/mongodb/data/

• 使用kill命令:

查询MongDB服务的PID,执行如下命令:

ps -ef | grep mongo

通过Kill 查询到的mongdb服务的PID停止服务,执行如下命令:kill -9{PID}第 5 页/

四、切图流程

1.启动iServer,登陆iSevrer Manager

2.选择集群菜单栏分布式切图库填写参数,选择MongoDB切片库类型提交

其中:

到这里,根据机器配置,可以启动多个iServer, 配置集群服务(配置集群过程略)。
集群配置可以到资源中心下载iServer集群视频教程或者查看iSevrer帮助文档中专题介绍里的分布式层级集群。
只有设置了集群,才能体现分布式切图的优势,这里只用单机作为示范。

3.在分布切图选项卡中选择创建切图任务填写参数


切图完成后显示:

4.代码验证

(注意:代码中比例尺,图片格式,切片大小,是否透明属性必须和当初切图时设置的完全一样)先清空iServer安装目录webappsiserveroutput下所有内容(方便验证是否用上缓存)
这里使用flex方法进行验证,编写flex代码:

运行出图后,可查看webappsiserveroutput是否有新生成内容,如果没有则表明使用上了分布式所切图所切的缓存。

五、常见问题解答:

1. 启动了iServer但是分布式且片库列表为红色标识


答:1.检查MongoDB是否启动。
2.检查MongoDB的端口,是否与配置的分布式切片库端口一致
3.查看后台发送的请求是否连接正确(如IP地址发生变化等)

2. 切片库使用不上

答:1.检查MongoDB是否启动,启动的端口及IP是否和分布式切片库端口一致
2.分布式切片库列表里面操作选项卡配置到地图服务

3. 客户端代码是否正确(包括比例尺,图片大小,是否透明,图片格式等)

上一篇 下一篇

猜你喜欢

热点阅读