【Clickhouse】Mac M1編譯安裝Clickhouse
當前最新版本:22.3.3.2
編譯日期:2022-04-19
編譯環境:MacBookPro M1
官方編譯安裝連結:
https://clickhouse.com/docs/en/getting-started/install/
https://clickhouse.com/docs/en/development/build-osx/
1. 安裝準備
# homebrew安裝略
# xcode和Command Line Tools安裝略
# 安裝必須的編譯器、編譯工具及庫
brew update
brew install cmake ninja libtool gettext llvm gcc binutils
2. 下載程式碼
git clone --recursive [email protected]:ClickHouse/ClickHouse.git
# ...alternatively, you can use https://github.com/ClickHouse/ClickHouse.git as the repo URL.
cd Clickhouse
git checkout
#或者下載好自己經編譯版本
cd ClickHouse-22.3.3.44-lts
3. 開始編譯
$ 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_AR=$(brew --prefix llvm)/bin/llvm-ar -DCMAKE_RANLIB=$(brew --prefix llvm)/bin/llvm-ranlib -DOBJCOPY_PATH=$(brew --prefix llvm)/bin/llvm-objcopy -DCMAKE_BUILD_TYPE=RelWithDebInfo .. 日誌...略 -- Will build ClickHouse 22.3.3.2 revision 54460 INFONot generating debugger info for ClickHouse functions -- StorageFileLog is only supported on Linux -- ClickHouse modes: -- Server mode: ON -- Client mode: ON -- Local mode: ON -- Benchmark mode: ON -- Extract from config mode: ON -- Compressor mode: ON -- Copier mode: ON -- Format mode: ON -- Obfuscator mode: ON -- ODBC bridge mode: OFF -- Library bridge mode: ON -- ClickHouse install: ON -- ClickHouse git-import: ON -- ClickHouse keeper mode: ON -- ClickHouse keeper-converter mode: ON -- bash_completion will be written to /usr/local/share/bash-completion/completions -- Target check already exists -- /Users/momo/studySpace/opensource/clone/ClickHouse/utils: Have 2677 megabytes of memory. Limiting concurrent linkers jobs to 1 and compiler jobs to OFF (system has 8 logical cores) -- Configuring done -- Generating done -- Build files have been written to: /Users/momo/studySpace/opensource/clone/ClickHouse/build $ cmake --build . --config RelWithDebInfo # The resulting binary will be created at: ./programs/clickhouse ..略 [7716/7716] cd /Users/momo/studySpace/opensource/clone/ClickHouse/build/programs && /opt/homebrew/Cellar/cmake/3.23.0/bin/cmake -E create_symlink clickhouse clickhouse-client
如果報如下錯誤:
CMake Error at CMakeLists.txt:67 (message):
Submodules are not initialized. Run
git submodule update --init --recursive解決辦法:按照提示執行命令
git submodule update --init --recursive
4. 修改機器配置
修改系統 maxfiles配置sudo vim /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
驗證檔案是否正確plutil /Library/LaunchDaemons/limit.maxfiles.plist
重新載入配置(或重啟)sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
檢查配置是否生效ulimit -n 或者 launchctl limit maxfiles
5. 執行Clickhouse
啟動server./build/programs/clickhouse-server --config-file ./programs/server/config.xml
啟動client./build/programs/clickhouse-client
資料庫目錄就在${clickhouse_src}/data目錄下