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

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

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

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

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

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

Компонент установки БАРАН Процессор Минимальные требования к жесткому диску
Кассандра (самостоятельное произведение) 16 ГБ 8-ядерный Локальное хранилище объемом 250 ГБ с SSD-накопителем, поддерживающим 2000 операций ввода-вывода в секунду.
Кассандра/Смотрительница зоопарка на одном и том же автомате. 16 ГБ 8-ядерный Локальное хранилище объемом 250 ГБ с SSD-накопителем, поддерживающим 2000 операций ввода-вывода в секунду.
Процессор/маршрутизатор сообщений на одном компьютере. 16 ГБ 8-ядерный 100 ГБ
Обработчик сообщений (автономный) 16 ГБ 8-ядерный 100 ГБ
Маршрутизатор (автономный) 8 ГБ 8-ядерный 100 ГБ
Аналитика - PostgreSQL/QPID на одном сервере. 16 ГБ * 8-ядерный * 500 ГБ - 1 ТБ ** сетевое хранилище *** , предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше *
Аналитика — PostgreSQL в качестве основного сервера или резервного автономного сервера. 16 ГБ * 8-ядерный * 500 ГБ - 1 ТБ ** сетевое хранилище *** , предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше *
Аналитика - Qpid (автономная версия) 8 ГБ 4-ядерный 30–50 ГБ локального хранилища с SSD-накопителем

Размер очереди Qpid по умолчанию составляет 1 ГБ, его можно увеличить до 2 ГБ. Если вам требуется большая пропускная способность, добавьте дополнительные узлы Qpid.

OpenLDAP/UI/Сервер управления 8 ГБ 4-ядерный 60 ГБ
Сервер пользовательского интерфейса/управления 4ГБ 2-ядерный 60 ГБ
OpenLDAP (автономная версия) 4ГБ 2-ядерный 60 ГБ
* Настройте системные требования Postgres в зависимости от пропускной способности:

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

Кроме того, ниже перечислены аппаратные требования для установки сервисов монетизации (не поддерживаются в конфигурации «все в одном»):

Компонент с монетизацией БАРАН Процессор Жесткий диск
Сервер управления (с сервисами монетизации) 8 ГБ 4-ядерный 60 ГБ
Аналитика - PostgreSQL/QPID на одном сервере. 16 ГБ 8-ядерный Сетевое хранилище объемом от 500 ГБ до 1 ТБ, предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше, или используйте правило из таблицы выше.
Аналитика — PostgreSQL в качестве основного сервера или резервного автономного сервера. 16 ГБ 8-ядерный Сетевое хранилище объемом от 500 ГБ до 1 ТБ, предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше, или используйте правило из таблицы выше.
Аналитика - Qpid (автономная версия) 8 ГБ 4-ядерный 40–500 ГБ локального хранилища с SSD или быстрым HDD

Для систем с производительностью более 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

Перед установкой на каждом компьютере должна быть установлена ​​поддерживаемая версия Java 1.8. Список поддерживаемых JDK приведен в разделе «Поддерживаемое программное обеспечение и поддерживаемые версии» .

Убедитесь, что переменная среды JAVA_HOME указывает на корневую папку JDK для пользователя, выполняющего установку.

SELinux

В зависимости от настроек SELinux, Edge может столкнуться с проблемами при установке и запуске компонентов Edge. При необходимости вы можете отключить SELinux или перевести его в разрешающий режим во время установки, а затем снова включить после завершения установки. Дополнительную информацию см. в разделе «Установка утилиты apigee-setup для Edge» .

Создание пользователя '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-обертки могут блокировать обмен данными по некоторым портам и влиять на установку 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 Router использует маршрутизатор 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 установите ограничения на использование мягкой и жесткой блокировки памяти (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
  • На узлах обработчика сообщений установите максимальное количество открытых файловых дескрипторов равным 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 (демона кэширования служб имен).

Если вы установили и включили NSCD (демон кэширования служб имен), обработчики сообщений выполняют два запроса 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 .

Предварительные условия для 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.

неловкий

эксп

libxslt

об/мин

распаковать

базовое имя

grep

lua-сокет

rpm2cpio

добавить пользователя

баш

имя хоста

лс

сед

Туалет

до н.э.

идентификатор

net-tools

судо

wget

локон

либайо

perl (из procps)

смола

ксерцес-с

cyrus-sasl libdb4 pgrep (из procps) тр ням

дата

libdb-cxx

пс

uuid

chkconfig

имя директора libibverbs pwd имя
эхо librdmacm питон

Синхронизация времени

Apigee рекомендует синхронизировать время на ваших серверах. Если это еще не настроено, утилита ntpdate или аналогичный инструмент может выполнить эту задачу, проверив, синхронизировано ли время на серверах. Например, вы можете использовать yum install ntp или аналогичную команду для установки утилиты. Это особенно полезно для репликации настроек LDAP. Обратите внимание, что часовой пояс сервера следует установить в UTC.

Межсетевые экраны и виртуальные хосты

В ИТ-сфере термин virtual часто используется слишком часто, и это касается, например, развертывания Apigee Edge for Private Cloud и виртуальных хостов. Для ясности, термин 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 , то пользователи будут получать доступ к этому API по адресу http://api.mycompany.com:80/salesdemo . Если же вы развернете API mycompany с базовым URL-адресом / то ваши пользователи будут получать доступ к API по адресу 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 Sales .