記錄一下自己安裝ClickHouse的過程,自己是按照官網的安裝教程進行安裝的,加上了自己安裝過程中遇到的一些小問題,可以參考
如果下面的安裝過程過時了或者不想看本人的安裝請從官網查看最新的安裝,官網地址:https://clickhouse.com/docs/en/development/build-osx/
電腦配置:Mac M1芯片
系統:Big Sur 11.6
1、安裝homebrew
由於本人已安裝了,這里就不寫了,可以百度如何安裝homebrew
2、安裝Xcode和Command Line Tools
在AppStore中安裝Xcode,比較大,11個G
安裝最新版本的Command Line Tools
sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --install
執行上面的命令后,會出現安裝的對話框,點擊繼續進行安裝,會需要下載,下載和安裝過程會比較久
3、安裝需要的 編譯器、工具和庫
安裝之前,最好將brew的源換成中科大的,否則安裝會很慢
臨時更換為中科大的源
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git" export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
brew update
安裝所需的編譯器等
brew install cmake ninja libtool gettext llvm gcc binutils
4、拉取ClickHouse源碼
拉取之前,最好使用github代理拉取源碼,否則直接從github拉取會異常的慢(源碼5個多G)
直接從github拉取源碼
git clone --recursive https://github.com/ClickHouse/ClickHouse.git
使用代理拉取源碼
git clone --recursive https://hub.fastgit.org/ClickHouse/ClickHouse.git
這里拉取的是最新的源碼,如果想拉取ClickHouse以前的版本,自己百度如何拉取GitHub上的歷史版本源碼,本人沒有試,這里就不寫了,以前版本的源碼是否可以在M1和BigSur 11.6上進行編譯也沒有嘗試
5、構建ClickHouse
官網提供了三種方式來構建
下面的這三種方式,我使用Xcode的AppleClang編譯器編譯了三次都失敗了,換了homebrew的Clang才編譯成功,所以最好直接使用第二種方法
(1)使用Xcode的AppleClang編譯器
cd ClickHouse rm -rf build mkdir build cd build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. cmake --build . --config RelWithDebInfo cd ..
(2)使用homebrew的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 .. cmake --build . --config RelWithDebInfo cd ..
(3)使用homebrew的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 .. cmake --build . --config RelWithDebInfo cd ..
6、修改系統的開啟最大文件數
按照如下內容修改或創建/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
如果顯示524288則說明已生效
7、啟動ClickHouse服務器
cd ClickHouse ./build/programs/clickhouse-server --config-file ./programs/server/config.xml
本人安裝完后,是沒有config.xml文件的,有一個config.xml.S文件,所以就復制了一份並重命名為config.xml
cp ./programs/server/config.xml.S ./programs/server/config.xml