Требования к установке

Требования к оборудованию

Для высокодоступной инфраструктуры в производственной среде необходимо соблюсти следующие минимальные требования к оборудованию.

В следующем видео приведены общие рекомендации по выбору размера для вашей установки:

Для всех сценариев установки, описанных в разделе «Топологии установки» , в следующих таблицах перечислены минимальные требования к оборудованию для компонентов установки.

В этих таблицах требования к жёсткому диску указаны в дополнение к объёму, необходимому операционной системе. В зависимости от используемых приложений и сетевого трафика, вашей установке может потребоваться больше или меньше ресурсов, чем указано ниже.

Установочный компонент БАРАН Процессор Минимальный жесткий диск
Кассандра (отдельно) 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 в зависимости от пропускной способности:

  • Менее 250 транзакций в секунду: 8 ГБ, 4 ядра можно рассматривать с управляемым сетевым хранилищем *** с поддержкой 1000 операций ввода-вывода в секунду или выше
  • Более 250 транзакций в секунду: 16 ГБ, 8-ядерное управляемое сетевое хранилище *** с поддержкой 1000 операций ввода-вывода в секунду или выше
  • Более 1000 транзакций в секунду: 16 ГБ, 8-ядерное управляемое сетевое хранилище *** с поддержкой 2000 операций ввода-вывода в секунду или выше
  • Более 2000 транзакций в секунду: 32 ГБ, 16-ядерное управляемое сетевое хранилище *** с поддержкой 2000 операций ввода-вывода в секунду или выше
  • Более 4000 транзакций в секунду: 64 ГБ, 32-ядерное управляемое сетевое хранилище *** с поддержкой 4000 операций ввода-вывода в секунду или выше
** Объем жесткого диска 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 можно регулировать «на лету» в большинстве современных сред/хранилищ/сетевых подсистем.
  • Снимки уровня хранения можно включить как часть решений по резервному копированию и восстановлению.

Кроме того, ниже перечислены требования к оборудованию, если вы хотите установить службы монетизации (не поддерживаются при установке 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 .

Перед созданием символической ссылки необходимо создать пользователя и группу с именем «apigee». Это те же группа и пользователь, которые были созданы установщиком Edge.

Чтобы создать символическую ссылку, выполните следующие действия перед загрузкой файла bootstrap_4.53.01.sh. Все эти действия необходимо выполнить от имени пользователя root:

  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 если имя хоста указано неверно. Подробнее см. в документации к вашей операционной системе.

Если на сервере несколько интерфейсных карт, команда "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 и требует доступа на чтение к /etc/rc.d/init.d/functions .

Если ваш процесс безопасности требует установки разрешений для /etc/rc.d/init.d/functions , не устанавливайте их на 700, иначе маршрутизатор не запустится.

Вы можете установить права доступа 744, чтобы разрешить чтение файла /etc/rc.d/init.d/functions .

Смотритель зоопарка /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

Чтобы установить эти значения:

  1. Отредактируйте файл postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    Если файл не существует, создайте его.

  2. Установите свойства, перечисленные выше.
  3. Сохраните ваши изменения.
  4. Перезапустите базу данных 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:

  1. На каждом узле процессора сообщений отредактируйте /etc/nscd.conf
  2. Установите следующее свойство:
    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 .