安裝需求

硬體需求

您必須符合下列最低硬體需求,才能在正式環境中建立高可用性基礎架構。

以下影片提供安裝作業的概略大小調整指引:

在「安裝拓撲」一節中描述的所有安裝情境,都適用於下列安裝元件的最低硬體需求。

在這些表格中,硬碟需求是作業系統所需硬碟空間以外的額外需求。視應用程式和網路流量而定,您的安裝作業可能需要比下列資源更多或更少的資源。

安裝元件 RAM CPU 最低硬碟空間
Cassandra (獨立) 16 GB 8 核心 250 GB 本機儲存空間,SSD 支援 2000 IOPS
同一部機器上的 Cassandra/Zookeeper 16 GB 8 核心 250 GB 本機儲存空間,SSD 支援 2000 IOPS
同一部電腦上的訊息處理器/路由器 16 GB 8 核心 100 GB
訊息處理器 (獨立) 16 GB 8 核心 100 GB
路由器 (獨立) 8 GB 8 核心 100 GB
Analytics - Postgres/Qpid 位於同一部伺服器 16GB* 8 核心* 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上*
Analytics - Postgres 主機或待機獨立式 16GB* 8 核心* 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上*
Analytics - Qpid (獨立) 8 GB 4 核心 30 GB 至 50 GB 的本機儲存空間 (SSD)

預設的 Qpid 佇列大小為 1 GB,可增加至 2 GB。如需更多容量,請新增其他 Qpid 節點。

SymasLDAP/UI/管理伺服器 8 GB 4 核心 60 GB
UI/管理伺服器 4 GB 2 核心 60 GB
SymasLDAP (獨立) 4 GB 2 核心 60 GB

* 根據輸送量調整 Postgres 系統需求:

  • 低於 250 TPS:可考慮使用 8 GB、4 核心,以及支援 1000 IOPS 以上的受管理網路儲存空間***
  • 超過 250 TPS:16 GB、8 核心、代管網路儲存空間***,支援 1000 IOPS 以上
  • 高於 1000 TPS:16 GB、8 核心、代管網路儲存空間***,支援 2000 IOPS 以上
  • 超過 2000 TPS:32 GB、16 核心、受管理網路儲存空間***,支援 2000 IOPS 以上
  • 高於 4000 TPS:64 GB、32 核心、受管理網路儲存空間***,支援 4000 IOPS 以上

** Postgres 硬碟值是根據 Edge 擷取的現成分析資料計算得出。 如果將自訂值加入 Analytics 資料,這些值就應相應增加。請使用下列公式估算所需儲存空間:

bytes of storage needed =

  (# bytes of analytics data/request) *

  (requests/second) *

  (seconds/hour) *

  (hours of peak usage/day) *

  (days/month) *

  (months of data retention)

例如:

(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)

= 1,194,393,600,000 bytes or 1194.4 GB of storage needed

*** 建議使用網路儲存空間儲存 PostgreSQL 資料庫,原因如下:

  • 可視需要動態擴充儲存空間大小。
  • 在現今大多數的環境/儲存空間/網路子系統中,網路 IOPS 都可以即時調整。
  • 您可以啟用儲存空間層級快照,做為備份與復原解決方案的一部分。

此外,如果您要安裝「營利服務」(All-in-One 安裝不支援),硬體需求如下:

含營利功能的元件 RAM CPU 硬碟
管理伺服器 (含營利服務) 8 GB 4 核心 60 GB
Analytics - Postgres/Qpid 位於同一部伺服器 16 GB 8 核心 500 GB 至 1 TB 的網路儲存空間,最好是 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。
Analytics - Postgres 主機或待機獨立式 16 GB 8 核心 500 GB 至 1 TB 的網路儲存空間,最好是 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。
Analytics - Qpid (獨立) 8 GB 4 核心 40 GB 至 500 GB 的本機儲存空間,搭配 SSD 或快速 HDD

如要安裝超過 250 TPS,建議使用支援 1000 IOPS 的本機儲存空間 HDD。

Cassandra 網路頻寬需求

Cassandra 會使用八卦通訊協定,與其他節點交換網路拓撲資訊。使用 Gossip 加上 Cassandra 的分散式特性 (涉及與多個節點通訊以進行讀取和寫入作業),會導致網路間的資料傳輸量大幅增加。

Cassandra 每個節點的最低網路頻寬需求為 1 Gbps。如為正式環境安裝作業,建議使用較高的頻寬。

Cassandra 的延遲時間上限或第 99 個百分位數應低於 100 毫秒。

作業系統和第三方軟體需求

這些安裝說明和隨附的安裝檔案,已在「支援的軟體和版本」中列出的作業系統和第三方軟體上測試過。

必要條件:啟用 EPEL 存放區

繼續安裝前,請確認已啟用 EPEL (Extra Packages for Enterprise Linux) 存放區。請根據作業系統版本使用下列指令:

  • 適用於 Red Hat/CentOS/Oracle 8.X:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo rpm -ivh epel-release-latest-8.noarch.rpm
  • Red Hat/CentOS/Oracle 9.X:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    sudo rpm -ivh epel-release-latest-9.noarch.rpm

Java

安裝前,每部電腦都必須安裝支援的 Java 1.8 版本。 如要查看支援的 JDK,請參閱「支援的軟體和版本」。

確認 JAVA_HOME 環境變數指向執行安裝作業的使用者 JDK 根目錄。

SELinux

視 SELinux 的設定而定,Edge 可能會遇到安裝及啟動 Edge 元件的問題。如有需要,您可以在安裝期間停用 SELinux 或設為寬鬆模式,然後在安裝完成後重新啟用。詳情請參閱「安裝 Edge apigee-setup 公用程式」。

建立「apigee」使用者

安裝程序會建立名為「apigee」的 Unix 系統使用者。Edge 目錄和檔案由「apigee」擁有,Edge 程序也是如此。也就是說,Edge 元件會以「apigee」使用者身分執行。如有必要,您可以透過其他使用者身分執行元件。

安裝目錄

根據預設,安裝程式會將所有檔案寫入 /opt/apigee 目錄。您無法變更這個目錄位置。雖然無法變更這個目錄,但可以建立符號連結,將 /opt/apigee 對應至其他位置,如「從 /opt/apigee 建立符號連結」一文所述。

在本指南的操作說明中,安裝目錄會標示為 /opt/apigee

建立符號連結前,請先建立名為「apigee」的使用者和群組。這與 Edge 安裝程式建立的群組和使用者相同。

如要建立符號連結,請先執行下列步驟,再下載 bootstrap_4.53.01.sh 檔案。 您必須以根身分執行所有這些步驟:

  1. 建立「apigee」使用者和群組:
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. /opt/apigee 建立符號連結至所需安裝根目錄:
    ln -Ts /srv/myInstallDir /opt/apigee

    其中 /srv/myInstallDir 是 Edge 檔案的所需位置。

  3. 將安裝根目錄和符號連結的擁有權變更為「apigee」使用者:
    chown -h apigee:apigee /srv/myInstallDir /opt/apigee

聯播網設定

Apigee 建議您在安裝前檢查網路設定。安裝程式會假設所有機器都有固定 IP 位址。使用下列指令驗證設定:

  • hostname 會傳回電腦名稱
  • hostname -i 會傳回可從其他機器定址的主機名稱 IP 位址。

視作業系統類型和版本而定,如果主機名稱未正確設定,您可能需要編輯 /etc/hosts/etc/sysconfig/network。詳情請參閱特定作業系統的說明文件。

如果伺服器有多個介面卡,「hostname -i」指令會傳回以空格分隔的 IP 位址清單。根據預設,Edge 安裝程式會使用傳回的第一個 IP 位址,但這可能不適用於所有情況。或者,您也可以在安裝設定檔中設定下列屬性:

ENABLE_DYNAMIC_HOSTIP=y

將該屬性設為「y」後,安裝程式會提示您選取要使用的 IP 位址,做為安裝程序的一部分。預設值為「n」。詳情請參閱「Edge 設定檔參考資料」。

TCP Wrappers

TCP Wrappers 可能會封鎖某些通訊埠的通訊,並影響 SymasLDAP、Postgres 和 Cassandra 的安裝作業。在這些節點上,檢查 /etc/hosts.allow/etc/hosts.deny,確保必要的 SymasLDAP、Postgres 和 Cassandra 連接埠沒有任何限制。

iptables

確認沒有任何 iptables 政策會阻礙必要 Edge 連接埠上的節點連線。如有需要,您可以在安裝期間使用下列指令停止 iptables:

sudo/etc/init.d/iptables stop

目錄存取權

下表列出 Edge 節點上具有特殊需求的目錄 (來自 Edge 程序):

服務 目錄 說明
路由器 /etc/rc.d/init.d/functions

Edge Router 使用 Nginx 路由器,且需要 /etc/rc.d/init.d/functions 的讀取權限。

如果安全程序要求您在 /etc/rc.d/init.d/functions 上設定權限,請勿將權限設為 700,否則路由器將無法啟動。

你可以將權限設為 744,允許讀取 /etc/rc.d/init.d/functions

Zookeeper /dev/random Zookeeper 用戶端程式庫需要隨機號碼產生器 /dev/random 的讀取權限。如果 /dev/random 在讀取時遭到封鎖,Zookeeper 服務可能無法啟動。

Cassandra

所有 Cassandra 節點都必須連線至環狀拓撲。Cassandra 會將資料副本儲存在多個節點上,確保可靠性與容錯能力。每個 Edge 鍵空間的複製策略會決定副本的放置位置。詳情請參閱「About Cassandra replication factor and consistency level」(關於 Cassandra 複寫因數和一致性層級)。

Cassandra 會根據可用記憶體自動調整 Java 堆積大小。如要瞭解詳情,請參閱「調整 Java 資源」,瞭解如何處理效能下降或記憶體用量過高的問題。

安裝 Edge for Private Cloud 後,您可以檢查 /opt/apigee/apigee-cassandra/conf/cassandra.yaml 檔案,確認 Cassandra 設定正確無誤。舉例來說,請確認 Edge for Private Cloud 安裝指令碼已設定下列屬性:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

PostgreSQL 資料庫

安裝 Edge 後,您可以根據系統可用的 RAM 容量,調整下列 PostgreSQL 資料庫設定:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

如要設定這些值,請按照下列步驟操作:

  1. 編輯 postgresql.properties 檔案:
    vi /opt/apigee/customer/application/postgresql.properties

    如果檔案不存在,請建立該檔案。

  2. 設定上述屬性。
  3. 儲存編輯內容。
  4. 重新啟動 PostgreSQL 資料庫:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Rocky 9.X 的地區設定

如果您使用 Rocky 9.X,請確認系統已在全系統語言代碼設定中設定 LANG=en_US.utf8。如要設定這項功能,請執行下列指令:

dnf -y -q install langpacks-en
localectl set-locale LANG=en_US.utf8
reboot

系統限制

請確認您已在 Cassandra 和 Message Processor 節點上設定下列系統限制:

  • 在 Cassandra 節點上,為安裝使用者 (預設為「apigee」) 設定軟硬 memlock、nofile 和位址空間 (as) 限制,如以下 /etc/security/limits.d/90-apigee-edge-limits.conf 所示:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited
    apigee soft nproc 32768
    apigee hard nproc 65536
  • 在 Message Processor 節點上,將開啟的檔案描述元數量上限設為 64K,如以下 /etc/security/limits.d/90-apigee-edge-limits.conf 所示:
    apigee soft nofile 32768
    apigee hard nofile 65536

    如有需要,您可以提高上限。舉例來說,如果您一次開啟大量暫存檔案。

  • 如果路由器或訊息處理器中出現下列錯誤 system.log,表示檔案描述元限制可能設定得太低:

    "java.io.IOException: Too many open files"

    如要查看使用者限制,請執行下列指令:

    # su - apigee
    $ ulimit -n
    100000
    

    如果將檔案描述元限制設為 100000 後,您仍達到開啟檔案的限制,請向 Apigee Edge 支援團隊開立支援單,以進行進一步的疑難排解。

網路安全服務 (NSS)

網路安全服務 (NSS) 是一組程式庫,可支援開發啟用安全性的用戶端和伺服器應用程式。請確認您已安裝 NSS 3.19 以上版本。

如要查看目前的版本,請按照下列步驟操作:

yum info nss

如要更新 NSS:

yum update nss

詳情請參閱 RedHat 的這篇文章

使用 NSCD (名稱服務快取精靈) 時,停用 IPv6 的 DNS 查詢

如果您已安裝並啟用 NSCD (名稱服務快取精靈),訊息處理器會執行兩次 DNS 查詢,分別是 IPv4 和 IPv6。使用 NSCD 時,應停用 IPv6 的 DNS 查詢。

如要停用 IPv6 的 DNS 查詢,請按照下列步驟操作:

  1. 在每個訊息處理器節點上,編輯 /etc/nscd.conf
  2. 設定下列屬性:
    enable-cache hosts no

在 RHEL 8 以上版本停用 IPv6

如果您要在 Google Cloud Platform 上安裝 Edge,且使用 RHEL 8 以上版本,請務必在所有 Qpid 節點上停用 IPv6。

如需停用 IPv6 的操作說明,請參閱 OS 供應商提供的說明文件。舉例來說,您可以在 Red Hat Enterprise Linux 說明文件中找到相關資訊。

工具

安裝程式會在標準版本中使用 EL5 或 EL6 提供的下列 UNIX 工具。

awk

expr

libxslt

每分鐘轉數

解壓縮

basename

grep

lua-socket

rpm2cpio

useradd

bash

主機名稱

ls

sed

wc

bc

id

net-tools

sudo

wget

curl

libaio

perl (來自 procps)

tar

xerces-c

cyrus-sasl libdb4 pgrep (來自 procps) tr 好吃

日期

libdb-cxx

ps

uuid

chkconfig

目錄名稱 libibverbs pwd uname  
echo librdmacm python    

時間同步處理

Apigee 建議您同步伺服器時間。如果尚未設定,ntpdate 公用程式或同等工具可驗證伺服器是否已同步處理時間,達到此目的。舉例來說,您可以使用 yum install ntp 或對等指令安裝公用程式。這項功能特別適合用於複製 LDAP 設定。請注意,您應將伺服器時區設為世界標準時間。

防火牆和虛擬主機

在 IT 領域中,virtual 這個詞彙經常被過度使用,Apigee Edge for Private Cloud 部署作業和虛擬主機也是如此。為求清楚,virtual 一詞主要有兩種用途:

  • 虛擬機器 (VM):不需要,但部分部署作業會使用 VM 技術,為 Apigee 元件建立獨立伺服器。VM 主機與實體主機一樣,可以有網路介面和防火牆。
  • 虛擬主機:網路端點,類似於 Apache 虛擬主機。

VM 中的路由器可以公開多個虛擬主機 (只要主機別名或介面通訊埠互不相同)。

以命名為例,單一實體伺服器 A 可能會執行兩個 VM,分別命名為「VM1」和「VM2」。假設「VM1」公開虛擬乙太網路介面,該介面在 VM 內命名為「eth0」,並由虛擬化機制或網路 DHCP 伺服器指派 IP 位址 111.111.111.111;然後假設 VM2 也公開名為「eth0」的虛擬乙太網路介面,並獲派 IP 位址 111.111.111.222

我們可能在每個 VM 中執行一個 Apigee 路由器。路由器會公開虛擬主機端點,如下列假設範例所示:

VM1 中的 Apigee 路由器會在 eth0 介面 (具有特定 IP 位址) 上公開三個虛擬主機:api.mycompany.com:80api.mycompany.com:443test.mycompany.com:80

VM2 中的路由器會公開 api.mycompany.com:80 (與 VM1 公開的名稱和連接埠相同)。

實體主機的作業系統可能設有網路防火牆,如果是,則必須設定該防火牆,以傳遞繫結至虛擬介面 (111.111.111.111:{80, 443}111.111.111.222:80) 上公開通訊埠的 TCP 流量。此外,每個 VM 的作業系統可能會在 eth0 介面上提供自己的防火牆,這些防火牆也必須允許通訊埠 80 和 443 的流量連線。

basepath 是將 API 呼叫路由至您可能已部署的不同 API Proxy 時,所涉及的第三個元件。如果 API Proxy 套件具有不同的基本路徑,即可共用端點。舉例來說,一個基本路徑可以定義為 http://api.mycompany.com:80/,另一個則定義為 http://api.mycompany.com:80/salesdemo

在這種情況下,您需要某種負載平衡器或流量導向器,將 http://api.mycompany.com:80/ 流量分配到兩個 IP 位址 (VM1 上的 111.111.111.111 和 VM2 上的 111.111.111.222)。這項功能專屬於特定安裝作業,由當地網路群組設定。

部署 API 時會設定 basepath。從上述範例中,您可以看到機構 mycompany-org 部署了兩個 API (mycompanytestmycompany),虛擬主機的主機別名為 api.mycompany.com,且連接埠設為 80。如果您未在部署作業中宣告 basepath,路由器就不知道要將傳入要求傳送至哪個 API。

不過,如果您使用 /salesdemo 的基本網址部署 API testmycompany,使用者就會透過 http://api.mycompany.com:80/salesdemo 存取該 API。如果您使用 / 的基本網址部署 API mycompany,使用者會透過 http://api.mycompany.com:80/ 網址存取 API。

授權

每個 Edge 安裝作業都需要從 Apigee 取得專屬授權檔案。安裝管理伺服器時,您需要提供授權檔案的路徑,例如 /tmp/license.txt。

安裝程式會將授權檔案複製到 /opt/apigee/customer/conf/license.txt

如果授權檔案有效,管理伺服器會驗證到期日和允許的 Message Processor (MP) 數量。如果任何授權設定過期,您可以在下列位置找到記錄:/opt/apigee/var/log/edge-management-server/logs。 在這種情況下,請與 Apigee Edge 支援團隊聯絡,瞭解遷移作業的詳細資訊。

如果還沒有授權,請與 Apigee 銷售團隊聯絡。