FineDataLink: Подготовка среды развертывания
Требования к ОС
NB: FineDataLink совместима с несколькими ОС, промежуточным ПО и различными схемами.
Категория |
Модель |
|
---|---|---|
Linux |
Centos6 |
Centos 6.5, Centos 6.6, Centos 6.7, Centos 6.8, Centos 6.9 |
Centos7 |
Версии Centos 7.x |
|
RedHat6 |
RedHat 6.5, RedHat 6.6, RedHat 6.7, RedHat 6.8, RedHat 6.9 |
|
RedHat7 |
RedHat 7.0, RedHat 7.1, RedHat 7.2, RedHat 7.3, RedHat 7.4 |
|
Windows |
Windows Server 2008 и новее Windows 11 |
|
СУБД |
RDS MySQL, MySQL, SQL Server, Oracle, DB2, PostgreSQL Некоторые проекты требуют настройки внешних БД. |
|
Браузер |
Google Chrome Рекомендуем использовать самую последнюю версию |
Обратите внимание на следующее:
1) Вышеперечисленные операционные системы являются приоритетными. Однако, если Вы хотите использовать какую-либо другую ОС, свяжитесь со службой поддержки платформы: Service Platform > Online Support или позвоните по номеру "400-811-8890".
2) Если пользователю из Китая необходимо развернуть платформу на Linux, ему в первую очередь нужно проверить настройки системы, связанные с китайским языком: Поддержка китайского языка в Linux.
3) Перед использованием функции конвейера данных необходимо развернуть Kafka. Kafka рекомендовано устанавливать в системе Linux. Можно использовать и Windows, но имейте в виду, что в этом случае производительность будет ограничена.
Требования к сети
Платформа может быть развернута как в общедоступной сети, так и в Интранете:
Сеть |
Объем данных (строки) |
Пропускная способность |
---|---|---|
Общедоступная сеть |
<10 млн |
50M |
>=10 млн |
100M |
|
Интранет |
-- |
Без ограничений |
Пропускная способность в основном ограничивает пороговое значение передачи данных. Формула преобразования: пропускная способность (Мб/с)*80%/8 (бит) = поток (Мб/с). *80% - для того, чтобы не перегрузить сеть, необходимо зарезервировать определенный объем пропускной способности при фактической передаче данных.
Таблица соотношения пропускной способности и порогового значении трафика:
Пропускная способность |
Порог трафика |
Рекомендовано |
---|---|---|
5 мб/с |
512 кб/с |
* |
50 мб/с |
5 мб/с |
* * |
100 мб/с |
10 мб/с |
* * * |
10000 мб/с |
1000 мб/с |
* |
При большом количестве внутренних тестов (объем данных составляет десятки миллионов) поток передачи данных близок к пороговому значению 50M, при этом он не превышает 100M, исходя из этого пропускную способность рекомендуется настраивать в диапазоне 50M-100M.
Требования к машине
Количество запланированных задач и задач конвейера неизвестно (применимо к только что развернутым проектам)
Память |
Рекомендовано |
---|---|
8Гб |
* * |
16Гб |
* * |
32Гб |
* * * |
32Гб+ |
Если значение превышает установленный предел, распределите его в соответствии с Вашими реальными потребностями. Если значение слишком велико, это может привести к слишком долгому времени выполнения FullGC. |
Количество запланированных задач и задач конвейера известно (применимо к миграции проекта и обновлению конфигурации)
Минимальная потребность в памяти = MAX (нижний предел памяти синхронизации, нижний предел памяти во время работы конвейера)
Вычисление |
Память |
---|---|
Точное |
Минимальная потребность в памяти = MAX (нижний предел памяти синхронизации, нижний предел памяти во время работы конвейера), смотри таблицу с расчетами ниже |
Приблизительное |
Минимальная потребность в памяти = MAX (нижний предел памяти синхронизации, нижний предел памяти во время работы конвейера), Тайминг и конвейер определяются из расчета 1 Гб на задачу |
1) Версия 4.1.5.5 и новее
тип |
узел |
память |
|
Тайминг |
Единичный узел ввода |
buffer+outputSize*2*channel Буфер:
Канал: Алгоритм передачи данных по каналу относительно сложен, для общих таблиц все входящие в него процессы как правило «занимают» 8 или 16 МБ памяти, максимально допустимое значение - 64 МБ. outputSize: Количество последующих узлов, соединенных с узлом ввода напрямую |
|
Узел процесса |
64+outputSize*2*6 4 outputSize (отличается от определения outputSize в рамках узла ввода данных ): Сумма количества узлов вывода и узлов Python, подключенных к узлу процесса напрямую. Узлы, расположенные после узлов процесса, не учитываются в outputSize |
||
Единичный узел вывода |
32 M Выходной узел обычно занимает 32 МБ памяти. При экспорте данных в Doris или StarRocks - 90 МБ памяти. |
||
Конвейер обработки данных |
- |
Соответствует запланированному результату задачи + узлы вывода |
Узлы ввода (три порта записи): (8+1*2*24)*3
Узлы процесса (одно преобразование): 64+2*2*64
Узлы вывода (два вывода): 32+32
Итого: 552Mб
Описание журнала:
2) Версии, предшествующие версии 4.1.5.5
Примерный расчет объема памяти, необходимого для выполнения запущенных задач (актуально для большого количества задач, где выполнить точный расчет практически невозможно):
Тип |
Узел |
память JVM |
---|---|---|
Тайминг |
-- |
1024Mб/задача |
Конвейер обработки данных |
-- |
1024Mб/задача |
Примерный расчет объема памяти, необходимого для выполнения запущенных задач:
Тип |
Узел |
Память |
Тайминг |
Единичный узел ввода |
64Mб+128Mб*количество выходящих каналов |
Все узлы процесса |
64Mб+128Mб*количество подключенных узлов вывода |
|
Единичный узел вывода |
32Mб |
|
Конвейер обработки данных |
-- |
1024Mб/задание |
Пример расчета для запланированного задания:
Память веб-контейнера
>= Память управления ресурсами (например, если объем памяти управления ресурсами составляет 16 Гб, объем памяти веб-контейнера может быть больше, но он не должен превышать 80% от системной памяти)
Системная память
>=память веб-контейнера>=память управления ресурсами (объем памяти веб-контейнера не должен превышать 80% от системной памяти)
NB: чем больше объем памяти, тем выше масштабируемость. Например, если сейчас есть необходимость в организации 4 потоков, а чуть позже нужно будет запустить 8 потоков, то необходимо увеличить только память управления ресурсами и память веб-контейнера.
Настройка CPU
Количество потоков >= количество параллельных задач * 2
Чтобы обеспечить высокую производительность одновременной передачи данных, количество потоков процессора может быть немного больше, чем количество параллельных задач*2.
Количество параллельных задач |
Количество потоков (рекомендованное) |
---|---|
4 |
8 |
10 |
20 |
N |
N*2 |
В основном количество запланированных задач и задач, касающихся конвейера обработки данных, которые могут выполняться одновременно, ограничено.
NB: Количество потоков CPU влияет на полную синхронизацию, а также на выполнение запланированных задач. На инкрементную синхронизацию задач, связанных с конвейером обработки данных, количество потоков CPU никак не влияет.
Дисковое пространство
50 Гб+
Дисковое пространство состоит из файлового пространства (установочные файлы, файлы журналов, файлы резервных копий и т.д.) и пропускной способности диска, необходимой для выполнения задач чтения и записи. Передача таблицы данных - это как раз и есть те самые операции чтения и записи. Когда памяти достаточно, дисковое пространство расходуется экономно, резервировать слишком много места для выполнения тех или иных операций не нужно.
Категория |
Проект |
Использование диска |
Пояснение |
---|---|---|---|
Файловое пространство |
Первоначальная установка |
4Гб |
-- |
Файл задания |
20Мб/ 100 задач |
Рассчитано на основе результатов обработки нескольких тысяч задач |
|
Файл журнала |
1Мб/ 100 записей |
Рассчитано на основе результатов обработки нескольких тысяч записей |
|
Файл журнала приложений |
<10Гб |
самоочистка |
|
Файл резервного копирования |
<20Гб |
самоочистка |
|
Локальный каталог сервера |
X |
Увеличивается в соответствии с фактическим объемом работы |
|
Пропускная способность |
-- |
10Гб |
-- |
GPLOAD |
По умолчанию 1Гб/задача |
Увеличивается в соответствии с фактическим объемом работы |
Таким образом, для развертывания должно быть зарезервировано не менее 50 Гб дискового пространства. Если для хранения файло Excel/CSV Вам нужно использовать локальный каталог сервера, Вы всегда можете увеличить объем его памяти в соответствии с Вашими потребностями.
Подготовка установочного пакета программы для развертывания
Для получения универсального установочного пакета напишите нам на почту marketing@biconsult.ru
Подготовка порта
Классификация |
Содержимое |
Порт |
Примечание |
Веб-контейнер |
Tomcat |
8080 NB: Для проектов, развернутых в версии 4.0.6 и более поздних, порт по умолчанию изменяется на 8068 |
Внешние порты могут быть закрыты или изменены (server.xml). SSL, короткие адреса и т. д. настраиваются на уровне балансировки нагрузки. |
Уведомление |
Websocket |
Для версий 4.0.6 и новее – порт по умолчанию [«58888», «59888»]. Для версий, предшествующих 4.0.6 - [«38888», «39888»]. |
|
Перенаправление Websocket |
Для версий 4.0.6 и новее – порт по умолчанию 58889 Для версий, предшествующих версии 4.0.6 -38889 |
1) Проверьте, свободен ли порт, который Вы выбрали
2) Если порт по умолчанию конфликтует с другими проектами, сначала измените порт, а потом откройте его.
3) Если на одном сервере развернуто сразу несколько проектов Tomcat, измените номер порта Tomcat – это поможет Вам избежать конфликтов портов.
4) Если включен firewall, откройте соответствующие порты.
5) Для контейнеров Docker или сред, где порты между серверами строго ограничены, необходимо открыть порты между серверами узлов:
- Выберите протокол TCP с восемью портами 7800/7810/7820/7830/7840/7850/7860/7870
- Выберите протокол UDP со случайным номером от 45588 до 65536