天天看點

更換IP後Portal ,Server, DataStore無法正常通路

問題場景:

最近有多位同僚反應,在機關用的好好的ArcGIS平台環境,到了家裡就挂了,回到機關,所有産品又會神奇般的恢複正常,這個問題讓人非常痛苦,原來計劃好好的加班計劃全部泡湯,各種折騰後依然無法修複,折騰壞了,最後隻能重裝全部軟體。

- 病症:

出問題的症狀是Portal home首頁進去後顯示空白。Server admin頁面可以成功通路。datastore從日志中可以看到端口無法連接配接成功。

Portal 日志中的報錯資訊:

The portal has been initialized and configured but is not accessible. The internal portal database does not appear to be running or accepting connections.

分析原因:

datastore預設會使用IP位址來建立連接配接。當機器從機關到家,IP位址發生變更,如果Portal, Server ,Datastore的服務都設定為自動啟動,那啟動順序可能随機,在datastore來不及更新到新IP時,portal可能就已經在啟動時檢測datastore的連接配接狀态,就會導緻啟動失敗,出現上述描述的症狀。

解決辦法:

針對這個問題,提供兩種場景的解決辦法。

場景一:臨時修複故障

如果已經在機關裝好了全套的Enterprise環境,到家或者到使用者現場,發生了上述産品無法使用的場景。那可以參照如下步驟修複:

  • 在Windows服務中手動停掉DataStore, Server, Portal的服務,停止的順序無所謂;
  • 打開任務管理器,你會發現前面停止的服務并沒有順利回收所有 arcgis相關的程序,特别是postgresql的程序。這時候要識别出所有arcgis賬戶運作的程序,并手動結束這些程序。確定所有相關程序都清除幹淨。
  • 回到服務管理裡,先啟動DataStore的程序,這個過程可能會有點兒慢,因為DataStore會自動識别新的網絡IP,并更新所有相關配置。可以通過監測任務管理器中的程序來判斷Datastore程序是否啟動完成。
  • 繼續依次啟動Server, Portal服務。

經過上面的步驟,Enterprise就可以在新環境中重新開始工作啦。

場景二:永久修複問題

通過前面的分析,我們已經知道問題的核心故障點在于datastore通過ip來建立連接配接,那有沒有方法能讓datastore通過主機全域名來建立通信,繞開IP呢? 事實上Esri提供了相應的配置接口,在C:\Program Files\ArcGIS\DataStore\framework\etc\目錄下有一個hostidentifier.properties檔案,這個配置檔案可以配置将主機名作為身份辨別。

- 全新安裝的環境:

通過記事本打開C:\Program Files\ArcGIS\DataStore\framework\etc\hostidentifier.properties檔案,參照下圖方式修改,“120win105.esrichina.com”是我的伺服器全域名,你需要替換為自己的主機全域名。

更換IP後Portal ,Server, DataStore無法正常通路
注意:這種方式需要在建立關系庫之前配置才有效。針對已經建好關系庫的環境,僅修改該參數是無效的,需要參考下面的政策修複問題。

- 已經建立好關系庫的環境:

對于已經建立好關系庫的環境,需要修改C:\arcgisdatastore\etc\ (替換為你環境下相應的目錄)下的hostidentifier.properties配置檔案。

  • 在Windows服務中手動停掉DataStore, Server, Portal的服務;
  • 打開任務管理器,如果存在沒有順利回收的 arcgis相關的程序,手動停止程序;
  • 參照上圖修改C:\arcgisdatastore\etc\hostidentifier.properties檔案中的hostidentifier為伺服器全域名;
  • 重新啟動Datastore, Server, Portal服務。

采用上述配置,就可以徹底解決更換IP時Portal挂掉需要手動修複的問題了。當然,你可以将Portal, Server, DataStore設定為手動啟動,每次開機時依次啟動DataStore, Server,Portal來繞開問題,但是依舊要忍受更換環境時,服務啟動異常緩慢的痛苦。是以長痛不如短痛,對于經常需要更換網絡環境的同學,還是建議将datastore的連接配接方式切換為全域名。

文章來源:https://makeling.github.io/ArcGIS/e91ac247.html

繼續閱讀