Требования к оборудованию
Вы должны соответствовать следующим минимальным требованиям к оборудованию для высокодоступной инфраструктуры в среде производственного уровня.
В следующем видео представлены общие рекомендации по выбору размеров для вашей установки:
Для всех сценариев установки, описанных в разделе Топологии установки , в следующих таблицах указаны минимальные требования к оборудованию для компонентов установки.
В этих таблицах требования к жесткому диску указаны в дополнение к пространству на жестком диске, необходимому операционной системе. В зависимости от ваших приложений и сетевого трафика для вашей установки может потребоваться больше или меньше ресурсов, чем указано ниже.
Компонент установки | БАРАН | Процессор | Минимальный жесткий диск |
---|---|---|---|
Кассандра | 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 в зависимости от пропускной способности:
Например:
|
Кроме того, ниже перечислены требования к оборудованию, если вы хотите установить службы монетизации (не поддерживается при комплексной установке):
Компонент с монетизацией | БАРАН | Процессор | Жесткий диск |
---|---|---|---|
Сервер управления (со службами монетизации) | 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. |
Требования к пропускной способности сети Cassandra
Cassandra использует протокол Gossip для обмена информацией с другими узлами о топологии сети. Использование Gossip в сочетании с распределенной природой Cassandra, которая предполагает взаимодействие с несколькими узлами для операций чтения и записи, приводит к значительной передаче данных по сети.
Для Cassandra требуется минимальная пропускная способность сети 1 Гбит/с на узел . Для производственных установок рекомендуется более высокая пропускная способность.
Максимальная задержка или задержка 99-го процентиля для Cassandra должна быть ниже 100 миллисекунд.
Требования к операционной системе и стороннему программному обеспечению
Эти инструкции по установке и прилагаемые установочные файлы были протестированы на операционных системах и стороннем программном обеспечении, перечисленных в разделе Поддерживаемое программное обеспечение и поддерживаемые версии .
Ява
Перед установкой на каждом компьютере должна быть установлена поддерживаемая версия 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.52.02.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-обертки могут блокировать связь некоторых портов и влиять на установку 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 и требует доступа на чтение к Если ваш процесс безопасности требует от вас установки разрешений для Вы можете установить права доступа 744, чтобы разрешить доступ для чтения к |
смотритель зоопарка | /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
Чтобы установить эти значения:
- Отредактируйте файл postgresql.properties:
vi /opt/apigee/customer/application/postgresql.properties
Если файл не существует, создайте его.
- Установите свойства, перечисленные выше.
- Сохраните изменения.
- Перезапустите базу данных 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:
- На каждом узле процессора сообщений отредактируйте
/etc/nscd.conf
- Установите следующее свойство:
enable-cache hosts no
Отключите IPv6 на Google Cloud Platform для RedHat/CentOS 7.
Если вы устанавливаете Edge на RedHat 7 или CentOS 7 на Google Cloud Platform, вам необходимо отключить IPv6 на всех узлах Qpid.
Инструкции по отключению IPv6 см. в документации RedHat или CentOS для вашей конкретной версии ОС. Например, вы можете:
- Откройте
/etc/hosts
в редакторе. - Вставьте символ «#» в первый столбец следующей строки, чтобы закомментировать его:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Сохраните файл.
АВС АМИ
Если вы устанавливаете 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 | об/мин | разархивировать |
базовое имя | греп | 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 .