Перейти к содержимому
Последнее обновление

Проверки операционной системы

Перед развёртыванием Doris выполните следующие проверки и настройки операционной системы:

Что проверитьЦель
Отключение раздела подкачкиИсключить влияние политик ядра на производительность
Отключение Transparent Huge Pages (THP)Предотвратить фрагментацию памяти и колебания производительности
Увеличение числа областей виртуальной памятиИзбежать исчерпания файловых дескрипторов
Отключение энергосберегающего режима CPUОбеспечить стабильную производительность при высокой нагрузке
Сброс сетевых соединений при переполненииИзбежать зависания соединений при большом числе одновременных подключений
Открытие портов / отключение межсетевого экранаОбеспечить взаимодействие между компонентами
Увеличение числа файловых дескрипторовОбеспечить работу с большим количеством файлов данных таблиц
Установка службы NTPОбеспечить погрешность времени в метаданных < 5000 мс

Отключение раздела подкачки​

Отключение подкачки не позволяет ядру перемещать данные в раздел подкачки, что могло бы повлиять на производительность Doris.

Временное отключение (действует до перезагрузки):

swapoff -a

Постоянное отключение: закомментируйте строку swap в /etc/fstab и перезагрузите систему, чтобы изменения вступили в силу.

# /etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
tmpfs /tmp tmpfs nodev,nosuid 0 0
/dev/sda1 / ext4 defaults,noatime 0 1
# /dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2

Отключение Transparent Huge Pages​

Отключение THP (Transparent Huge Pages) уменьшает фрагментацию памяти и обеспечивает стабильное использование памяти в Doris.

Временное отключение:

echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag

Постоянное отключение:

cat >> /etc/rc.d/rc.local << EOF
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
EOF
chmod +x /etc/rc.d/rc.local

Увеличение числа областей виртуальной памяти​

Увеличение числа VMA (областей виртуальной памяти) предотвращает сбои Doris с ошибками mmap / Cannot allocate memory при превышении лимита VMA для отдельного процесса.

cat >> /etc/sysctl.conf << EOF
vm.max_map_count = 2000000
EOF

sysctl -p

Отключение энергосберегающего режима CPU​

Отключение энергосберегающего режима обеспечивает стабильную частоту CPU при высокой нагрузке. Если CPU не поддерживает Scaling Governor, этот шаг можно пропустить.

echo 'performance' | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Сброс сетевых соединений при переполнении​

Включение tcp_abort_on_overflow немедленно прерывает соединения при переполнении, предотвращая их длительное зависание при высокой нагрузке.

cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_abort_on_overflow=1
EOF

sysctl -p

Открытие портов​

Если порт недоступен, проверьте, не блокирует ли его межсетевой экран:

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

Либо откройте соответствующие порты согласно настройкам портов Doris.

Увеличение лимита файловых дескрипторов​

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

vi /etc/security/limits.conf
* soft nofile 1000000
* hard nofile 1000000

После вступления изменения в силу необходимо перезапустить сеанс.

Установка службы NTP​

Убедитесь, что часы всех машин в кластере синхронизированы. Погрешность времени в метаданных должна быть < 5000 мс.

sudo systemctl start ntpd.service
sudo systemctl enable ntpd.service