Требования к оборудованию
Для высокодоступной инфраструктуры в производственной среде необходимо соблюсти следующие минимальные требования к оборудованию.
В следующем видео приведены общие рекомендации по выбору размера для вашей установки:
Для всех сценариев установки, описанных в разделе «Топологии установки» , в следующих таблицах перечислены минимальные требования к оборудованию для компонентов установки.
В этих таблицах требования к жёсткому диску указаны в дополнение к объёму, необходимому операционной системе. В зависимости от используемых приложений и сетевого трафика, вашей установке может потребоваться больше или меньше ресурсов, чем указано ниже.
Установочный компонент | БАРАН | Процессор | Минимальный жесткий диск |
---|---|---|---|
Кассандра (отдельно) | 16 ГБ | 8-ядерный | Локальное хранилище объемом 250 ГБ с твердотельным накопителем, поддерживающим 2000 IOPS |
Cassandra/Zookeeper на одной машине | 16 ГБ | 8-ядерный | Локальное хранилище объемом 250 ГБ с твердотельным накопителем, поддерживающим 2000 IOPS |
Процессор сообщений/маршрутизатор на одной машине | 16 ГБ | 8-ядерный | 100 ГБ |
Процессор сообщений (автономный) | 16 ГБ | 8-ядерный | 100 ГБ |
Маршрутизатор (автономный) | 8 ГБ | 8-ядерный | 100 ГБ |
Аналитика - Postgres/Qpid на одном сервере | 16 ГБ * | 8‑ядерный * | Сетевое хранилище 500 ГБ - 1 ТБ *** , желательно с SSD-накопителем, поддерживающим 1000 IOPS или выше * |
Аналитика — Postgres master или standby standby | 16 ГБ * | 8-ядерный * | Сетевое хранилище 500 ГБ - 1 ТБ *** , желательно с SSD-накопителем, поддерживающим 1000 IOPS или выше * |
Аналитика - Qpid (автономная) | 8 ГБ | 4-ядерный | Локальное хранилище объемом 30–50 ГБ с SSD-накопителем Размер очереди Qpid по умолчанию составляет 1 ГБ, но его можно увеличить до 2 ГБ. Если вам требуется больше емкости, добавьте дополнительные узлы Qpid. |
SymasLDAP/UI/сервер управления | 8 ГБ | 4-ядерный | 60 ГБ |
Пользовательский интерфейс/сервер управления | 4ГБ | 2-ядерный | 60 ГБ |
SymasLDAP (автономный) | 4ГБ | 2-ядерный | 60 ГБ |
* Скорректируйте системные требования Postgres в зависимости от пропускной способности:
Например:
|
Кроме того, ниже перечислены требования к оборудованию, если вы хотите установить службы монетизации (не поддерживаются при установке All-in-One):
Компонент с монетизацией | БАРАН | Процессор | Жесткий диск |
---|---|---|---|
Сервер управления (со службами монетизации) | 8 ГБ | 4‑ядерный | 60 ГБ |
Аналитика - Postgres/Qpid на одном сервере | 16 ГБ | 8-ядерный | Сетевое хранилище объемом 500 ГБ - 1 ТБ, желательно с твердотельным накопителем (SSD), поддерживающим 1000 IOPS или выше, или используйте правило из таблицы выше. |
Аналитика — Postgres master или standby standby | 16 ГБ | 8-ядерный | Сетевое хранилище объемом 500 ГБ - 1 ТБ, желательно с твердотельным накопителем (SSD), поддерживающим 1000 IOPS или выше, или используйте правило из таблицы выше. |
Аналитика - Qpid (автономная) | 8 ГБ | 4-ядерный | Локальное хранилище объемом 40–500 ГБ с твердотельным накопителем или быстрым жестким диском Для установок с производительностью более 250 транзакций в секунду рекомендуется использовать жесткий диск с локальным хранилищем, поддерживающим 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 1.8. Поддерживаемые JDK перечислены в разделе «Поддерживаемое программное обеспечение и поддерживаемые версии» .
Убедитесь, что переменная среды JAVA_HOME
указывает на корень JDK для пользователя, выполняющего установку.
SELinux
В зависимости от настроек SELinux, Edge может столкнуться с проблемами при установке и запуске компонентов Edge. При необходимости вы можете отключить SELinux или перевести его в разрешающий режим во время установки, а затем снова включить его после установки. Подробнее см. в разделе Установка утилиты Edge apigee-setup .
Создание пользователя «apigee»
В процессе установки создаётся пользователь Unix с именем «apigee». Каталоги и файлы Edge, как и процессы Edge, принадлежат пользователю «apigee». Это означает, что компоненты 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-оболочки
TCP-обёртки могут блокировать соединение по некоторым портам и влиять на установку SymasLDAP, Postgres и Cassandra. На этих узлах проверьте файлы /etc/hosts.allow
и /etc/hosts.deny
, чтобы убедиться в отсутствии ограничений на требуемые порты SymasLDAP, Postgres и Cassandra.
iptables
Убедитесь, что политики iptables не препятствуют соединению между узлами на требуемых портах Edge. При необходимости вы можете остановить iptables во время установки с помощью команды:
sudo/etc/init.d/iptables stop
Доступ к каталогу
В следующей таблице перечислены каталоги на узлах Edge, к которым предъявляются особые требования со стороны процессов Edge:
Услуга | Каталог | Описание |
---|---|---|
Маршрутизатор | /etc/rc.d/init.d/functions | Пограничный маршрутизатор использует маршрутизатор Nginx и требует доступа на чтение к Если ваш процесс безопасности требует установки разрешений для Вы можете установить права доступа 744, чтобы разрешить чтение файла |
Смотритель зоопарка | /dev/random | Клиентской библиотеке Zookeeper требуется доступ на чтение к генератору случайных чисел /dev/random . Если /dev/random заблокирован для чтения, служба Zookeeper может не запуститься. |
Кассандра
Все узлы Cassandra должны быть подключены к кольцу. Cassandra хранит реплики данных на нескольких узлах для обеспечения надежности и отказоустойчивости. Стратегия репликации для каждого пространства ключей Edge определяет узлы Cassandra, на которых размещаются реплики. Подробнее см. в разделе «О коэффициенте репликации и уровне согласованности Cassandra» .
Cassandra автоматически корректирует размер кучи Java в зависимости от доступной памяти. Подробнее см. в статье «Настройка ресурсов Java в случае снижения производительности или высокого потребления памяти».
После установки Edge for Private Cloud вы можете проверить правильность настройки Cassandra, изучив файл /opt/apigee/apigee-cassandra/conf/cassandra.yaml
. Например, убедитесь, что скрипт установки Edge for Private Cloud задаёт следующие свойства:
-
cluster_name
-
initial_token
-
partitioner
-
seeds
-
listen_address
-
rpc_address
-
snitch
База данных 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 задайте мягкие и жесткие ограничения памяти, 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
- На узлах процессора сообщений установите максимальное количество открытых файловых дескрипторов равным 64 КБ в файле
/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 для дальнейшего устранения неполадок.
Службы сетевой безопасности (NSS)
Network Security Services (NSS) — это набор библиотек, поддерживающих разработку клиентских и серверных приложений с поддержкой безопасности. Убедитесь, что у вас установлена NSS версии 3.19 или более поздней.
Чтобы проверить текущую версию:
yum info nss
Чтобы обновить NSS:
yum update nss
Более подробную информацию см. в этой статье RedHat.
Отключить поиск DNS на IPv6 при использовании NSCD (Name Service Cache Daemon)
Если у вас установлен и включен NSCD (Name Service Cache Daemon), обработчики сообщений выполняют два DNS-запроса: один для IPv4 и один для IPv6. При использовании NSCD следует отключить DNS-запрос для IPv6.
Чтобы отключить поиск DNS на IPv6:
- На каждом узле процессора сообщений отредактируйте
/etc/nscd.conf
- Установите следующее свойство:
enable-cache hosts no
Отключите IPv6 в RHEL 8 и более поздних версиях
Если вы устанавливаете Edge на RHEL 8 или более поздние версии на Google Cloud Platform, необходимо отключить IPv6 на всех узлах Qpid.
Инструкции по отключению IPv6 см. в документации, предоставленной поставщиком вашей ОС. Например, соответствующую информацию можно найти в документации Red Hat Enterprise Linux .
Инструменты
Установщик использует следующие инструменты UNIX в стандартной версии, предоставляемой EL5 или EL6.
awk | выражение | libxslt | об/мин | распаковать |
базовое имя | grep | lua-сокет | rpm2cpio | добавить пользователя |
баш | имя хоста | лс | сед | Туалет |
до нашей эры | идентификатор | сетевые инструменты | судо | wget |
завиток | либаио | perl (из procps) | смола | xerces-c |
cyrus-sasl | libdb4 | pgrep (из procps) | тр | ням |
дата | libdb-cxx | пс | uuid | chkconfig |
имя_каталога | либибглабы | pwd | uname | |
эхо | librdmacm | питон |
Синхронизация времени
Apigee рекомендует синхронизировать время на серверах. Если это ещё не настроено, для проверки синхронизации времени на серверах можно использовать утилиту ntpdate
или аналогичную. Например, для установки утилиты можно использовать команду yum install ntp
или аналогичную. Это особенно полезно для репликации настроек LDAP. Обратите внимание, что необходимо установить часовой пояс сервера на UTC.
Межсетевые экраны и виртуальные хосты
Термин virtual
часто используется в ИТ-сфере, в том числе и в случае с Apigee Edge для развертывания частного облака и виртуальными хостами. Для ясности, существует два основных значения термина virtual
:
- Виртуальные машины (ВМ) : не требуется, но некоторые развёртывания используют технологию ВМ для создания изолированных серверов для компонентов Apigee. Хосты ВМ, как и физические хосты, могут иметь сетевые интерфейсы и брандмауэры.
- Виртуальные хосты : конечные точки веб-сервера, аналогичные виртуальному хосту Apache.
Маршрутизатор в виртуальной машине может предоставлять доступ к нескольким виртуальным хостам (при условии, что они отличаются друг от друга псевдонимом хоста или портом интерфейса).
В качестве примера наименования: на одном физическом сервере A
могут быть запущены две виртуальные машины с именами «VM1» и «VM2». Предположим, что «VM1» предоставляет виртуальный Ethernet-интерфейс, который внутри виртуальной машины получает имя «eth0» и которому механизм виртуализации или сетевой DHCP-сервер назначает IP-адрес 111.111.111.111
; затем предположим, что 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
.
Маршрутизатор в VM2 предоставляет api.mycompany.com:80
(то же имя и порт, что и у VM1).
Операционная система физического хоста может иметь сетевой брандмауэр. В этом случае этот брандмауэр должен быть настроен на пропуск 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
, то пользователи будут обращаться к нему по адресу http://api.mycompany.com:80/salesdemo
. Если вы развернёте API mycompany с базовым URL /
то пользователи будут обращаться к нему по адресу http://api.mycompany.com:80/
.
Лицензирование
Для каждой установки Edge требуется уникальный файл лицензии, который вы получаете от Apigee. Путь к файлу лицензии необходимо указать при установке сервера управления, например, /tmp/license.txt.
Установщик копирует файл лицензии в /opt/apigee/customer/conf/license.txt
.
Если файл лицензии действителен, сервер управления проверяет срок действия и допустимое количество обработчиков сообщений (MP). Если какой-либо из параметров лицензии истек, журналы можно найти в следующем каталоге: /opt/apigee/var/log/edge-management-server/logs
. В этом случае вы можете обратиться в службу поддержки Apigee Edge за подробностями миграции.
Если у вас еще нет лицензии, обратитесь в отдел продаж Apigee .