Требования к оборудованию
Для обеспечения высокой доступности инфраструктуры в производственной среде необходимо соответствовать следующим минимальным требованиям к аппаратному обеспечению.
В следующем видеоролике представлены общие рекомендации по подбору размеров для вашей установки:
Для всех сценариев установки, описанных в разделе «Топологии установки» , в следующих таблицах указаны минимальные требования к аппаратному обеспечению компонентов установки.
В этих таблицах требования к жесткому диску указаны в дополнение к дисковому пространству, необходимому для операционной системы. В зависимости от ваших приложений и сетевого трафика, для вашей установки может потребоваться больше или меньше ресурсов, чем указано ниже.
| Компонент установки | БАРАН | Процессор | Минимальные требования к жесткому диску |
|---|---|---|---|
| Кассандра | 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 в автономном режиме | 16 ГБ | 8-ядерный | 30–50 ГБ локального хранилища с SSD-накопителем Размер очереди Qpid по умолчанию составляет 1 ГБ, его можно увеличить до 2 ГБ. Если вам требуется большая пропускная способность, добавьте дополнительные узлы Qpid. |
| OpenLDAP/UI/Сервер управления | 8 ГБ | 4-ядерный | 60 ГБ |
| Сервер пользовательского интерфейса/управления | 4ГБ | 2-ядерный | 60 ГБ |
| OpenLDAP (автономная версия) | 4ГБ | 2-ядерный | 60 ГБ |
* Настройте системные требования Postgres в зависимости от пропускной способности:
Например:
| |||
Кроме того, ниже перечислены аппаратные требования для установки сервисов монетизации (не поддерживаются в конфигурации «все в одном»):
| Компонент с монетизацией | БАРАН | Процессор | Жесткий диск |
|---|---|---|---|
| Сервер управления (с сервисами монетизации) | 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 операций ввода-вывода в секунду. |
Требования к операционной системе и программному обеспечению сторонних разработчиков
Данные инструкции по установке и прилагаемые установочные файлы были протестированы на операционных системах и программном обеспечении сторонних производителей, перечисленных в разделе «Поддерживаемое программное обеспечение и поддерживаемые версии» .
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 .
Создание символической ссылки из /opt/apigee
Перед созданием символической ссылки необходимо сначала создать пользователя и группу с именем "apigee". Это та же группа и пользователь, которые были созданы установщиком Edge.
Для создания символической ссылки выполните следующие действия перед загрузкой файла bootstrap_4.19.06.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 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
Чтобы задать эти значения:
- Отредактируйте файл postgresql.properties:
vi /opt/apigee/customer/application/postgresql.properties
Если файл не существует, создайте его.
- Задайте указанные выше параметры.
- Сохраните внесенные изменения.
- Перезапустите базу данных 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
- На узлах обработчика сообщений установите максимальное количество открытых файловых дескрипторов равным 64 КБ в
/etc/security/limits.d/90-apigee-edge-limits.conf, как показано ниже:apigee soft nofile 32768 apigee hard nofile 65536
При необходимости вы можете увеличить этот лимит. Например, если у вас одновременно открыто большое количество временных файлов.
Службы сетевой безопасности (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:
- На каждом узле обработчика сообщений отредактируйте файл
/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
- Сохраните файл.
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 .