在節點上安裝 Edge 元件

Edge for Private Cloud 4.17.05 版

在節點上安裝 Edge apigee-setup 公用程式後,請使用 apigee-setup 公用程式在節點上安裝一或多個 Edge 元件。

apigee-setup 公用程式使用的指令格式如下:

> /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

其中 component 是要安裝的 Edge 元件,configFile 則是包含安裝資訊的靜音設定檔。設定檔必須可供「apigee」使用者存取或讀取。舉例來說,您可以為檔案建立新目錄、將檔案放在 /usr/local 或 /usr/local/share 目錄中,或放在節點上「apigee」使用者可存取的任何其他位置。

舉例來說,如要安裝 Edge Management Server,請執行下列指令:

> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f /usr/local/myConfig

安裝注意事項

編寫設定檔時,請考量下列選項。

設定 Postgres 主要/待命複製作業

根據預設,Edge 會以主模式安裝所有 Postgres 節點。不過,在具有多個 Postgres 節點的正式環境系統中,您必須將這些節點設定為使用主待命複製,這樣一來,如果主節點故障,待命節點就能繼續提供流量。

您可以在安裝時,使用靜默設定檔中的屬性,啟用及設定主要/待命複製功能。或者,您也可以在安裝後啟用主要待命複製功能。詳情請參閱「設定 Postgres 的主執行個體與待命執行個體複製功能」。

啟用 Cassandra 驗證

根據預設,Cassandra 安裝時不會啟用驗證功能。這表示任何人都能存取 Cassandra。您可以在安裝 Edge 後啟用驗證功能,也可以在安裝過程中啟用。

詳情請參閱「啟用 Cassandra 驗證」。

建立虛擬主機時使用受保護的通訊埠

如要建立虛擬主機,將路由器繫結至受保護的通訊埠 (例如小於 1000 的通訊埠編號),則必須將路由器設為以有權存取這些通訊埠的使用者身分執行。根據預設,路由器會以「apigee」使用者身分執行,該使用者無權存取特殊權限通訊埠。

如要瞭解如何設定虛擬主機和路由器,以便存取 1000 以下的通訊埠,請參閱「設定虛擬主機」。

指定要安裝的元件

下表列出您傳遞至 apigee-service 公用程式 -p 選項的選項,用於指定要在節點上安裝哪些元件:

構成要素

說明

c

僅安裝 Cassandra。

zk 僅安裝 ZooKeeper。

數據資料學家

安裝 ZooKeeper 和 Cassandra。

ld

僅安裝 OpenLDAP。

毫秒

安裝 Edge Management Server,這也會安裝 Edge UI 和 OpenLDAP。

如果您在設定檔中設定 USE_LDAP_REMOTE_HOST=y,系統會略過 OpenLDAP 安裝作業,而管理伺服器會使用安裝在其他節點上的 OpenLDAP。

r

僅安裝邊緣路由器。

mp

僅安裝 Edge 訊息處理器。

rmp

安裝 Edge 路由器和訊息處理器。

ui

安裝 Edge UI。

qs

僅安裝 Qpid 伺服器。

ps

僅安裝 Postgres 伺服器。

pdb 僅安裝 Postgres 資料庫 - 僅在安裝 Developer Services 入口網站時使用。請參閱「安裝開發人員服務入口網站」。

sax

安裝數據分析元件,也就是 Qpid 和 Postgres。

這個選項僅適用於開發和測試,不適用於正式環境。

月

安裝營利功能。

sa

安裝 Edge 獨立式,也就是 Cassandra、ZooKeeper、Management Server、OpenLDAP、Edge UI、Router 和 Message Processor。這個選項會省略 Edge Analytics 元件:Qpid 和 Postgres。

這個選項僅適用於開發和測試,不適用於正式環境。

aio

在單一節點上安裝所有元件。

這個選項僅適用於開發和測試,不適用於正式環境。

dp

安裝開發人員服務入口網站。

建立設定檔

設定檔包含安裝 Edge 所需的所有資訊。您通常可以使用同一個設定檔,安裝 Edge 安裝作業中的所有元件。

不過,在下列情況下,您必須使用不同的設定檔,或修改設定檔:

  • 您正在安裝多部 OpenLDAP 伺服器,且必須在 13 節點安裝作業中設定複製功能。每個檔案都需要不同的 LDAP_SID 和 LDAP_PEER 值。
  • 您正在建立多個資料中心,做為 12 節點安裝作業的一部分。每個資料中心都需要不同的屬性設定,例如 ZK_CLIENT_HOSTS 和 CASS_HOSTS。

下方說明的每個安裝拓撲都會顯示該拓撲的設定檔範例。如需設定檔的完整參考資料,請參閱「Edge 設定檔參考資料」。

安裝記錄檔

根據預設,setup.sh 公用程式會將安裝作業的記錄資訊寫入:

/opt/apigee/var/log/apigee-setup/setup.log

如果執行 setup.sh 公用程式的使用者無法存取該目錄,系統會將記錄寫入 /tmp 目錄,並命名為 setup_username.log。

如果使用者無法存取 /tmp,setup.sh 公用程式就會失敗。

安裝 Edge 元件

本節說明如何為不同拓撲安裝 Edge 元件。元件安裝順序取決於您所需的拓撲。

以下所有安裝範例都假設您要安裝:

  • 停用 Cassandra 驗證 (預設)。詳情請參閱「啟用 Cassandra 驗證」。
  • 停用 Postgres 主執行個體/待命執行個體複製功能 (預設)。詳情請參閱「設定 Postgres 的主要/待命複製」。
  • 訊息處理器和路由器位於同一個節點。如果您在不同的節點上安裝訊息處理器和路由器,請先安裝所有訊息處理器,再安裝所有路由器。

全方位安裝

  1. 使用下列指令,在單一節點上安裝所有元件:
    > /opt/apigee/apigee-setup/bin/setup.sh -p aio -f configFile
  2. 按照「測試安裝」一節所述測試安裝。
  3. 按照「將機構加入平台」一文的說明,將機構加入平台。

以下是這個拓撲的靜默設定檔。如需設定檔的完整參考資料,請參閱「Edge 設定檔參考資料」。

# With SMTP
IP1=IPorDNSnameOfNode
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1
LDAP_TYPE=1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1"
ZK_CLIENT_HOSTS="$IP1"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1"
# Default is postgres
PG_PWD=postgres
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd    
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

2 主機獨立安裝

如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。

  1. 安裝獨立閘道和節點 1
    > /opt/apigee/apigee-setup/bin/setup.sh -p sa -f configFile
  2. 在節點 2 上安裝 Analytics:
    > /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile
  3. 按照「測試安裝」一節所述測試安裝。
  4. 按照「將機構加入平台」一文的說明,將機構加入平台。

以下是這個拓撲的靜默設定檔。如需設定檔的完整參考資料,請參閱「Edge 設定檔參考資料」。

# With SMTP
IP1=IPorDNSnameOfNode1
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1
LDAP_TYPE=1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1"
ZK_CLIENT_HOSTS="$IP1"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1"
# Default is postgres
PG_PWD=postgres
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd    
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

5 主機叢集式安裝

如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。

  1. 在節點 1、2 和 3 上安裝 Datastore 叢集:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在節點 1 上安裝管理伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  3. 在節點 2 和 3 上安裝路由器和訊息處理器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
  4. 在節點 4 和 5 上安裝 Analytics:
    > /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile
  5. 按照「測試安裝」一節所述測試安裝。
  6. 按照「將機構加入平台」一文的說明,將機構加入平台。

以下是這個拓撲的靜默設定檔。如需設定檔的完整參考資料,請參閱「Edge 設定檔參考資料」。

# With SMTP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP4=IPorDNSnameOfNode4
IP5=IPorDNSnameOfNode5
 HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=1
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1 $IP2 $IP3" 
# Default is postgres
PG_PWD=postgres
PG_MASTER=$IP4
PG_STANDBY=$IP5
SKIP_SMTP=n
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd       
# omit for no password 
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

9 主機叢集安裝

如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。

  1. 在節點 1、2 和 3 上安裝資料儲存庫叢集節點:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在節點 1 上安裝 Apigee 管理伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  3. 在節點 4 和 5 上安裝路由器和訊息處理器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
  4. 在節點 6 和 7 上安裝 Apigee Analytics Qpid 伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  5. 在節點 8 和 9 上安裝 Apigee Analytics Postgres 伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  6. 按照「測試安裝」一節所述測試安裝。
  7. 按照「將機構加入平台」一文的說明,將機構加入平台。

以下是這個拓撲的靜默設定檔。如需設定檔的完整參考資料,請參閱「Edge 設定檔參考資料」。

# With SMTP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=1
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1 $IP2 $IP3" 
# Default is postgres
PG_PWD=postgres
SKIP_SMTP=n
PG_MASTER=$IP8
PG_STANDBY=$IP9
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd       
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

13 個主機的叢集式安裝

如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。

  1. 在節點 1、2 和 3 上安裝資料儲存庫叢集節點:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在節點 4 和 5 上安裝 OpenLDAP:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ld -f configFile
  3. 在節點 6 和 7 上安裝 Apigee Management Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  4. 在節點 8 和 9 上安裝 Apigee Analytics Postgres 伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  5. 在節點 10 和 11 上安裝路由器和訊息處理器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
  6. 在節點 12 和 13 上安裝 Apigee Analytics Qpid 伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  7. 按照「測試安裝」一節所述測試安裝。
  8. 按照「將機構加入平台」一文的說明,將機構加入平台。

以下是這個拓撲的靜默設定檔。如需設定檔的完整參考資料,請參閱「Edge 設定檔參考資料」。

# For all components except OpenLDAP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP4=IPorDNSnameOfNode4
IP5=IPorDNSnameOfNode5
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
# First Management Server on IP6
MSIP=$IP6 
USE_LDAP_REMOTE_HOST=y
LDAP_HOST=$IP4
LDAP_PORT=10389
# Second Management Server on IP7
# MSIP=$IP7
# USE_LDAP_REMOTE_HOST=y
# LDAP_HOST=$IP5
# LDAP_PORT=10389
# Same password for both OpenLDAPs.
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1 $IP2 $IP3" 
# Default is postgres
PG_PWD=postgres
PG_MASTER=$IP8
PG_STANDBY=$IP9
SKIP_SMTP=n
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd       
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# For OpenLDAP on IP4 and IP5
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP4=IPorDNSnameOfNode4
IP5=IPorDNSnameOfNode5
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
# First OpenLDAP Server on IP4
MSIP=$IP6 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP5
# Second OpenLDAP Server on IP5
# MSIP=$IP7 
# USE_LDAP_REMOTE_HOST=n 
# LDAP_TYPE=2
# LDAP_SID=2
# LDAP_PEER=$IP4
# Set same password for both OpenLDAPs.
APIGEE_LDAPPW=secret 

12 主機叢集式安裝

在 12 主機叢集拓撲 (兩個資料中心) 上安裝 Edge 之前,您必須瞭解如何在靜默設定檔中設定 ZooKeeper 和 Cassandra 屬性。

  • ZooKeeper

    針對兩個資料中心的 ZK_HOSTS 屬性,請以相同順序指定兩個資料中心內所有 ZooKeeper 節點的 IP 位址或 DNS 名稱,並使用「:observer」修飾符標示任何節點。沒有「:observer」修飾符的節點稱為「投票者」。設定中的「投票者」數量必須為奇數。

    在這個拓撲中,主機 9 上的 ZooKeeper 主機是觀察者:

    針對每個資料中心的 ZK_CLIENT_HOSTS 屬性,請僅指定資料中心內 ZooKeeper 節點的 IP 位址或 DNS 名稱,並按照相同順序指定資料中心內所有 ZooKeeper 節點。在下方設定檔範例中,節點 9 標有「:observer」修飾符,因此您有五個投票者:節點 1、2、3、7 和 8。
  • Cassandra
    所有資料中心都必須有相同數量的 Cassandra 節點。

    針對每個資料中心的 CASS_HOSTS,請務必為兩個資料中心指定所有 Cassandra IP 位址 (而非 DNS 名稱)。對於資料中心 1,請先列出該資料中心內的 Cassandra 節點。針對資料中心 2,請先列出該資料中心內的 Cassandra 節點。請按照相同順序列出資料中心內的所有 Cassandra 節點。

    所有 Cassandra 節點都必須有「:<d>,<r>」後置字串,例如「<ip>:1,1 = 資料中心 1 和機架/可用區 1」和「<ip>:2,1 = 資料中心 2 和機架/可用區 1」。
    例如:「192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1」

    每個資料中心機架/可用區 1 的第一個節點,會做為種子伺服器。

    在這個部署模型中,Cassandra 設定如下:

如需 Edge 拓撲和節點編號清單,請參閱「安裝拓撲」。

  1. 在節點 1、2、3、7、8 和 9 上安裝資料儲存庫叢集節點:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在節點 1 和 7 上安裝 Apigee Management Server,並啟用 OpenLDAP 複製功能:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  3. 在節點 2、3、8 和 9 上安裝路由器和訊息處理器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
  4. 在節點 4、5、10 和 11 上安裝 Apigee Analytics Qpid 伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  5. 在節點 6 和 12 上安裝 Apigee Analytics Postgres 伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  6. 按照「測試安裝」一節所述測試安裝。
  7. 按照「將機構加入平台」一文的說明,將機構加入平台。

以下是這個拓撲的靜默設定檔。請注意,這個設定檔如需設定檔的完整參考資料,請參閱「Edge 設定檔參考資料」。

  • 設定 OpenLDAP,在兩個 OpenLDAP 節點之間複製資料。
  • 在一個 ZooKeeper 節點上指定「:observer」修飾符。在單一資料中心安裝時,請省略該修飾符。
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
IP12=IPorDNSnameOfNode12
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
# Default is postgres
PG_PWD=postgres
PG_MASTER=$IP6
PG_STANDBY=$IP12
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
# omit for no username
SMTPPASSWORD=smtppwd   
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP6=IPorDNSnameOfNode6
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
IP12=IPorDNSnameOfNode12
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
# Default is postgres
PG_PWD=postgres
PG_MASTER=$IP6
PG_STANDBY=$IP12
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
# omit for no username
SMTPPASSWORD=smtppwd   
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"