硬體需求
您必須符合下列硬體最低需求,才能在實際工作環境中建立高可用度的基礎架構。
下方影片提供安裝時的整體尺寸指南:
針對「安裝拓撲」一文中所述的所有安裝情境,下表列出安裝元件的最低硬體需求。
在這些表格中,硬碟需求是指除了作業系統所需的硬碟空間之外,視應用程式和網路流量而定,安裝作業可能需要比下列資源多或少的資源。
安裝元件 | 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 至 1 TB 的網路儲存空間***** (建議使用 SSD 後端,支援 1000 IOPS 以上*) |
數據分析 - 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 節點。 |
OpenLDAP/UI/管理伺服器 | 8 GB | 4 核心 | 60 GB |
UI/管理伺服器 | 4 GB | 2 核心 | 60 GB |
OpenLDAP (獨立) | 4 GB | 2 核心 | 60 GB |
* 根據吞吐量調整 Postgres 系統需求:
** Postgres 硬碟值是根據 Edge 擷取的即用數據分析資料。如果您在數據分析資料中加入自訂值,則這些值應會相應增加。請使用下列公式估算所需的儲存空間:
例如:
*** 建議將 Postgresql 資料庫儲存在網路儲存空間中,原因如下:
|
此外,如果您想安裝營利服務 (不支援一站式安裝),請參閱下列硬體需求:
含有營利功能的元件 | RAM | CPU | 硬碟 |
---|---|---|---|
管理伺服器 (搭配營利服務) | 8 GB | 4 核心 | 60 GB |
Analytics - 在同一台伺服器上使用 Postgres/Qpid | 16 GB | 8 核心 | 500GB 至 1TB 的網路儲存空間,最好搭配 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 的本機儲存空間硬碟。 |
Cassandra 網路頻寬需求
Cassandra 會使用 Gossip 通訊協定,與其他節點交換網路拓樸相關資訊。Gossip 的使用方式與 Cassandra 的分散式特性相結合,會導致在網路上進行大量資料傳輸,因為 Cassandra 會與多個節點進行讀取和寫入作業的通訊。
Cassandra 需要的最低網路頻寬為 每個節點 1 Gbps。如為正式安裝,建議使用較高的頻寬。
Cassandra 的最高或第 99 百分位延遲時間應低於 100 毫秒。
作業系統和第三方軟體需求
這些安裝說明和提供的安裝檔案,已在支援的軟體和支援的版本中列出的作業系統和第三方軟體上進行測試。
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
。
從 /opt/apigee 建立符號連結
建立符號連結之前,您必須先建立名為「apigee」的使用者和群組。這是 Edge 安裝程式建立的群組和使用者。
如要建立符號連結,請先執行下列步驟,再下載 bootstrap_4.52.02.sh 檔案。您必須以 root 身分執行所有這些步驟:
- 建立「apigee」使用者和群組:
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- 建立從
/opt/apigee
到所需安裝根目錄的符號連結:ln -Ts /srv/myInstallDir /opt/apigee
其中 /srv/myInstallDir 是 Edge 檔案的目標位置。
- 將安裝根目錄和符號連結的擁有權變更為「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 包裝函式
TCP 包裝函式可能會封鎖部分通訊埠,並影響 OpenLDAP、Postgres 和 Cassandra 的安裝作業。在這些節點上,請檢查 /etc/hosts.allow
和 /etc/hosts.deny
,確保必要的 OpenLDAP、Postgres 和 Cassandra 通訊埠沒有任何通訊埠限制。
iptables
請確認沒有任何 iptables 政策會阻止節點在必要的 Edge 連接埠之間連線。如有需要,您可以在安裝期間使用以下指令停止 iptables:
sudo/etc/init.d/iptables stop
在 CentOS 7.x 上:
systemctl stop firewalld
目錄存取權
下表列出 Edge 節點中的目錄,這些目錄有 Edge 程序的特殊需求:
服務 | 目錄 | 說明 |
---|---|---|
路由器 | /etc/rc.d/init.d/functions |
Edge Router 使用 Nginx 路由器,因此需要 如果安全性程序要求您設定 您可以將權限設為 744,允許讀取 |
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
如要設定這些值,請按照下列步驟操作:
- 編輯 postgresql.properties 檔案:
vi /opt/apigee/customer/application/postgresql.properties
如果檔案不存在,請建立檔案。
- 設定上述屬性。
- 儲存編輯內容。
- 重新啟動 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 3.19 以上版本。
如何查看目前的版本:
yum info nss
如要更新 NSS,請按照下列步驟操作:
yum update nss
詳情請參閱 RedHat 的這篇文章。
使用 NSCD (Name Service Cache Daemon) 時,停用 IPv6 上的 DNS 查詢
如果您已安裝並啟用 NSCD (Name Service Cache Daemon),訊息處理器會執行兩次 DNS 查詢:一次是針對 IPv4,另一次是針對 IPv6。使用 NSCD 時,請停用 IPv6 的 DNS 查詢。
如要停用 IPv6 上的 DNS 查詢,請按照下列步驟操作:
- 在每個訊息處理器節點上編輯
/etc/nscd.conf
- 設定下列屬性:
enable-cache hosts no
在 Google Cloud Platform 上為 RedHat/CentOS 7 停用 IPv6
如果您要在 Google Cloud Platform 上,在 RedHat 7 或 CentOS 7 上安裝 Edge,則必須在所有 Qpid 節點上停用 IPv6。
如需停用 IPv6 的操作說明,請參閱特定 OS 版本的 RedHat 或 CentOS 說明文件。例如,您可以:
- 在編輯器中開啟
/etc/hosts
。 - 在下列行的第一個資料欄中插入「#」字元,將該行註解掉:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 儲存檔案。
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 |
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 |
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 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:80
、api.mycompany.com:443
和 test.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 套件具有不同的 basepath,則可以共用端點。舉例來說,一個 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/ 流量。這項功能適用於特定安裝作業,並由當地網路群組設定。
部署 API 時會設定 basepath。如上例所示,您可以為 mycompany-org
機構部署兩個 API (mycompany
和 testmycompany
),並使用具有主機別名 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 銷售團隊聯絡。