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

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

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

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

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

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

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

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

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

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

  • Это дает возможность динамически увеличивать размер хранилища, если и когда это необходимо.
  • Сетевые операции ввода-вывода в секунду можно регулировать «на лету» в большинстве современных сред/хранилищ/сетевых подсистем.
  • Снимки уровня хранилища можно включить как часть решений резервного копирования и восстановления.

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

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

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

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

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

Джава

Перед установкой на каждом компьютере должна быть установлена ​​поддерживаемая версия 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.52.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

В 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 для частного облака вы можете проверить правильность настройки Cassandra, изучив файл /opt/apigee/apigee-cassandra/conf/cassandra.yaml . Например, убедитесь, что в сценарии установки Edge для частного облака заданы следующие свойства:

  • 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 установите ограничения программной и жесткой блокировки памяти, nofile и адресного пространства (как) для пользователя установки (по умолчанию — «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)

Службы сетевой безопасности (NSS) — это набор библиотек, которые поддерживают разработку клиентских и серверных приложений с поддержкой безопасности. Вам следует убедиться, что у вас установлена ​​NSS v3.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. Сохраните файл.

АВС АМИ

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

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

Инструменты

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

ок

выражение

libxslt

об/мин

разархивировать

базовое имя

grep

Lua-сокет

rpm2cpio

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

бить

имя хоста

лс

СЭД

Туалет

До нашей эры

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

сетевые инструменты

судо

wget

завиток

Либайо

perl (из реквизита)

смола

xerces-c

Сайрус-Сасл libdb4 pgrep (из procps) тр ням

дата

libdb-cxx

пс

uuid

chkconfig

имя каталога libibглаголы страдающий не называть имя
эхо librdmacm питон

нтпдате

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

openldap 2.4

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

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

Брандмауэры и виртуальные хосты

Термин 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 .

Маршрутизатор в 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 по 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 .