安裝需求

硬體需求

您必須符合下列最低硬體需求,才能在實際工作環境等級的環境中建立高可用性基礎架構。

以下影片將提供安裝作業的概略尺寸指引:

對於「安裝拓撲」一文所述的所有安裝情境,下表列出安裝元件的最低硬體需求。

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

安裝元件 RAM CPU 硬碟容量下限
Cassandra 16 GB 8 核心 250 GB 本機儲存空間,以及支援 2000 IOPS 的 SSD
同一部電腦上的訊息處理器/路由器 16 GB 8 核心 100 GB
訊息處理器 (獨立) 16 GB 8 核心 100 GB
路由器 (獨立) 16 GB 8 核心 100 GB
Analytics (分析) - 相同伺服器上的 Postgres/Qpid 16GB* 8 核心* 500 GB - 1TB** 網路儲存空間***,建議使用 SSD 後端,支援 1000 IOPS 以上*
數據分析 - Postgres 主要或待命 (獨立) 16GB* 8 核心* 500 GB - 1TB** 網路儲存空間***,建議使用 SSD 後端,支援 1000 IOPS 以上*
數據分析 - Qpid 獨立 8 GB 4 核心 30 GB - 50 GB 搭配 SSD 的本機儲存空間

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

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

* 根據處理量調整 Postgres 系統需求:

  • TPS 小於 250: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 立即擷取的現成分析資料。 如果您在數據分析資料中加入自訂值,這些值應隨之提高。請使用以下公式估算所需的儲存空間:

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 都能即時調整。
  • 您可以在備份與復原解決方案中啟用儲存空間層級快照。

此外,以下是安裝營利服務所需的硬體需求 (不適用於全方位安裝):

營利元件 RAM CPU 硬碟
管理伺服器 (使用營利服務) 8 GB 4 核心 60 GB
Analytics (分析) - 相同伺服器上的 Postgres/Qpid 16 GB 8 核心 500 GB - 1 TB 網路儲存空間,建議使用 SSD 後端網路儲存空間,支援 1000 IOPS 以上,或是使用上表的規則。
數據分析 - Postgres 主控版或待命模式 16 GB 8 核心 500 GB - 1 TB 網路儲存空間,建議使用 SSD 後端網路儲存空間,支援 1000 IOPS 以上,或是使用上表的規則。
數據分析 - Qpid 獨立 8 GB 4 核心 40 GB - 500 GB 的本機儲存空間,搭載 SSD 或快速 HDD

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

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

這些安裝操作說明和提供的安裝檔案已在支援的軟體和支援的版本中所列的作業系統和第三方軟體上進行測試。

Java

在安裝之前,您必須在每台電腦上安裝支援的 Java 1.8 版本。如要瞭解支援的 JDK,請參閱支援的軟體和支援的版本

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

SELinux

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

建立「apigee」使用者

安裝程序會建立一個名為「apigee」的 Unix 系統使用者。邊緣目錄和檔案皆由「apigee」擁有,屬於 Edge 程序。這表示 Edge 元件會以「apigee」使用者的身分執行。如有需要,您可以透過不同使用者身分執行元件。

安裝目錄

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

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

建立符號連結前,必須先建立一個名為「apigee」的使用者和群組。這是 Edge 安裝程式所建立的群組和使用者。

如要建立符號連結,請先執行下列步驟,再下載 bootstrap_4.52.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 是邊緣檔案所需的位置。

  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」。詳情請參閱邊緣設定檔參考資料

TCP 包裝函式

TCP 包裝函式可以封鎖部分通訊埠的通訊,並影響 OpenLDAP、Postgres 和 Cassandra 安裝。請檢查這些節點的 /etc/hosts.allow/etc/hosts.deny,確保必要的 OpenLDAP、Postgres 和 Cassandra 通訊埠沒有任何通訊埠限制。

IPtables

確認沒有 iptables 政策,導致所需邊緣通訊埠上的節點之間無法連線。如有必要,您可以在安裝期間使用以下指令停止 iptables:

sudo/etc/init.d/iptables stop

在 CentOS 7.x 上:

systemctl stop firewalld

目錄存取權

下表列出的 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 鍵空間的複製策略會決定備用資源的 Cassandra 節點。詳情請參閱「關於 Cassandra 複製係數和一致性等級」。

Cassandra 會根據可用的記憶體自動調整 Java 堆積大小。如果發生效能降低或記憶體用量偏高的情況,請參閱「調整 Java 資源」一節。

安裝私有雲的 Edge 之後,您可以透過檢查 /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

系統限制

確保已為 Cassandra 和訊息處理器節點設定下列系統限制:

  • 在 Cassandra 節點上,為安裝使用者設定軟硬鎖定、無檔案和位址空間限制 (預設為「apigee」),在 /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
  • 在訊息處理器節點中,將 /etc/security/limits.d/90-apigee-edge-limits.conf 中開啟的檔案描述元數量上限設為 64K,如下所示:
    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 支援團隊建立支援單,進一步排解問題。

Network Security Services (NSS)

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

如何查看目前的版本:

yum info nss

如何更新 NSS:

yum update nss

詳情請參閱 RedHat 的這篇文章

使用 NSCD (名稱服務快取 Daemon) 時停用 IPv6 的 DNS 查詢功能

如果您已安裝並啟用 NSCD (名稱服務快取 Daemon),訊息處理器會進行兩項 DNS 查詢:一個用於 IPv4,另一個則用於 IPv6。使用 NSCD 時,應停用 IPv6 的 DNS 查詢功能。

如何停用 IPv6 的 DNS 查詢:

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

在 Google Cloud Platform 上停用 RedHat/CentOS 7 的 IPv6

如要在 Google Cloud Platform 上安裝 Edge 或 CentOS 7,請務必在所有 Qpid 節點上停用 IPv6。

請參閱您的作業系統版本的 RedHat 或 CentOS 說明文件,瞭解如何停用 IPv6。使用範例如下:

  1. 在編輯器中開啟 /etc/hosts
  2. 在下一行的欄中插入「#」字元,即可將其註解排除:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 儲存檔案。

AWS AMI

如果您要在 Red Hat Enterprise Linux 7.x 適用的 AWS Amazon Machine Image (AMI) 上安裝 Edge,必須先執行下列指令:

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

工具

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

awk

expr

libxslt

每分鐘轉數

unzip

basename

grep

lua-socket

rpm2cpio

使用者新增

bash

主機名稱

ls

sed

wc

bc

id

net-tools

sudo

wget

curl

利比歐

福利 (來自 Procps)

塔爾

Xerces-c

柑橘 libdb4 pgrep (來自 Proc) tr 好吃

日期

libdb-cxx

ps

uuid

Chkconfig

dirname Libibverbs pwd uname  
echo Librdmacm python    

ntpdate

Apigee 會建議您同步處理伺服器的時間。如果尚未設定,ntpdate 公用程式即可達成此目的,驗證伺服器是否正在同步。您可以使用 yum install ntp 安裝公用程式。這項功能特別適合用於複製 OpenLDAP 設定。請注意,您在世界標準時間設定伺服器時區。

openldap 2.4

地端部署安裝作業需要 OpenLDAP 2.4。如果您的伺服器已連上網際網路,Edge 安裝指令碼就會下載並安裝 OpenLDAP。如果您的伺服器沒有網際網路連線,則必須確保已安裝 OpenLDAP,再執行 Edge 安裝指令碼。在 RHEL/CentOS 上,您可以執行 yum install openldap-clients openldap-servers 來安裝 OpenLDAP。

如要安裝 13 主機,以及有兩個資料中心的 12 主機安裝,由於有多個節點託管 OpenLDAP,因此需要 OpenLDAP 複製資料。

防火牆和虛擬主機

virtual 一詞在 IT 領域經常超載,因此搭配了用於私有雲部署和虛擬主機的 Apigee Edge。為澄清,「virtual」一詞主要用於兩個主要用途:

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

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

舉例來說,一個實體伺服器 A 可能會執行兩個名為「VM1」和「VM2」的 VM。假設「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 流量連線。

基本路徑是將 API 呼叫轉送至您已部署不同 API Proxy 時所需的第三個元件。如果 API Proxy 套件的基本路徑不同,則可共用端點。例如,一個基本路徑可以定義為 http://api.mycompany.com:80/,另一個定義為 http://api.mycompany.com:80/salesdemo

在這種情況下,您需要負載平衡器或流量總監,以在兩個 IP 位址之間分配 http://api.mycompany.com:80/ 流量 (VM1 上的 111.111.111.111 和 VM2 的 111.111.111.222)。這項功能適用於特定安裝項目,並由本機網路群組設定。

系統會在您部署 API 時設定 basepath。在上述範例中,您可以使用主機別名為 api.mycompany.com、通訊埠設為 80 的虛擬主機,為 mycompany-org 機構部署兩個 API (mycompanytestmycompany)。如果您未在部署中宣告基本路徑,路由器就無法知道要將傳入要求傳送至哪個 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

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

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