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

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

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

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

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

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

Компонент установки БАРАН Процессор Минимальные требования к жесткому диску
Кассандра 16 ГБ 8-ядерный Локальное хранилище объемом 250 ГБ с SSD-накопителем, поддерживающим 2000 операций ввода-вывода в секунду.
Процессор/маршрутизатор сообщений на одном компьютере. 16 ГБ 8-ядерный 100 ГБ
Обработчик сообщений (автономный) 16 ГБ 8-ядерный 100 ГБ
Маршрутизатор (автономный) 16 ГБ 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 в автономном режиме 16 ГБ 8-ядерный 40–500 ГБ локального хранилища с SSD или быстрым HDD

Для систем с производительностью более 250 транзакций в секунду рекомендуется использовать жесткие диски с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду.

Требования к операционной системе и программному обеспечению сторонних разработчиков

Данные инструкции по установке и прилагаемые установочные файлы были протестированы на операционных системах и программном обеспечении сторонних производителей, перечисленных в разделе «Поддерживаемое программное обеспечение и поддерживаемые версии» .

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.51.00.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

На CentOS 7.x:

systemctl stop firewalld

доступ к каталогу

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

Услуга Каталог Описание
Маршрутизатор /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

Системные ограничения

Убедитесь, что на узлах 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

    Для получения более подробной информации см. раздел «Рекомендуемые настройки для производственной среды» в документации Apache Cassandra.

  • На узлах обработчика сообщений установите максимальное количество открытых файловых дескрипторов равным 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 на платформе Google Cloud Platform для RedHat/CentOS 7

Если вы устанавливаете Edge на RedHat 7 или CentOS 7 на платформе Google Cloud Platform, то необходимо отключить IPv6 на всех узлах Qpid.

Инструкции по отключению IPv6 см. в документации RedHat или CentOS для вашей конкретной версии ОС. Например, вы можете:

  1. Откройте файл /etc/hosts в текстовом редакторе.
  2. Чтобы закомментировать строку, вставьте символ "#" в первый столбец следующей строки:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Сохраните файл.

AWS AMI

Если вы устанавливаете Edge на образ Amazon Machine Image (AMI) для Red Hat Enterprise Linux 7.x на платформе AWS, сначала необходимо выполнить следующую команду:

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

Инструменты

В установщике используются следующие инструменты UNIX стандартной версии, предоставляемые EL5 или EL6.

неловкий

эксп

libxslt

об/мин

распаковать

базовое имя

grep

lua-сокет

rpm2cpio

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

баш

имя хоста

лс

сед

Туалет

до н.э.

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

net-tools

судо

wget

локон

либайо

perl (из procps)

смола

ксерцес-с

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

дата

libdb-cxx

пс

uuid

chkconfig

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

ntpdate

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

openldap 2.4

Для локальной установки требуется OpenLDAP 2.4. Если ваш сервер подключен к Интернету, скрипт установки Edge загрузит и установит OpenLDAP. Если ваш сервер не подключен к Интернету, необходимо убедиться, что OpenLDAP уже установлен, прежде чем запускать скрипт установки Edge. В RHEL/CentOS для установки OpenLDAP можно выполнить команду yum install openldap-clients openldap-servers .

Для установок с 13 хостами и установок с 12 хостами и двумя центрами обработки данных требуется репликация OpenLDAP, поскольку OpenLDAP размещается на нескольких узлах.

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

В ИТ-сфере термин 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 .