安裝需求

硬體需求

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

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

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

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

安裝元件 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 位於相同伺服器上 16GB* 8 核心* 500 GB - 1 TB** 網路儲存空間***,建議使用 SSD 後端,且支援 1000 IOPS 以上*
數據分析 - Postgres 主要執行個體或待命 (獨立) 16GB* 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 以上)
  • 大於 2,000 個 TPS:32 GB、16 核心、代管網路儲存空間*** (支援 2000 IOPS 以上)
  • 大於 4,000 個 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 程序。這表示 Edge 元件會以「 Apigee」使用者身分執行。如有需要,您可以透過其他使用者的身分執行元件。

安裝目錄

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

在本指南中,安裝目錄會被標註為 /opt/apigee

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

如要建立符號連結,請先執行下列步驟,再下載 bootstrap_4.52.02.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 通訊埠沒有通訊埠限制。

iptable

確認沒有 iptable 政策導致需要的 Edge 通訊埠中的節點無法連線。如有需要,您可以在安裝期間使用下列指令停止 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 會將資料備用資源儲存在多個節點中,以確保穩定性和容錯能力。每個 Edge 鍵空間的複製策略會決定將備用資源設置在哪個 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」) 設定軟硬體鎖定、無檔案和位址空間 (做為) 限制,如下所示:
    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 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

針對 RedHat/CentOS 7 停用 Google Cloud Platform 的 IPv6

如果要在 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 7.x 的 AWS Amazon Machine Image (AMI) 上安裝 Edge,您必須先執行下列指令:

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

工具

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

awk

expr

Libxslt

每分鐘轉數

unzip

basename

grep

Lua-Socket

rpm2cpio

使用者新增

bash

主機名稱

ls

sed

wc

bc

ID

net-tools

sudo

wget

curl

利比亞奧

Perl (來自處理序)

Xerces-c

Cyrus-Sasl libdb4 pgrep (來自處理序) 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」的虛擬乙太網路介面,並獲派 111.111.111.222 位址 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 介面中提供自己的防火牆,而這些 VM 也必須允許通訊埠 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)。這個函式專用於安裝,並由本機網路群組設定。

Basepath 是在部署 API 時設定。在上述範例中,您可以使用具有 api.mycompany.com 主機別名且通訊埠設為 80 的虛擬主機,為 mycompany-org 機構部署 mycompanytestmycompany 這兩個 API。如果未在部署作業中宣告基本路徑,路由器就會不知道要將傳入要求傳送至哪個 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 銷售聯絡。