Как собрать ClickHouse на Mac OS X
Вы можете установить предварительно собранный ClickHouse, как описано в Быстром старте.
Следуйте инструкциям по установке для macOS (Intel)
или macOS (Apple Silicon)
.
Сборка должна запускаться с x86_64 (Intel) на macOS версии 10.15 (Catalina) и выше в последней версии компилятора Xcode's native AppleClang, Homebrew's vanilla Clang или в GCC-компиляторах.
Установка Homebrew
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Установка Xcode и инструментов командной строки
Установите из App Store последнюю версию Xcode.
Запустите ее, чтобы принять лицензионное соглашение. Необходимые компоненты установятся автоматически.
Затем убедитесь, что в системе выбрана последняя версия инструментов командной строки:
$ sudo rm -rf /Library/Developer/CommandLineTools
$ sudo xcode-select --installПерезагрузитесь.
Установка компиляторов, инструментов и библиотек
$ brew update
$ brew install cmake ninja libtool gettext llvm gcc
Просмотр исходников ClickHouse
$ git clone --recursive git@github.com:ClickHouse/ClickHouse.git # or https://github.com/ClickHouse/ClickHouse.git
Сборка ClickHouse
Чтобы запустить сборку в компиляторе Xcode's native AppleClang:
$ cd ClickHouse
$ rm -rf build
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
$ cmake --build . --config RelWithDebInfo
$ cd ..
Чтобы запустить сборку в компиляторе Homebrew's vanilla Clang:
$ cd ClickHouse
$ rm -rf build
$ mkdir build
$ cd build
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -DCMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -DCMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
$ cmake --build . --config RelWithDebInfo
$ cd ..
Чтобы собрать с помощью компилятора Homebrew's vanilla GCC:
$ cd ClickHouse
$ rm -rf build
$ mkdir build
$ cd build
$ cmake -DCMAKE_C_COMPILER=$(brew --prefix gcc)/bin/gcc-11 -DCMAKE_CXX_COMPILER=$(brew --prefix gcc)/bin/g++-11 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_JEMALLOC=OFF ..
$ cmake --build . --config RelWithDebInfo
$ cd ..
Предупреждения
Если будете запускать clickhouse-server
, убедитесь, что увеличили системную переменную maxfiles
.
Вам понадобится команда sudo
.
Создайте файл
/Library/LaunchDaemons/limit.maxfiles.plist
и поместите в него следующее:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>524288</string>
<string>524288</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>Выполните команду:
$ sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
Перезагрузитесь.
Чтобы проверить, как это работает, выполните команду
ulimit -n
.