Требования к оборудованию
Для обеспечения высокой доступности инфраструктуры в рабочей среде необходимо соблюдать следующие минимальные требования к оборудованию.
В следующем видео приведены общие рекомендации по размеру для вашей установки:
В таблицах ниже перечислены минимальные требования к оборудованию для компонентов установки во всех сценариях, описанных в разделе Топологии установки.
В этих таблицах требования к жесткому диску указаны в дополнение к пространству, необходимому для операционной системы. В зависимости от приложений и сетевого трафика для установки может потребоваться больше или меньше ресурсов, чем указано ниже.
| Компонент установки | ОЗУ | ЦП | Минимальный объем жесткого диска |
|---|---|---|---|
| Cassandra (отдельная) | 16 ГБ | 8-ядерный | 250 ГБ локального хранилища с твердотельным накопителем, поддерживающим 2000 операций ввода-вывода в секунду. |
| Cassandra/Zookeeper на одном компьютере | 16 ГБ | 8-ядерный | 250 ГБ локального хранилища с твердотельным накопителем, поддерживающим 2000 операций ввода-вывода в секунду. |
| Процессор/маршрутизатор сообщений на одном компьютере | 16 ГБ | 8-ядерный | 100 ГБ |
| Message Processor (отдельный) | 16 ГБ | 8-ядерный | 100 ГБ |
| Маршрутизатор (отдельный) | 8 ГБ | 8-ядерный | 100 ГБ |
| Аналитика – Postgres/Qpid на одном сервере | 16 ГБ* | 8-ядерный* | 500 ГБ – 1 ТБ** сетевого хранилища***, желательно с твердотельным накопителем, поддерживающего 1000 операций ввода-вывода в секунду или более*. |
| Аналитика – основной или резервный сервер Postgres в отдельной конфигурации | 16 ГБ* | 8-ядерный* | 500 ГБ – 1 ТБ** сетевого хранилища***, желательно с твердотельным накопителем, поддерживающего 1000 операций ввода-вывода в секунду или более*. |
| Аналитика – Qpid (отдельное приложение) | 8 ГБ | 4 ядра | 30–50 ГБ локального хранилища с SSD
Размер очереди Qpid по умолчанию составляет 1 ГБ, но его можно увеличить до 2 ГБ. Если вам нужно больше ресурсов, добавьте дополнительные узлы Qpid. |
| OpenLDAP/UI/сервер управления | 8 ГБ | 4 ядра | 60 ГБ |
| Сервер управления/интерфейса | 4 ГБ | 2 ядра | 60 ГБ |
| OpenLDAP (отдельный) | 4 ГБ | 2 ядра | 60 ГБ |
|
* Измените системные требования Postgres в зависимости от пропускной способности:
** Значение жесткого диска Postgres основано на стандартной аналитике, собранной Edge. Если вы добавите в данные аналитики специальные значения, то эти значения должны быть увеличены соответствующим образом. Чтобы узнать примерный объем хранилища, используйте следующую формулу:
Пример:
*** Для базы данных Postgresql рекомендуется использовать сетевое хранилище, поскольку:
|
|||
Кроме того, ниже перечислены требования к оборудованию, если вы хотите установить сервисы монетизации (не поддерживаются при установке All-in-One):
| Компонент с монетизацией | ОЗУ | ЦП | Жесткий диск |
|---|---|---|---|
| Сервер управления (с сервисами монетизации) | 8 ГБ | 4-ядерный | 60 ГБ |
| Аналитика – Postgres/Qpid на одном сервере | 16 ГБ | 8-ядерный | Сетевое хранилище емкостью 500 ГБ – 1 ТБ, желательно с серверной частью на основе SSD, поддерживающее 1000 операций ввода-вывода в секунду или больше, или используйте правило из таблицы выше. |
| Аналитика – основной или резервный сервер Postgres в отдельной конфигурации | 16 ГБ | 8-ядерный | Сетевое хранилище емкостью 500 ГБ – 1 ТБ, желательно с серверной частью на основе SSD, поддерживающее 1000 операций ввода-вывода в секунду или больше, или используйте правило из таблицы выше. |
| Аналитика – Qpid (отдельное приложение) | 8 ГБ | 4 ядра | 40–500 ГБ локального хранилища с SSD или быстрым HDD.
Для установок с более чем 250 TPS рекомендуется использовать жесткий диск с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду. |
Требования к пропускной способности сети Cassandra
Cassandra использует протокол Gossip для обмена информацией с другими узлами о топологии сети. Использование протокола Gossip в сочетании с распределенной архитектурой Cassandra, которая предполагает взаимодействие с несколькими узлами для операций чтения и записи, приводит к значительному объему передаваемых по сети данных.
Для Cassandra требуется минимальная пропускная способность сети 1 Гбит/с на узел. Для рабочих установок рекомендуется более высокая пропускная способность.
Максимальная задержка или задержка на уровне 99-го процентиля для Cassandra должна быть ниже 100 миллисекунд.
Требования к операционной системе и стороннему ПО
Эти инструкции по установке и прилагаемые файлы для установки были протестированы на операционных системах и стороннем ПО, перечисленных в разделе Поддерживаемое ПО и поддерживаемые версии.
Требования: включите репозиторий EPEL
Перед установкой убедитесь, что репозиторий EPEL (Extra Packages for Enterprise Linux) включен. Используйте следующие команды в зависимости от версии операционной системы:
- Для Red Hat/CentOS/Oracle 8.X:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo rpm -ivh epel-release-latest-8.noarch.rpm
- Для Red Hat/CentOS/Oracle 9.X:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
sudo rpm -ivh epel-release-latest-9.noarch.rpm
Java
Перед установкой на каждом компьютере должна быть установлена поддерживаемая версия Java 1.8. Список поддерживаемых JDK приведен в разделе Поддерживаемое ПО и его версии.
Убедитесь, что переменная среды JAVA_HOME указывает на корневой каталог JDK для пользователя, выполняющего установку.
SELinux
В зависимости от настроек SELinux у Edge могут возникнуть проблемы с установкой и запуском компонентов Edge. При необходимости во время установки можно отключить SELinux или перевести его в разрешительный режим, а затем снова включить. Подробнее о том, как установить утилиту apigee-setup для Edge…
Создание пользователя apigee
В процессе установки создается системный пользователь Unix с именем apigee. Каталоги и файлы Edge принадлежат пользователю apigee, как и процессы Edge. Это означает, что компоненты Edge работают от имени пользователя apigee. При необходимости вы можете запустить компоненты от имени другого пользователя.
Каталог установки
По умолчанию установщик записывает все файлы в каталог /opt/apigee. Изменить местоположение этого каталога нельзя. Изменить этот каталог нельзя, но вы можете создать символическую ссылку, чтобы сопоставить /opt/apigee с другим местоположением, как описано в разделе Создание символической ссылки из /opt/apigee.
В инструкциях в этом руководстве каталог установки обозначается как /opt/apigee.
Создание символической ссылки из /opt/apigee
Прежде чем создавать символическую ссылку, необходимо создать пользователя и группу с именем apigee. Это та же группа и пользователь, которые были созданы установщиком Edge.
Чтобы создать символическую ссылку, выполните следующие действия до скачивания файла bootstrap_4.53.01.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 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
Доступ к каталогам
В таблице ниже перечислены каталоги на пограничных узлах, к которым у пограничных процессов предъявляются особые требования:
| Сервис | Каталог | Описание |
|---|---|---|
| Маршрутизатор | /etc/rc.d/init.d/functions |
Маршрутизатор Edge использует маршрутизатор Nginx и требует доступа с правом чтения к файлу Если в соответствии с требованиями безопасности вам необходимо задать разрешения для Вы можете установить разрешения 744, чтобы разрешить доступ на чтение к |
| Смотритель зоопарка | /dev/random |
Клиентской библиотеке Zookeeper требуется доступ на чтение к генератору случайных чисел
/dev/random. Если /dev/random заблокирован на чтение, то сервис Zookeeper может не запуститься. |
Cassandra
Все узлы Cassandra должны быть подключены к кольцу. Cassandra хранит реплики данных на нескольких узлах, чтобы обеспечить надежность и отказоустойчивость. Стратегия репликации для каждого ключевого пространства Edge определяет, на каких узлах Cassandra размещаются реплики. Подробнее о коэффициенте репликации и уровне согласованности Cassandra…
Cassandra автоматически регулирует размер кучи Java в зависимости от доступной памяти. Подробнее о том, как настроить ресурсы Java в случае снижения производительности или высокого потребления памяти…
После установки Edge для частного облака вы можете проверить, правильно ли настроена Cassandra, изучив файл /opt/apigee/apigee-cassandra/conf/cassandra.yaml. Например, убедитесь, что скрипт установки Edge для частного облака задал следующие свойства:
cluster_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
База данных PostgreSQL
После установки Edge вы можете изменить следующие настройки базы данных 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
Конфигурация локали для Rocky 9.X
Если вы используете Rocky 9.X, убедитесь, что в системных настройках локали задан язык LANG=en_US.utf8. Чтобы настроить это, выполните следующие команды:
dnf -y -q install langpacks-en localectl set-locale LANG=en_US.utf8 reboot
Системные ограничения
Убедитесь, что на узлах Cassandra и Message Processor заданы следующие системные ограничения:
- На узлах Cassandra задайте мягкие и жесткие ограничения memlock, nofile и адресного пространства (as) для пользователя, выполняющего установку (по умолчанию это пользователь 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
- На узлах Message Processor задайте максимальное количество дескрипторов открытых файлов равным 64 000 в файле
/etc/security/limits.d/90-apigee-edge-limits.conf, как показано ниже: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)
Network Security Services (NSS) – это набор библиотек, которые помогают разрабатывать клиентские и серверные приложения с поддержкой безопасности. Убедитесь, что у вас установлена версия NSS 3.19 или более поздняя.
Чтобы проверить текущую версию:
yum info nss
Чтобы обновить NSS:
yum update nss
Дополнительную информацию можно найти в этой статье на сайте RedHat.
Отключение DNS-запросов по IPv6 при использовании NSCD (демона кеширования сервисов имен)
Если вы установили и включили NSCD (демон кеширования службы имен), процессоры сообщений выполняют два поиска DNS: один для IPv4 и один для IPv6. При использовании NSCD следует отключить DNS-запрос по IPv6.
Чтобы отключить DNS-запрос по протоколу IPv6, выполните следующие действия:
- На каждом узле Message Processor измените файл
/etc/nscd.conf. - Задайте следующее свойство:
enable-cache hosts no
Как отключить IPv6 в RHEL 8 и более поздних версий
Если вы устанавливаете Edge на RHEL 8 или более поздних версий на платформе Google Cloud, вам необходимо отключить IPv6 на всех узлах Qpid.
Инструкции по отключению IPv6 можно найти в документации поставщика ОС. Например, полезную информацию можно найти в документации по Red Hat Enterprise Linux.
Требования для Amazon Linux
Перед тем как выполнять чистую установку на Amazon Linux 2023.7/2023.8/2023.9 или обновлять версию с 4.52.02 до 4.53.01 (на Amazon Linux 2023.7/2023.8/2023.9), отредактируйте файл /etc/yum.repos.d/amazonlinux.repo. В разделе, содержащем [amazonlinux], должны быть указаны следующие элементы, чтобы пакеты скачивались с сайта apigee-thirdparty, а не с Amazon:exclude=postgresql17, luajit*.
Инструменты
В стандартной версии установщик использует следующие инструменты UNIX, предоставленные EL5 или EL6.
|
awk |
expr |
libxslt |
об/мин |
распаковать |
|
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
|
bash |
hostname |
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 |
| dirname | libibverbs | pwd | uname | |
| echo | librdmacm | python |
Синхронизация времени
Apigee рекомендует синхронизировать время на серверах. Если это ещё не сделано, утилита ntpdate или аналогичный инструмент могут проверить, синхронизировано ли время на серверах. Например, для установки утилиты можно использовать команду yum install ntp или аналогичную. Это особенно полезно при репликации настроек LDAP. Обратите внимание, что часовой пояс сервера должен быть UTC.
Брандмауэры и виртуальные хосты
Термин virtual часто используется в сфере информационных технологий, и развертывание Apigee Edge для частного облака и виртуальных хостов не является исключением. Термин virtual используется в двух основных случаях:
- Виртуальные машины. Необязательно, но в некоторых развертываниях используются виртуальные машины для создания изолированных серверов для компонентов Apigee. У хостов виртуальных машин, как и у физических хостов, могут быть сетевые интерфейсы и межсетевые экраны.
- Виртуальные хосты. Веб-конечные точки, аналогичные виртуальным хостам Apache.
Маршрутизатор в виртуальной машине может предоставлять доступ к нескольким виртуальным хостам (если они отличаются друг от друга псевдонимом хоста или портом интерфейса).
Например, на одном физическом сервере A могут быть запущены две виртуальные машины с названиями VM1 и VM2. Предположим, что виртуальная машина VM1 предоставляет виртуальный интерфейс Ethernet, который в ней называется eth0 и которому присвоен IP-адрес 111.111.111.111 с помощью механизма виртуализации или сетевого сервера DHCP. Предположим также, что виртуальная машина VM2 предоставляет виртуальный интерфейс Ethernet, который также называется eth0 и которому присвоен IP-адрес 111.111.111.222.
В каждой из двух виртуальных машин может быть запущен маршрутизатор Apigee. Маршрутизаторы предоставляют конечные точки виртуального хоста, как в следующем гипотетическом примере:
Маршрутизатор Apigee в виртуальной машине VM1 предоставляет три виртуальных хоста в интерфейсе eth0 (у которого есть определенный IP-адрес): api.mycompany.com:80, api.mycompany.com:443 и test.mycompany.com:80.
Маршрутизатор в ВМ2 предоставляет доступ к api.mycompany.com:80 (с тем же именем и портом, что и в ВМ1).
В ОС физического хоста может быть сетевой брандмауэр. Если это так, его нужно настроить так, чтобы он пропускал TCP-трафик, предназначенный для портов, которые используются виртуализированными интерфейсами (111.111.111.111:{80, 443} и 111.111.111.222:80). Кроме того, в ОС каждой ВМ может быть собственный брандмауэр для интерфейса eth0, и он также должен разрешать подключение к портам 80 и 443.
Базовый путь – это третий компонент, который используется для маршрутизации вызовов API к разным прокси API, которые вы могли развернуть. Пакеты прокси-серверов API могут использовать одну конечную точку, если у них разные базовые пути. Например, один базовый путь может быть определен как http://api.mycompany.com:80/, а другой – как http://api.mycompany.com:80/salesdemo.
В этом случае вам понадобится балансировщик нагрузки или диспетчер трафика, который будет распределять трафик http://api.mycompany.com:80/ между двумя IP-адресами (111.111.111.111 на VM1 и 111.111.111.222 на VM2). Эта функция относится к вашей установке и настраивается вашей локальной сетевой группой.
Базовый путь задается при развертывании API. В приведенном выше примере вы можете развернуть два API, mycompany и testmycompany, для организации mycompany-org с виртуальным хостом, у которого псевдоним хоста api.mycompany.com, а порт – 80. Если вы не объявите базовый путь в развертывании, маршрутизатор не будет знать, какому API отправлять входящие запросы.
Однако если вы развернете API testmycompany с базовым URL /salesdemo, то пользователи будут обращаться к этому API по адресу http://api.mycompany.com:80/salesdemo. Если вы развернете API mycompany с базовым URL /, то пользователи смогут получить доступ к API по URL http://api.mycompany.com:80/.
лицензии;
Для каждой установки Edge требуется уникальный файл лицензии, который вы получаете от Apigee. При установке сервера управления вам нужно будет указать путь к файлу лицензии, например /tmp/license.txt.
Установщик копирует файл лицензии в папку /opt/apigee/customer/conf/license.txt.
Если файл лицензии действителен, сервер управления проверяет срок действия и допустимое количество процессоров сообщений. Если срок действия каких-либо настроек лицензии истек, журналы можно найти по следующему пути: /opt/apigee/var/log/edge-management-server/logs.
В этом случае вы можете обратиться в службу поддержки Apigee Edge, чтобы узнать подробности переноса.
Если у вас ещё нет лицензии, свяжитесь с отделом продаж Apigee.