在節點上安裝 Edge 元件

私有雲的邊緣 4.16.05 版

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

apigee-setup 公用程式使用類似以下形式的指令:

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

其中 component 是要安裝的 Edge 元件,而 configFile 則是包含安裝資訊的無訊息設定檔。設定檔必須可供「apigee」使用者存取或讀取。例如,將檔案放在節點上的 /tmp 目錄中。

舉例來說,如要安裝 Edge Management Server:

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

安裝注意事項

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

設定 Postgres 主要執行個體待命複製

根據預設,Edge 會在主要模式中安裝所有 Postgres 節點。但是,在具有多個 Postgres 節點的實際工作環境系統中,您必須將這些節點設為使用主要待命複製功能。這樣一來,如果主要節點故障,待命節點可以繼續處理流量。

您可以在安裝時使用無訊息設定檔中的屬性,啟用及設定主要執行個體待命複製功能。或在安裝完成後啟用主要執行個體待命複製。詳情請參閱設定 Postgres 的主要待命複製功能

啟用 Cassandra 驗證

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

您可以在無訊息設定檔中使用屬性,將 Cassandra 驗證設為安裝時間。或是在安裝完成後啟用。

詳情請參閱啟用 Cassandra 驗證

將路由器繫結至受保護的通訊埠

如要將路由器繫結至受保護的通訊埠 (例如小於 1024 的通訊埠編號),您必須將路由器設為以具備這些通訊埠存取權的使用者的身分執行。根據預設,路由器會以使用者「apigee」的形式執行,這個身分無法存取獲得授權的通訊埠。

如何以其他使用者的身分執行路由器:

  1. 以根目錄建立 /opt/apigee/etc/edge-router.d/RUN_USER.sh 檔案。
  2. 在檔案中新增下列項目:
    RUN_USER=root
    如果不想以根層級執行路由器,請指定具備通訊埠存取權的使用者。
  3. 儲存檔案。
  4. 如果您指定了 Root 權限以外的使用者,請將檔案擁有者變更為該使用者:
    > chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. 重新啟動路由器:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart

指定要安裝的元件

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

元件

說明

c 鍵

僅安裝 Cassandra。

zk 只安裝 ZooKeeper。

ds

安裝 ZooKeeper 和 Cassandra。

落地

僅安裝 OpenLDAP。

毫秒

安裝 Edge Management Server,您將一併安裝 Edge UI 和 OpenLDAP。

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

r 鍵

只安裝 Edge Router。

mp

僅安裝邊緣訊息處理器。

溫度控制器

安裝 Edge Router 和訊息處理器。

ui

安裝 Edge UI。

qs

僅安裝 Qpid 伺服器。

ps

僅安裝 Postgres 伺服器。

薩克斯風

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

這個選項僅供開發和測試使用,不適用於實際工作環境。

安裝「營利」。

sa

單獨安裝 Edge (亦即 Cassandra、ZooKeeper、管理伺服器、OpenLDAP、Edge UI、路由器和訊息處理器)。這個選項會省略 Edge 分析元件:Qpid 和 Postgres。

這個選項僅供開發和測試使用,不適用於實際工作環境。

Aio

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

這個選項僅供開發和測試使用,不適用於實際工作環境。

建立設定檔

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

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

  • 您正在安裝多個 OpenLDAP 伺服器,而且必須在 13 個節點的安裝程序中設定複製功能。每個檔案的 LDAP_SIDLDAP_PEER 值都必須不同。
  • 您正在 12 個節點安裝過程中建立多個資料中心,每個資料中心需要不同的屬性 (例如 ZK_CLIENT_HOSTSCASS_HOSTS) 設定,

設定檔範例

以下是 9 個節點邊緣安裝作業的完整無訊息設定檔範例。根據您的設定,視需要編輯這個檔案。使用 -f 選項 setup.sh 即可加入此檔案。以下也顯示了各個 Edge 拓撲的範例設定檔。

# IP address or DNS name of nodes.
IP1=192.168.1.1  # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra
IP2=192.168.1.2  # ZooKeeper, Cassandra
IP3=192.168.1.3  # ZooKeeper, Cassandra
IP4=192.168.1.4  # Router, Message Processor
IP5=192.168.1.5  # Router, Message Processor
IP6=192.168.1.6  # Qpid
IP7=192.168.1.7  # Qpid
IP8=192.168.1.8  # Postgres
IP9=192.168.1.9  # Postgres

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.

# Location of Edge license file.
LICENSE_FILE=/tmp/license.txt

# Management Server information.
MSIP=$IP1    # IP or DNS name of Management Server node. 
# Specify the port the Management Server listens on for API calls.
# APIGEE_PORT_HTTP_MS=8080    # Default is 8080.

#
# OpenLDAP information.
#
# Set to y if you are connecting to a remote LDAP server. 
# If n, Edge installs OpenLDAP when it installs the Management Server.
USE_LDAP_REMOTE_HOST=n 

# If connecting to remote OpenLDAP server, specify the IP/DNS name and port.
# LDAP_HOST=$IP1    # IP or DNS name of OpenLDAP node.
# LDAP_PORT=10389   # Default is 10389.
APIGEE_LDAPPW=yourLdapPassword

# Specify OpenLDAP without replication, 1, or with replication, 2.
LDAP_TYPE=1 

# Set only if using replication.
# LDAP_SID=1    # Unique ID for this LDAP server. 
# LDAP_PEER=    # IP or DNS name of LDAP peer.

BIND_ON_ALL_INTERFACES=y 

# The Message Processor and Router pod.
MP_POD=gateway 

# The name of the region, corresponding to the data center name.
REGION=dc-1 # Use dc-1 unless installing in a 
            # multi-data center environment. 

# ZooKeeper information.
# See table below if installing in a multi-data center environment.
ZK_HOSTS="$IP1 $IP2 $IP3"         # IP/DNS names of all ZooKeeper nodes. 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"  # IP/DNS names of all ZooKeeper nodes.

# Cassandra information.
CASS_CLUSTERNAME=Apigee    # Default name is Apigee.

# IP addresses of the Cassandra hosts separated by spaces.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"

# Set to enable Cassandra authentication.
# CASS_AUTH=y    # The default value is n.
# Cassandra uname/pword required if you enabled Cassandra authentication.
# CASS_USERNAME=
# CASS_PASSWORD=

# Use to enable Postgres master-standby replication
# when you have multiple Postgres nodes. 
# PG_MASTER=IPorDNSofNewMaster
# PG_STANDBY=IPorDNSofOldMaster

# SMTP information.
SKIP_SMTP=n       # Skip now and configure later by specifying "y".
SMTPHOST=smtp.gmail.com
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPPORT=465      # If no SSL, use a different port, such as 25.

下表提供這些屬性的額外資訊:

屬性

注意

IP/DNS 名稱

指定節點的 IP 位址時,請勿使用主機名稱對應至 127.0.0.1 或 IP 位址 127.0.0.1。

ADMIN_EMAIL
APIGEE_ADMINPW

系統管理員密碼的長度不得少於 8 個字元,包含一個大寫英文字母、一個小寫英文字母、一個數字或一個特殊字元。如果您省略密碼,系統會提示您輸入密碼。

LICENSE_FILE

授權檔案的位置,必須可供「apigee」使用者存取。例如,將程式碼儲存在 /tmp 目錄和 chmod 777 中。檔案會複製到 Edge 安裝目錄。

USE_LDAP_REMOTE_HOST
LDAP_HOST
LDAP_PORT

如果 USE_LDAP_REMOTE_HOST 為 n,Edge 會在安裝管理伺服器時自動安裝 OpenLDAP。

如果您要連線至遠端 LDAP 伺服器,請將 USE_LDAP_REMOTE_HOST 設為 y。OpenLDAP 並未安裝管理伺服器。

如果您要連線至遠端 OpenLDAP 伺服器,請使用 LDAP_HOST
和 LDAP_PORT 來指定主機的 IP 位址或 DNS 名稱和通訊埠號碼。

LDAP_TYPE
LDAP_SID
LDAP_PEER

為 OpenLDAP 設定 LDAP_TYPE=1 (無複製作業)。LDAP_TYPE=2 對應於 OpenLDAP,加上複製功能。

如果 Edge 拓撲使用單一 OpenLDAP 伺服器,請指定 1。如果 Edge 安裝使用多個 OpenLDAP 節點 (例如在 13 節點實際工作環境安裝時),請指定 2。

如果您啟用了複製功能,請設定下列屬性:

  • LDAP_SID=1 - 這個 LDAP 伺服器的專屬 ID。每個 LDAP 節點都使用不同的 ID。例如將 LDAP 對等點設為 2。
  • LDAP_PEER=10.0.0.1 - LDAP 對等互連的 IP 或 DNS 名稱。

BIND_ON_ALL_INTERFACES

如果設為「y」,路由器/訊息處理器會在所有介面 (IP) 上繫結 (監聽)。 如果設為「n」,路由器/訊息處理器會在特定介面中繫結 (監聽) ,也就是「主機名稱 -i」指令傳回的 IP。

MP_POD

指定訊息處理器和路由器 Pod 的名稱。預設值為閘道。

區域

區域名稱。按照慣例,名稱的格式通常為 dc-#,其中 # 對應整數值。例如 dc-1、dc-2 等。除非在多資料中心環境中進行安裝,否則可以使用 dc-1。

在安裝多個資料中心時,視您安裝的資料中心而定,值會是 dc-1 或 dc-2 等。不過,您並不限於僅使用 dc-# 格式的名稱,您可以針對區域使用任何名稱。

ZK_HOSTS

ZooKeeper 節點的 IP 位址或 DNS 名稱。所有 ZooKeeper 節點上的 IP 位址或 DNS 名稱都必須按照相同的順序列出。

在多資料中心環境中,列出來自兩個資料中心的所有 ZooKeeper 節點。

根據安裝 12 主機的說明,只有在建立多個資料中心時,才要在 ZooKeeper 節點上指定「:observer」修飾符。在單一資料中心內安裝時,請省略該修飾符。詳情請參閱「12 主機叢集安裝」。

ZK_CLIENT_HOSTS

這個資料中心使用的 ZooKeeper 節點的 IP 位址或 DNS 名稱。所有 ZooKeeper 節點上的 IP 位址或 DNS 名稱都必須按照相同的順序列出。

安裝單一資料中心時,這些節點與 ZK_HOSTS 指定的節點相同。

在多資料中心環境中,僅列出這個資料中心中的 ZooKeeper 節點。詳情請參閱「12 主機叢集安裝」。

CASS_HOSTS

Cassandra 節點的 IP 位址 (而非 DNS 名稱)。前兩個節點會做為種子伺服器使用。列出所有 Cassandra 節點的 IP 位址順序必須相同。

Cassandra 節點可以有選用的「:dc,ra」後置字串,藉此指定 Cassandra 節點的資料中心和機架。請只在建立多個資料中心時,按照 12 主機的安裝說明指定此修飾符。在單一資料中心內安裝時,請省略該修飾符。

例如「192.168.124.201:1,1 = 資料中心 1」和機架/供應區域 1、'192.168.124.204:2,1 = 資料中心 2 和機架/供應區域 1。

在多資料中心環境中,為解決防火牆問題,CASS_HOSTS 必須按照 (如上例所示) 的順序排序,將目前資料中心的節點置於開頭。詳情請參閱「12 主機叢集安裝」。

CASS_AUTH
CASS_使用者名稱

CASS_PASSWORD

如果您啟用 Cassandra 驗證 (CASS_AUTH=y),就能使用這些屬性傳送 Cassandra 使用者名稱和密碼。

PG_MASTER

PG_STANDBY

設為啟用 Postgres 主要執行個體待命複製功能,格式如下:

PG_MASTER=IPorDNSofNewMaster

PG_STANDBY=IPorDNSofOldMaster

SKIP_SMTP
SMTP 主機
SMTPUSER
SMTPPASSWORD
SMTPSSL
SMTPPORT

設定 SMTP 即可讓 Edge 在密碼遺失及其他通知時傳送電子郵件。

如果不需要 SMTP 使用者憑證,請省略 SMTPUSERSMTPPASSWORD

元件安裝順序

元件安裝順序取決於您偏好的拓撲。

以下顯示的所有安裝範例假設您都在安裝:

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

安裝記錄檔

根據預設, setup.sh 公用程式會將記錄資訊寫入至:

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

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

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

全方位安裝

  1. 使用下列指令,在單一節點上安裝所有元件:
    > /opt/apigee/apigee-setup/bin/setup.sh -p aio -f configFile
  2. 刪除 /opt/nginx/conf.d 中的所有檔案:
    > rm -f /opt/nginx/conf.d/*
  3. 重新啟動 Edge 路由器:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restart
  4. 按照「測試安裝」一文的說明測試安裝作業。
  5. 按照「將機構加入機構」一文的說明加入貴機構。

以下顯示這個拓撲的無訊息設定檔:

# With SMTP
IP1=IPorDNSnameOfNode
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.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"
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

雙主機獨立安裝

如需邊緣拓撲和節點編號的清單,請參閱安裝拓撲

  1. 安裝獨立閘道和節點 1
    > /opt/apigee/apigee-setup/bin/setup.sh -p sa -f configFile
  2. 在節點 1 上:
    1. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    2. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restart
  3. 在節點 2 上安裝 Analytics:
    > /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile
  4. 按照「測試安裝」一文的說明測試安裝作業。
  5. 按照「將機構加入機構」一文的說明加入貴機構。

以下顯示這個拓撲的無訊息設定檔:

# With SMTP
IP1=IPorDNSnameOfNode1
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.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"
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

5 主機叢集安裝

如需邊緣拓撲和節點編號的清單,請參閱安裝拓撲

  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 上:
    1. 安裝路由器和訊息處理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    3. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restart
  4. 在節點 4 和 5 上安裝 Analytics:
    > /opt/apigee/apigee-setup/bin/setup.sh -p sax -f configFile
  5. 按照「測試安裝」一文的說明測試安裝作業。
  6. 按照「將機構加入機構」一文的說明加入貴機構。

以下顯示這個拓撲的無訊息設定檔:

# With SMTP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP4=IPorDNSnameOfNode4
IP5=IPorDNSnameOfNode5
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.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" 
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

9 主機叢集安裝

如需邊緣拓撲和節點編號的清單,請參閱安裝拓撲

  1. 在節點 1、2 和 3 中安裝 Datastore 叢集節點:
    > /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 上:
    1. 安裝路由器和訊息處理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    3. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restart
  4. 在節點 6 和 7 上安裝 Apigee Qpid Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  5. 在節點 8 和 9 中安裝 Apigee Analytics Postgres Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  6. 按照「測試安裝」一文的說明測試安裝作業。
  7. 按照「將機構加入機構」一文的說明加入貴機構。

以下顯示這個拓撲的無訊息設定檔:

# With SMTP
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.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" 
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

13 主機叢集安裝

如需邊緣拓撲和節點編號的清單,請參閱安裝拓撲

  1. 在節點 1、2 和 3 中安裝 Datastore 叢集節點:
    > /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 管理伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  4. 在節點 8 和 9 中安裝 Apigee Analytics Postgres Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  5. 在節點 10 和 11 上:
    1. 安裝路由器和訊息處理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    3. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restart
  6. 在節點 12 和 13 中安裝 Apigee 數據分析 Qpid Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  7. 按照「測試安裝」一文的說明測試安裝作業。
  8. 按照「將機構加入機構」一文的說明加入貴機構。

以下顯示這個拓撲的無訊息設定檔:

# 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@apigee.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" 
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
# 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@apigee.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 個主機叢集安裝

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

  • ZooKeeper

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

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

    對於每個資料中心的 ZK_CLIENT_HOSTS 屬性,請以相同順序指定資料中心內所有 ZooKeeper 節點的 IP 位址或 DNS 名稱。在以下所示的設定檔範例中,節點 9 已標記「:observer」輔助鍵,因此會有五位投票者:節點 1、2、3、7 和 8。
  • Cassandra
    所有資料中心的 Cassandra 節點數量都必須相同。

    針對各個資料中心的 CASS_HOSTS,請務必為兩個資料中心指定所有 Cassandra IP 位址 (而非 DNS 名稱)。如為資料中心 1,請先列出該資料中心內的 Cassandra 節點。針對資料中心 2,請先列出該資料中心內的 Cassandra 節點。按照相同順序列出資料中心內所有 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.4.204:2,1



    在這個部署模式中,Cassandra 設定看起來會像這樣:

如需邊緣拓撲和節點編號的清單,請參閱安裝拓撲

  1. 在節點 1、2、3、7、8 和 9 上安裝 Datastore 叢集節點:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile
  2. 在節點 1 和 7 上使用 OpenLDAP 複製安裝 Apigee 管理伺服器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  3. 在節點 2、3、8 和 9 上:
    1. 安裝路由器和訊息處理器:
      > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile
    2. 刪除 /opt/nginx/conf.d 中的所有檔案:
      > rm -f /opt/nginx/conf.d/*
    3. 重新啟動 Edge 路由器:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router restart
  4. 在節點 4、5、10 和 11 中安裝 Apigee 數據分析 Qpid Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  5. 在節點 6 和 12 中安裝 Apigee Analytics Postgres Server:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
  6. 按照「測試安裝」一文的說明測試安裝作業。
  7. 按照「將機構加入機構」一文的說明加入貴機構。

以下顯示這個拓撲的無訊息設定檔。請注意這個設定檔:

  • 設定 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@apigee.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"
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
# 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@apigee.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"
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