美文网首页
SuperMap iServer MongoDB版分布式切图配

SuperMap iServer MongoDB版分布式切图配

作者: SuperMap技术控 | 来源:发表于2021-11-26 09:34 被阅读0次

    > 作者:张永利

    一、使用背景

    针对传统单机切缓存技术的耗时长、无故障恢复机制等缺点,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切片库类型提交

    其中:

    • 存储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文件夹)

    相关文章

      网友评论

          本文标题:SuperMap iServer MongoDB版分布式切图配

          本文链接:https://www.haomeiwen.com/subject/fcptxrtx.html