文章目录
检查是否支持SSE4.2
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
安装依赖项
yum install git cmake ninja-build libicu-devel clang libicu-devel readline-devel mysql-devel openssl-devel unixODBC_devel bzip2 -y
yum install gcc glibc-headers gcc-c++
安装高版本 gcc(这个过程比较长)
wget http://www.mirrorservice.org/pub/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xz
tar xvf gcc-9.2.0.tar.xz
cd gcc-9.2.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --prefix=/opt/gcc9 --enable-languages=c,c++ --disable-multilib
export THREADS=$(grep -c ^processor /proc/cpuinfo)
make -j $THREADS
make install
注:download_prerequisites 下载4个依赖包,可能比较慢,可以更换下载源:
vim ./contrib/download_prerequisites
修改:
base_url='http://mirror.linux-ia64.org/gnu/gcc/infrastructure/'
添加软连接,不改变系统默认的值
cd /opt/gcc9/bin/
ln -s gcc cc
ln -s g++ g++-9
ln -s gcc gcc-9
ln -s /opt/gcc9/bin/* /usr/local/bin/
添加环境变量
vim /etc/profile
export GCC8_HOME=/opt/gcc9
export PATH=$GCC8_HOME/bin:$PATH
export CC=gcc-9
export CXX=g++-9
source /etc/profile
验证版本:
gcc --version
安装cmake 3,保留替换系统默认的
准备软件
wget https://cmake.org/files/v3.14/cmake-3.14.5-Linux-x86_64.tar.gz
tar zxvf cmake-3.14.5-Linux-x86_64.tar.gz -C /opt
cd /opt
ln -s cmake-3.14.5-Linux-x86_64 cmake
添加环境变量
vim /etc/profile
export CMAKE_HOME=/opt/cmake
export PATH=$CMAKE_HOME/bin:$PATH
source /etc/profile
安装ninja
wget https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip
unzip ninja-linux.zip -d /usr/local/bin/
mv /lib64/libstdc++.so.6 /lib64/libstdc++.so.6_bak
ln -s /opt/gcc9/lib64/libstdc++.so.6.0.25 /lib64/libstdc++.so.6
测试版本:
ninja --version # 1.9.0
源码安装Clickhouse
#clone 源码
git clone https://github.com/ClickHouse/ClickHouse
cd ClickHouse
git submodule sync
git submodule update --init --recursive
#这个过程会比较长,需要下载很多依赖包
#切换分支
git tag -l
git checkout master
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/clickhouse ../
ninja clickhouse
注意:
这里编译安装后,并没有在指定路径下生产clickhouse目录
将配置文件copy 到/usr/local/clickhouse/etc
mkdir -p /usr/local/clickhouse/etc
cd ../dbms/programs/server
cp config.xml /usr/local/clickhouse/etc
cp users.xml /usr/local/clickhouse/etc
将clickhouse执行文件copy 到/usr/local/clickhouse/bin
mkdir -p /usr/local/clickhouse/bin
cp dbms/programs/clickhouse /usr/local/clickhouse/bin
启动服务
启动clickhouse-server
clickhouse server --config-file=/usr/local/clickhouse/etc/config.xml
启动客户端
clickhouse client
clickhouse client --host=example.com
clickhouse client -m
本文详细介绍了如何在Linux环境下从零开始搭建ClickHouse系统,包括检查CPU指令集支持情况、安装必要的依赖项、编译安装高版本的GCC、CMake及Ninja构建系统等前置条件。此外还提供了配置及启动ClickHouse服务的具体步骤。
2万+

被折叠的 条评论
为什么被折叠?



