Компиляция Apache Doris в Windows (WSL2)
В этом документе описана компиляция исходного кода Apache Doris на платформе Windows. Doris не поддерживает нативную компиляцию непосредственно в Windows, но с помощью WSL2 (Windows Subsystem for Linux 2) можно запустить подсистему Linux в Windows и выполнить сборку по инструкции для Linux.
Способ с использованием Windows + WSL2 в настоящее время не поддерживает компиляцию и развёртывание для режима разделения хранения и вычислений.
Для кого предназначено, преимущества и недостатки
| Критерий | Описание |
|---|---|
| Целевая аудитория | Разработчики, которые работают на компьютере с Windows и которым необходимо компилировать и отлаживать Doris |
| Преимущества | Не требуется система с двойной загрузкой или дополнительный сервер Linux; компиляцию можно выполнять локально |
| Недостатки | Требуется Windows 10 2004+ или Windows 11, а также определённый объём дискового пространства |
1. Требования к среде
| Параметр | Требование |
|---|---|
| Версия Windows | Windows 10 2004 (сборка 19041) или более поздняя либо Windows 11 |
| Версия WSL | WSL2 (рекомендуется дистрибутив Ubuntu 22.04 или Ubuntu 24.04) |
| Дисковое пространство | Рекомендуется не менее 50 ГБ свободного места (для исходного кода, сторонних библиотек и артефактов сборки) |
2. Порядок компиляции
2.1 Установка WSL2
Ознакомьтесь с официальным руководством Microsoft по установке WSL и выполните следующую команду в PowerShell:
wsl --install
После завершения установки перезагрузите систему и следуйте подсказкам для первоначальной настройки подсистемы Linux (задайте имя пользователя и пароль).
2.2 Компиляция Doris в WSL2
Войдите в подсистему Linux, запущенную с помощью WSL2, и выберите один из следующих способов компиляции:
- Компиляция с помощью LDB Toolchain (рекомендуется)
- Компиляция с помощью образа Docker (рекомендуется)
- Компиляция непосредственно в Linux
3. Примечания
- Диск для хранения данных: по умолчанию данные дистрибутива WSL2 хранятся на диске C. Если на диске C мало свободного места, перенесите данные WSL2 на другой диск перед установкой, чтобы не заполнить системный диск. Для переноса см. команды экспорта и импорта WSL.
- Ограничения ресурсов: по умолчанию WSL2 использует оперативную память хоста. Если процесс компиляции часто принудительно завершается из-за нехватки памяти, увеличьте ограничения
memoryиprocessorsв%UserProfile%\.wslconfig. - Файловая система: разместите исходный код в файловой системе ext4 внутри WSL2 (например, в
~/doris), а не по подключённому пути/mnt/c/.... Доступ между файловыми системами сильно замедляет компиляцию.
Часто задаваемые вопросы
Вопрос 1: установка WSL2 завершается ошибкой «Необходимо обновить Windows»?
Обновите Windows до версии 10 2004 (сборка 19041) или более поздней либо сразу используйте Windows 11.
Вопрос 2: компиляция в WSL2 выполняется очень медленно?
Убедитесь, что исходный код находится во внутренней файловой системе WSL2 (например, в ~/doris), а не в /mnt/c/.... Доступ между файловыми системами значительно замедляет компиляцию.
Вопрос 3: WSL2 занимает всю оперативную память хоста?
Ограничьте использование ресурсов WSL2 в %UserProfile%\.wslconfig:
[wsl2]
memory=12GB
processors=8
После изменения файла выполните wsl --shutdown, чтобы перезапустить WSL2 и применить изменения.