硬體需求
您必須符合下列最低硬體需求,才能在正式環境中建立高可用性基礎架構。
以下影片提供安裝作業的概略大小調整指引:
在「安裝拓撲」一節中描述的所有安裝情境,都適用於下列安裝元件的最低硬體需求。
在這些表格中,硬碟需求是作業系統所需硬碟空間以外的額外需求。視應用程式和網路流量而定,您的安裝作業可能需要比下列資源更多或更少的資源。
| 安裝元件 | 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 on same server | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Postgres 主機或待命主機 (獨立) | 16GB* | 8 核心* | 500 GB 至 1 TB** 網路儲存空間***,最好採用 SSD 後端,支援 1000 IOPS 以上* |
| Analytics - Qpid standalone | 16 GB | 8 核心 | 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 擷取的現成分析資料計算。 如果將自訂值加到 Analytics 資料,這些值也應相應增加。請使用下列公式估算所需儲存空間:
例如:
*** 建議使用網路儲存空間來儲存 PostgreSQL 資料庫,原因如下:
|
|||
此外,如果您要安裝「營利服務」(All-in-One 安裝不支援),硬體需求如下:
| 含營利功能的元件 | RAM | CPU | 硬碟 |
|---|---|---|---|
| 管理伺服器 (含營利服務) | 8 GB | 4 核心 | 60 GB |
| Analytics - Postgres/Qpid on same server | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好是 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Postgres 主機或待機獨立式 | 16 GB | 8 核心 | 500 GB 至 1 TB 的網路儲存空間,最好是 SSD 後端,支援 1000 IOPS 以上,或使用上表中的規則。 |
| Analytics - Qpid standalone | 8 GB | 4 核心 | 40 GB 至 500 GB 的本機儲存空間,搭配 SSD 或快速 HDD
如要安裝超過 250 TPS,建議使用支援 1000 IOPS 的本機儲存空間 HDD。 |
作業系統和第三方軟體需求
我們已在「支援的軟體和支援的版本」中列出的作業系統和第三方軟體上,測試這些安裝說明和提供的安裝檔案。
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.19.06.sh 檔案。 您必須以根使用者身分執行所有這些步驟:
- 建立「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 Wrappers
TCP Wrappers 可能會封鎖某些通訊埠的通訊,進而影響 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 節點位置。詳情請參閱「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_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
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 和 訊息處理器 節點上設定下列系統限制:
- 在 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
- 在訊息處理器節點上,於
/etc/security/limits.d/90-apigee-edge-limits.conf中將開啟的檔案描述元數量上限設為 64K,如下所示:apigee soft nofile 32768 apigee hard nofile 65536
如有需要,您可以提高上限。舉例來說,如果您一次開啟大量暫存檔案。
網路安全服務 (NSS)
網路安全服務 (NSS) 是一組程式庫,可支援開發啟用安全性的用戶端和伺服器應用程式。請確認您已安裝 NSS v3.19 以上版本。
如要查看目前的版本,請按照下列步驟操作:
yum info nss
如要更新 NSS:
yum update nss
詳情請參閱 RedHat 的這篇文章。
使用 NSCD (名稱服務快取精靈) 時,停用 IPv6 的 DNS 查詢
如果您已安裝並啟用 NSCD (名稱服務快取精靈),訊息處理器會執行兩次 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 的流量連線。
基本路徑是將 API 呼叫路由至您可能已部署的不同 API Proxy 時,所涉及的第三個元件。如果 API Proxy 套件具有不同的基本路徑,即可共用端點。舉例來說,一個 basepath 可以定義為 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 (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 銷售團隊。