安裝需求

硬體需求

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

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

針對「安裝拓撲」中所述的所有安裝情境,下表列出了 安裝元件的最低硬體需求

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

安裝元件 RAM CPU 硬碟下限
Cassandra 16 GB 8 核心 250 GB 本機儲存空間 (具備 SSD,支援 2000 IOPS)
在同一部電腦上執行訊息處理器/路由器 16 GB 8 核心 100 GB
訊息處理工具 (獨立) 16 GB 8 核心 100 GB
路由器 (獨立) 16 GB 8 核心 100 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 核心 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 系統需求:

  • 低於 250 TPS:受管理的網路可納入 8 GB 和 4 核心 儲存空間***,支援 1000 IOPS
  • 大於 250 TPS:16 GB、8 核心、受管理的網路儲存空間***,支援 1000 IOPS 以上
  • 大於 1,000 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 核心 500GB 至 1TB 的網路儲存空間,最好搭配 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。
Analytics - Qpid 獨立 8 GB 4 核心 40 GB 至 500 GB 的本機儲存空間 (含 SSD 或高速 HDD)

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

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

這些安裝指示和隨附的安裝檔案已經過測試, 映像檔、作業系統和第三方軟體 支援的軟體和支援版本

Java

您必須先在每部機器上安裝支援的 Java 1.8 版本,才能進行安裝作業。支援的 JDKs 列於 支援的軟體和支援版本

請確認 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 是所需的 Edge 檔案位置。

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

聯播網設定

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

  • hostname 會傳回機器名稱
  • hostname -i 會傳回主機名稱的 IP 位址,該主機名稱可從其他機器尋址。

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

如果伺服器有多個介面資訊卡,則「主機名稱 -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

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

sudo/etc/init.d/iptables stop

在 CentOS 7.x 上:

systemctl stop firewalld

目錄存取權

下表列出 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 會將資料備用資源儲存在 確保穩定性和容錯能力每個 Pod 的複製策略 Edge Keyspace 會決定備用資源所在的 Cassandra 節點。詳情請參閱 關於 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

系統限制

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

  • 在 Cassandra 節點上,請在 /etc/security/limits.d/90-apigee-edge-limits.conf 中為安裝使用者 (預設為「apigee」) 設定軟性和硬性 memlock、nofile 和位址空間 (as) 限制,如下所示:
    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 支援團隊提交支援單,以便進一步排除問題。

網路威脅防禦服務 (NSS)

網路威脅防禦服務 (NSS) 是一組支援 提供安全功能的用戶端和伺服器應用程式請確認您已安裝 NSS v3.19 以上版本。

如何查看目前版本:

yum info nss

如要更新 NSS,請按照下列步驟操作:

yum update nss

詳情請參閱 RedHat 的這篇文章

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

如果您已安裝並啟用 NSCD (Name Service Cache Daemon),訊息處理器會執行兩次 DNS 查詢:一次是針對 IPv4,另一次是針對 IPv6。建議您停用 IPv6 的 DNS 查詢功能。 使用 NSCD

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

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

在 Google Cloud 中停用 IPv6 RedHat/CentOS 7 適用的平台

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

如需停用 IPv6 的操作說明,請參閱特定 OS 版本的 RedHat 或 CentOS 說明文件。例如,您可以:

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

AWS AMI

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

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

工具

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

awk

expr

libxslt

每分鐘轉速

解壓縮

basename

grep

lua-socket

rpm2cpio

useradd

bash

主機名稱

ls

sed

wc

bc

id

net-tools

sudo

wget

curl

利比亞奧

Perl (來自處理序)

tar

xerces-c

cyrus-sasl libdb4 pgrep (來自處理序) tr 好吃

日期

libdb-cxx

ps

uuid

chkconfig

目錄名稱 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,因此需要複製。

防火牆和虛擬主機

IT 領域中通常會有「virtual」這個詞超載,因此會有 適用於私有雲部署和虛擬主機的 Apigee Edge。為避免混淆,請注意 virtual 一詞有兩種主要用途:

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

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

如同命名範例,單一實體伺服器 A 可能會在執行兩個 VM 上。 名稱為「VM1」和「VM2」假設「VM1」會顯示一個稱為 「eth0」且會為 VM 指派 IP 位址 111.111.111.111 虛擬化機器或網路 DHCP 伺服器並假設 VM2 會公開 名為「eth0」的乙太網路介面系統會為該 Pod 指派 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)。

實體主機的作業系統可能設有網路防火牆。如果有,該防火牆 必須設定為針對要在虛擬化上公開的通訊埠傳遞 TCP 流量 介面 (111.111.111.111:{80, 443}111.111.111.222:80)。於 此外,每個 VM 的作業系統可在其 eth0 介面上提供專屬防火牆 也必須允許連線通訊埠 80 和 443 流量。

basepath 是第三個元件,用於將 API 呼叫轉送至您可能已部署的不同 API Proxy。在具有不同端點的情況下,API Proxy 套件可以共用同一個端點 basepaths。舉例來說,一個 basepath 可以定義為 http://api.mycompany.com:80/,另一個定義為 http://api.mycompany.com:80/salesdemo

在這種情況下,您需要負載平衡器或某種流量轉送器,才能在兩個 IP 位址 (VM1 上的 111.111.111.111 和 VM2 上的 111.111.111.222) 之間分割 http://api.mycompany.com:80/ 流量。這個函式 並由本機網路群組設定。

Basepath 是在部署 API 時設定。如上例所示,您可以為 mycompany-org 機構部署兩個 API (mycompanytestmycompany),其中虛擬主機具有主機別名 api.mycompany.com,且連接埠設為 80。如果您未在部署中宣告 basepath,則路由器就不知道要將傳入要求傳送至哪個 API。

不過,如果您使用 /salesdemo 的基礎網址部署 API testmycompany,使用者就會透過 http://api.mycompany.com:80/salesdemo 存取該 API。如果您使用 / 的基礎網址部署 mycompany API,使用者就能透過 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 銷售聯絡。