手動移轉至 ThingWorx 9.x:Linux
請參閱
升級表來決定您的升級途徑。以下步驟僅適用於移轉。如需就地升級,請參閱
手動就地升級:Linux。
A.) 升級之前
1. 如果您的 OS 是 RHEL,請在執行 ThingWorx 升級之前,核對是否已升級至支援的版本。如需詳細資訊,請參閱
系統需求。
| ThingWorx 9.1 僅在 RHEL 8.2 上受支援。 |
2. 在開始升級之前,建議您先執行下列操作:
◦ 資料庫傾印
◦ 備份 ThingworxStorage 與 ThingworxPlatform 資料夾中的所有資料。
◦ 備份 Tomcat_home 資料夾。這包括 bin、conf、lib、temp、webapps 與 work 資料夾。
3. 如果您使用除 ThingWorx 平台之外的 ThingWorx 應用程式:
| 在目前使用者擁有寫入權限的資料夾中下載並解壓縮 ThingWorx 內容。當更新指令集在流程中建立某些檔案時,需要寫入權限。 |
6. 核對您是否執行所需版本的 Tomcat 與 Java。請參閱適用於版本需求的
系統需求文件。
| 如果您必須升級 Java 版本,請在升級 Java 之前先執行 ThingWorx 升級。 |
8. 如果您升級 MSSQL、Azure SQL 或 H2,且資料表格中遺失任何自訂索引欄位值,升級將會失敗。在開始升級流程之前,核對所有自訂索引欄位都有值。
| 如果您無法執行此操作,升級將會失敗,且您必須再次部署較舊版本 (如果進行了結構描述更新,您必須回復/還原資料庫),並新增遺失的索引值,或從資料表中移除自訂索引,然後再執行升級。 |
9. 將下列項目新增至 Apache Tomcat Java 選項:
-Dlog4j2.formatMsgNoLookups=true
B.) 匯出資料與實體
1. 停止 Tomcat:在 Tomcat Properties 中,按一下 Stop。等待 Tomcat 停止。
2. 強烈建議您先備份下列資料夾再繼續:
◦ Apache Software Foundation/Tomcat x.x/webapps/Thingworx
◦ <Tomcat 安裝位置>://ThingworxStorage
3. 啟動 Tomcat:在 Tomcat Properties 中,按一下 Start。重新啟動 Tomcat 可確保資料庫在匯出之前已清空。
4. 匯出實體與資料:
a. 在 Composer 中,按一下「匯入/匯出」>「匯出」>「匯出選項」。
b. 如有必要,按一下「包括資料」。
資料與實體將匯出到 ThingworxStorage\exports。
5. 複製資料與實體匯出檔案並將其移到安全的位置。您將在稍後的步驟中匯入這些檔案。
C.) 備份與配置
1. 備份並刪除 /ThingworxStorage/esapi 目錄中的 validation.properties 檔案。
| validation.properties 檔案會在啟動 ThingWorx 時建立。如果您要保留所做的任何變更,請將檔案儲存在 ThingworxStorage 目錄外,然後繼續移除 esapi 目錄。在啟動時,ThingWorx 會重新建立該檔案,而且您可以將自訂 regex 新增回自動產生的 validation.properties 檔案中。 |
2. 在 ThingworxStorage 資料夾中找到 keystore.jks 檔案,然後將其移至安全位置。移轉後,您還需要將此檔案新增回 ThingworxStorage 資料夾。
3. 在 ThingworxPlatform 資料夾中找到 keystore-password 檔案,然後將其移至安全位置。移轉後,您還需要將此檔案新增回 ThingworxPlatform 資料夾。
4. 請注意正在使用的任何延伸功能 (位於 ThingworxStorage/extensions 中)。它們會在稍後的步驟中重新匯入。
5. 停止 Tomcat。
6. 刪除 ThingworxStorage 與 ThingworxBackupStorage 資料夾的內容。
7. 刪除 ThingworxPlatform 資料夾中的 keystore-password 檔案。
8. 轉至 /Apache Software Foundation/Tomcat x.x/webapps 中的 Tomcat 安裝,然後刪除 Thingworx.war 檔案。
9. 刪除 Apache Software Foundation/Tomcat x.x/webapps 中的 Thingworx 資料夾。
10. 針對此版本複製 Thingworx.war 檔案,然後將其置於 Tomcat 安裝的下列位置:/Apache Software Foundation/Tomcat x.x/webapps。
11. 啟用延伸功能匯入。依預設,延伸功能匯入針對所有使用者皆為禁用。將下列內容新增到 platform-settings.json 檔案中。新增下列 ExtensionPackageImportPolicy 參數或將其更新為 true 以允許匯入延伸功能。
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
},
12. 如果您使用 H2 作為 ThingWorx 的資料庫,必須將使用者名稱與密碼新增至 platform-settings.json 檔案。
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<changeme>",
"username": "twadmin"
}
},
13. 啟動 Tomcat。
14. 如果您重複使用舊的 keystore.jks 檔案,請找出您之前從 ThingworxStorage 與 ThingworxPlatform 資料夾中移動的 keystore.jks 與 keystore-password 檔案,然後貼上到各自的資料夾中。
15. 欲啟動 ThingWorx,請在 web 瀏覽器中轉至 <伺服器名稱>/Thingworx。使用下列登入資訊:
◦ 登入名稱:Administrator
◦ 密碼:<來源伺服器管理員密碼>
D.) 升級至 Java 11
| ThingWorx 9.2.0 及更新版本需要 Java 11。如需詳細資訊,請參閱 系統需求。 |
1. 如果您要升級至 Java 11,需要執行下列步驟:如果已安裝 Java 11,請跳過此部份。
b. 在 Linux 中安裝 jEnv:
i. 對 jEnv 存放庫執行 Git clone:
git clone https://github.com/jenv/jenv.git ~/.jenv
ii. 將 jEnv 新增至您的 $PATH:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
iii. 初始化 jEnv:
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
iv. 更新在 ~/.bash_profile 中進行的變更:
source ~/.bash_profile
v. 設定 JAVA_HOME 環境變數:
jenv enable-plugin export
vi. 重新啟動目前 shell 工作階段:
exec $SHELL -l
vii. 執行下列指令,jEnv 即會根據目前的使用中 Java 環境,自動設定 JAVA_HOME 變數:
jenv doctor
c. 新增 Java 環境:
i. 新增任何環境。所有 Java 安裝都位於 /usr/lib/jvm/。使用 jenv add 指令。範例如下:
jenv add /usr/lib/jvm/java-11-amazon-corretto
jenv add /usr/lib/jvm/jdk-11.0.7
ii. 檢查 jenv 的所有可用 Java 版本:
jenv versions
iii. 設定全域 Java 環境:
jenv global <version>
iv. 設定 shell 特定 Java 環境:
jenv shell <version>
v. 確認 jenv 所設定的目前版本:
jenv versions
vi. 更新 Tomcat Java 設定中的路徑。
vii. 重新啟動 Tomcat。
E.) 匯入資料與實體
1. 將匯出檔案移回至 ThingworxStorage\exports。
2. 如有必要,請取得並匯入最新版本的延伸功能。您必須匯入 9.x 版的延伸功能。您可從 ThingWorx Foundation
下載頁取得 PTC 支援的延伸功能。
4. 匯入實體與資料。
| 如果您要升級至 ThingWorx 9.2 或更新版本,必須先匯入 Principals.xml,然後才能匯入 Entities.xml。若不執行此操作,會導致遺失所有權限。如需詳細資訊,請參閱 在 9.2 及更新版本中匯入實體。 |
a. 在 Composer 中,按一下「匯入/匯出」>「從檔案」。
b. 選取要匯入的資料與/或實體。
| 如果您要包括所匯入實體的「子系統」設定 (例如,如果您從測試環境轉到生產),請選取「包括子系統」核取方塊。 |
| 在 MSSQL 升級的應用程式記錄檔中可以看見下列錯誤,並會顯示是否有配置了執行時間權限的任何已移轉服務、內容或事件名稱,且其名稱是否包含超過 256 個字元。欲修正此錯誤,請將所有服務、內容和事件名稱限制為少於 256 個字元。 Error occurred while accessing the data provider |
F.) 升級其他元件
• 如果您要使用 ThingWorx Analytics 作為解決方案的一部份,則可以使用兩個安裝程式來處理元件升級:
◦ Analytics Server - 安裝或升級 Analytics Server 與 Analytics Extension
◦ Platform Analytics - 安裝或升級 Descriptive Analytics 與 Property Tranforms