美文网首页
ZooKeeper-分布式利器(4)——ArcGIS Serve

ZooKeeper-分布式利器(4)——ArcGIS Serve

作者: Xuds | 来源:发表于2018-03-20 17:47 被阅读0次

    ArcGIS Server和ArcGIS GeoEvent Server在应对分布式环境时,用到了ZooKeeper。

    10.5 ZooKeeper in ArcGIS

    在10.5版本,ArcGIS Server与 ArcGIS GeoEvent Server使用的是同一个ZooKeeper,位于ArcGIS Server安装目录\framework\runtime\zookeeper。通过zkCli可以连接ArcGIS Server中的ZooKeeper。zkCli -server localhost:2181。

    通过ls查看文件目录节点,get查看节点内容数据,可以整理出这样一个目录。

    ls / ZooKeeper in ArcGIS

    ArcGIS GeoEvent Server

    对于ArcGIS GeoEvent Server来说,zookeeper中保存着它的所有配置。

    geoevent配置

    包括与ArcGIS Server的连接信息、连接器、注册文件夹、GeoEvent定义、GeoEvent服务、地理围栏、流服务等等。其中的配置信息有的是以json数据显示,例如ArcGIS Server的连接信息。有的是以xml显示,例如连接器的相关信息。但无论是何种格式,配置信息都存入了对应的Znode节点的内容中。

    arcgisServerConnections

    ArcGIS GeoEvent Server集群中的多台机器的zookeeper也组成了一个集群,里面的配置信息是一样的,由于和后面Server集群的原理相似,暂不演示。可以说,通过zookeeper集群,实现了GeoEvent Server集群中,各台机器间的配置同步。

    ArcGIS Server

    在ArcGIS Server单机部署且运行正常时,查看Server下面的state、stopping节点的数据。记录的是机器的状态

    state为STARTED stopping是这台server的ip

    现在准备了第二台机器,名叫250winpro.esrichina.com,安装了ArcGIS Server但没有创建站点。

    hosts文件如下

    192.168.100.96 121winpro.esrichina.com

    192.168.100.250  250winpro.esrichina.com

    第二台机器加入站点成功后,使用客户端连接新机器的zookeeper。

    zookeeper新机器的

    发现新机器100.250的zookeeper中的内容和100.96机器一样。

    内容一致

    既然内容一致,那他们是不是同一个zookeeper呢?查看zookeeper配置,一目了然。

    zookeeper配置

    他们同属于同一个zookeeper集群。

    现在我停止集群中的100.96机器,模拟ArcGIS Server机器因意外终止。连接到96的zkCli开始内容开始刷新大量无法连接的信息。连接到100.250的zkCli刷了几下,最终稳定住了,如图所示。

    连接稳定

    这时再查看zookeeper配置,发现只剩下了100.250的server。

    第一台掉线后zookeeper配置

    和Rest 中的现象对应。可以得出结论,ZooKeeper真实反映了集群中各机器的状态。

    100.96down掉

    总结

    ZooKeeper在分布式环境中最实用的两个案例,就是 1.同步各服务器配置、2.实时更新可用服务器列表。

    ArcGIS GeoEvent集群使用ZooKeeper做配置的同步,ArcGIS Server集群使用 zookeeper 同步集群状态、更新获取可用的Server列表,这一点类似于上一篇文章中的实例。可以说是物尽其用了。

    相关文章

      网友评论

          本文标题:ZooKeeper-分布式利器(4)——ArcGIS Serve

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