1. 程式人生 > >更換IP後Portal ,Server, DataStore無法正常訪問

更換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”是我的伺服器全域名,你需要替換為自己的主機全域名。

 

注意:這種方式需要在建立關係庫之前配置才有效。針對已經建好關係庫的環境,僅修改該引數是無效的,需要參考下面的策略修復問題。




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

對於已經建立好關係庫的環境,需要修改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