> 作者:张永利
一、使用背景
针对传统单机切缓存技术的耗时长、无故障恢复机制等缺点,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 ,则表示服务启动成功。如下图:
停止服务
-
-
对MongoDB启动服务的命令提示窗口执行Ctrl+C或者关闭提示窗口,又或者使用数据库命名关闭服务。
-
若MongDB服务已注册为Windows系统服务,则可在服务管理器中停止服务或命令提示窗口中执行stop命令来停止服务。如停止名为MongoDB的系统服务:
net stop MongoDB
将MongoDB注册为windows系统服务
-
-
在MongoDB安装目录bin文件夹,执行如下命令将MongDB注册为Windows系统服务:
mongod.exe --dbpath D:mongodbdatadb --install -logpath D:mongodblog --serviceName MongoDB
其中:
“-logpath”
设置日志的存放路径。
“-serviceName”
设置注册的服务名。
-
-
注册后启动/服务,执行如下命令:
net
start MongoDB 启动服务
net
stop MongoDB 关闭服务
-
-
删除已注册的Windows系统服务,可执行如下命令:
mongod.exe --dbpath "D:mongodbdatadb"
-remove --serviceName "MongoDB"
Linux
系统上安装MongoDB
在Linux
系统上,MongoDB同样是解压后启动服务即可使用。
-
-
解压产品包,执行如下命令:
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切片库类型提交
其中:
-
-
存储ID:为自定义标识
-
切片库类型:选择MongoDB
-
服务地址:IP地址+MongoDB端口号如:192.168.18.118:27010
到这里,根据机器配置,可以启动多个iServer,
配置集群服务(配置集群过程略)。
集群配置可以到资源中心下载iServer集群视频教程或者查看iSevrer帮助文档中专题介绍里的分布式层级集群。
只有设置了集群,才能体现分布式切图的优势,这里只用单机作为示范。
3.在分布切图选项卡中选择创建切图任务填写参数
切图完成后显示:
4.代码验证
(注意:代码中比例尺,图片格式,切片大小,是否透明属性必须和当初切图时设置的完全一样)先清空iServer安装目录webappsiserveroutput下所有内容(方便验证是否用上缓存)
这里使用flex方法进行验证,编写flex代码:
运行出图后,可查看webappsiserveroutput是否有新生成内容,如果没有则表明使用上了分布式所切图所切的缓存。
五、常见问题解答:
1. 启动了iServer但是分布式且片库列表为红色标识
答:1.检查MongoDB是否启动。
2.检查MongoDB的端口,是否与配置的分布式切片库端口一致
3.查看后台发送的请求是否连接正确(如IP地址发生变化等)
2. 切片库使用不上
答:1.检查MongoDB是否启动,启动的端口及IP是否和分布式切片库端口一致
2.分布式切片库列表里面操作选项卡配置到地图服务
3. 客户端代码是否正确(包括比例尺,图片大小,是否透明,图片格式等)
-
-
启动MongoDB失败,报错
答:是由于找不到启动数据库的路径,为其创建相应文件夹即可。
(上图错误时找不到datadb路径,解决办法是在mongodb2文件夹下创建data文件夹,然后进入data文件夹,在data文件夹中再创建db文件夹)
网友评论