首先,为什么写这篇博客呢?
因为大家可能针对ArcGIS的Data Store比较陌生,但是在使用的过程中,又不得不和它打交道,尤其是在我们使用server和portal的时候,常常碰到的就是数据存储方面的问题,以及保存portal创建的地图视图和场景视图服务的时候,都需要用到datsstore的关系型数据库; 所以有可能就是datastore的原因引起的:
那么datastore是干什么的呢? 我们又该如何排查呢?排查完又该如何解决呢?
首先,对于配置好的enterprise环境下,我们需要在server–站点–数据存储中,去验证我们的datastore的数据存储;
例如下图:
ArcGIS Enterprise 是一款 Web GIS 软件产品,包括四个软件组件。
Data Store就是其中一款组件,其中主要目的是用来存储数据,写入许可配置信息;查看ArcGIS Data Store的相关的文件,其背后使用的是postgresql作为数据存储。
ArcGIS Enterprise 中地理空间内容的核心支柱是由 ArcGIS Server 提供支持的 GIS Web 服务,并且用户访问、可视化和使用地理空间内容的主要位置是 ArcGIS Enterprise 门户。
下图显示了概念独立 ArcGIS Server 站点与基础 ArcGIS Enterprise 部署之间的区别。
利用 ArcGIS Data Store 这款应用程序,可配置与 ArcGIS Enterprise 门户配合使用的托管服务器的数据存储。
现在大家应该明白arcgis datastore在整个arcgis enterprise的定位是在那个位置了,其是四大基础组件之一,是用来存储数据用的,如果server不配置datastore的话,那么portal是无法实现server的托管的,只能实现联合;
关于托管和联合的理解请参考
那么接下来让我们一起来看看datastore下面都有那些库,以及这些库在整个enterprise体系中的作用是什么?
首先需要大家明确的是datastore下是有三个库的:
一个是关系型数据库其本质是postgresql数据库,用来存储arcgis pro发布的托管要素服务;
一个是文档型数据库,其本质是couchdb数据库,用来存储矢量切片服务和三维服务;
一个是时空数据库这个???
如果您在数据库方面并不是很专业,ArcGIS Data Store 会向您提供一个便捷的设置和配置体验来创建以下不同类型的数据存储:
•关系数据存储 - 存储门户的托管要素图层数据,其中包括创建为在门户 Map Viewer 或 ArcGIS Pro 中运行的标准要素分析工具输出的托管要素图层。
•切片缓存数据存储 - 存储门户托管场景图层的缓存。
•时空大数据存储 - 存档通过 ArcGIS Tracker 记录的来自联合 ArcGIS GeoEvent Server 站点和位置的实时观测数据。它还使用在门户 Map Viewer 或 ArcGIS Pro 中运行的 GeoAnalytics 工具集 存储生成的结果并存储 ArcGIS Mission 的任务和位置。
①关系:采用PostgreSQL技术,存储门户的托管要数以千计的要素图层数据,包括从空间分析工具的输出创建的托管要素图层
②切片缓存:采用CouchDB技术,主要用于支持Portal for ArcGIS网站的托管三维数据。Web GIS 平台中三维能力的提升就是来源于此。除此以外切片缓存型还支持影像数据的分析
③时空:时空大数据类型是为大数据分析,实时专门打造,利用elasticsearch技术,具有快速,实时,高并发,高吞吐等特点,在Web GIS 平台中主要用来归档ArcGIS GeoEvent Server实时数据,并且存储ArcGIS GeoAnalytics Server 的结果。
配置不同的 ArcGIS Data Store 类型允许您执行以下操作:
向您的门户发布托管要素图层。
依赖于关系数据存储的托管要素图层使您能够更轻松地共享和管理门户中的要素数据。还为您提供了一些其他门户功能 - 例如发布切片图层并从中导出数据,以及添加或删除无法通过 ArcGIS Server 要素服务的门户访问的字段。
发布托管要素图层时,会将源数据复制到关系数据存储中。
向您的门户发布托管场景图层。
如果门户的托管服务器具有切片缓存数据存储,则可以从 ArcGIS Pro 向门户发布托管要素图层,或从您上传到门户的场景图层包进行发布。
从 ArcGIS Pro 发布托管场景图层时还会创建要素图层。发布人员可决定要素图层是托管要素图层还是引用注册数据源中数据的要素图层(ArcGIS Server 要素服务)。
存档高容量实时观察数据。
如果使用 ArcGIS GeoEvent Server 来实现高容量实时数据的流式传输或使用 ArcGIS Tracker 或 ArcGIS Mission,则可创建时空大数据存储并存档观测数据。
自动创建数据存储的备份。
通过备份可确保您在发生数据损坏或硬件故障等故障时恢复数据。您可以控制每个数据存储自动备份的创建时间和位置。
为要素图层数据配置故障转移关系数据存储。
ArcGIS Data Store 允许您设置主要和备用关系数据存储计算机。您的托管要素图层数据会从主计算机复制到备用计算机,因此如果主计算机发生故障,则备用计算机可在最短的停止时间内替换主计算机。
为场景图层缓存配置高可用性、可扩展的切片缓存数据存储。
为时空数据配置高可用性、可扩展的时空大数据存储。
可以配置多个时空大数据存储来平衡多台计算机上的数据负载和保证某台计算机发生故障时时空数据可用。
在 Map Viewer 中执行分析。
许多标准要素分析工具都会创建托管要素图层,因此需要使用 ArcGIS Data Store 关系数据存储。要使用 GeoAnalytics 工具集,需使用时空大数据存储配置门户的托管服务器。
将文件直接添加到 Map Viewer。
您门户的托管服务器必须使用 ArcGIS Data Store 关系数据存储以允许门户成员将文件添加至 Map Viewer。
server的日志可以检查所有的 server/manager操作层面的错误,所以理所当然的也就包含了 datastore数据存储方面的错误了;
那么有的时候server/manager打不开;
这个时候我们就需要在server的配置文件夹下arcgisserver下去找logs,然后具体分析:
server日志存储目录一般在形如以下路径中:
D:\arcgisserver\logs\下面查找:
检查ARCGIS Server安装路径下的日志,发现D:\Program Files\ArcGIS\Server\framework\etc\service\logs下的日志
也可以检查service_error.log中查看是否是机器通信问题。
然后根据错误进一步分析;
可以在datastore的配置文件夹下面,找到logs,然后找到对应的日志文件进行分析:
我的计算机域名是T460P.esrichian.com:
同理,我们有的时候,也可以去datastore的安装文件下面进行分析查看:
辟如,我现在需要登录我的couchdb库,那么我该如何获取 账号和密码呢?
那么这时候我们就可以使用tools下自带的脚本进行操作;
首先couchdb的地址是:http://域名:29080/_utils/#login
我的计算机域名是:t460p.esrichina.com
所以登陆地址是:
http://t460p.esrichina.com:29080/_utils/#login
那么,如何获取账号密码呢???
(在ArcGIS Data Store 在其安装目录的tools下,提供了一系列的管理的命令来做这些管理操作。包括删除和恢复备份,查询账号密码等。)
去datastore的安装文件夹下面,我的安装位置是这个 D:\Program Files\ArcGIS\DataStore\tools
那么tools的脚步应该如何使用呢?
参考:ArcGIS Data Store 命令实用程序提供了一些命令给我们用,具体参考可见:http://server.arcgis.com/zh-cn/data-store/latest/install/windows/data-store-utility-reference.htm
找到 listmanageduser.bat然后 cmd中运行即可:
直接在键盘上按enter键,进入当前工作空间命令:
然后输入listmanageduser
在这个页面输入账号和密码登录切片缓存数据库(tile cache store):
有的时候,我们在配置datastore和server的时候,会出现下面类似的错误:
那么这个时候,我们就需要取消server的datastore的联合后,然后在重新联合server和datastore:
datastore的三个库中:关系库是在enterprisedatabase;
其中/enterpriseDatabases/QW1
/enterpriseDatabases/qw
这两个关系型数据库是我自己注册到server 的企业级地理数据(sde库);
见下图:
其他两个库:切片缓存和时空库 在nosqlDatasbases下;这里我只配置了切片缓存库,没有配置时空库:
下面开始清理server中残留的datastore的配置信息:
我们以切片缓存库的删除为例:
复制ChildItems,依次打开data>unregisterItem,
粘贴到Item Path ;
点击Unregister item后,即可完成缓存切片库的删除了;
datastore的其他库同理;
注:
sever manager中-数据存储下其实也可以看有没有残留的信息, 那块也可以删;就是图中找到对应的库,然后对其进行点击×删除即可。
解除联合,然后需要进行server和datastore联合,参考Windows server2012配置enterprise10.8.1的Web_Adaptor_Java版安装详细教程的4.2:
下面我们介绍一些配置环境的相关教程:
ArcGIS Enterprise托管服务/托管服务器/托管数据库-之“托管”理解
前面我们在安装和配置enterprise的时候,说过enterprise的 server、portal、webadaptor以及datastore之间可以相互配置,也可以相互拆分;
下面两个是安装和配置教程:
Windows server2012配置enterprise10.8.1的Web_Adaptor_Java版安装详细教程
ArcGIS Enterprise10.8.1部署在Linux环境下安装教程
那么取消server、portal、webadaptor以及datastore之间配置,参考:
ArcGIS Data Store简要介绍—以及ArcGIS Data Store与ArcGIS server取消联合和重新配置
如何取消ArcGIS server和portal的联合和托管
如何取消server/portal和web adaptor的联合