该版本由于硬件依赖问题,需要对源码进行修改编译,最后再进行安装。

1)安装相关依赖

yum install cmake gcc gcc-c++ make automake -y
yum install python3 ccache ninja-build nasm yasm gawk -y
yum install numactl -y
yum install rust -y
yum install openGl -y
yum install qt-devel -y
yum install libhugetlbfs-devel -y
yum install cargo -y
复制

2)安装Clang

cd /home
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.6/llvm-project-18.
tar -xvf llvm-project-18.1.6.src.tar.xz
cd llvm-project-18.1.6.src
cd llvm
mkdir build && cd build 
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j `nproc` && make -j `nproc` install
cd ../../clang
mkdir build && cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../../llvm -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;clang-tools-extra;openmp;lldb;lld"
make -j `nproc` && make -j `nproc` install
clang --version
复制

3)源码编译

cd /home
git clone --recursive --shallow-submodules https://github.com/ClickHouse/ClickHouse.git -b v24.3.11.7-lts --single-branch --depth=1
cd ClickHouse
git submodule sync
git submodule update --init --recursive
复制

需要同步大量文件,此过程需要较长时间。更新完成后,执行以下步骤检查源码的完整性。

vim file_check.sh
#!/bin/bash
base_dir=$(cd $(dirname "$0")&&pwd)
flag=0
for dir in $(ls -d "$base_dir"/contrib/*/);
do
   file_count=$(ls -1 "$dir" | wc -l)
   if [ "$file_count" -eq 0 ]; then
       echo "Directory with 0 files: $dir"
       flag=1
   fi
done
if [ $flag -eq 0 ]; then
   echo "检查完成 contrib目录下不存在空文件夹"
fi
chmod +x file_check.sh
./file_check.sh
复制

检查通过后,提示“检查完成 contrib目录下不存在空文件夹”。

检查不通过需要进入对应目录,重复重新拉取子模块文件

cd XXXX(显示的文件目录)
git reset --hard
git clean -fd
git submodule update --force --init --recursive
复制

空目录全部拉取后,重新执行检查脚本,直到提示检查完成。

修改编译选项

cd /home/ClickHouse/cmake
vim cpu_features.cmake
复制

修改NO_ARMV81_OR_HIGHER(当前版本下为第26行)编译选项下的内容

set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=armv8.2-a+simd+crypto+dotprod")
复制

编译构建

cd /home/ClickHouse/
mkdir build
cmake -DPARALLEL_COMPILE_JOBS=`nproc` -DENABLE_CLICKHOUSE_SELF_EXTRACTING=1 -DNO_ARMV81_OR_HIGH
cmake --build build -j `nproc`
复制

编译完成后,进入“build/programs”目录,安装ClickHouse

./build/programs/clickhouse install
复制

在出现“Enter password for the default user”的字样处直接回车

4)运行验证

clickhouse start
复制

移植安装clickhouse成功,clickhouse start启动失败可检查权限及日志

mkdir -p /var/lib/clickhouse/

chown -R clickhouse:clickhouse /var/run/clickhouse-server/

chmod -R 755 /var/run/clickhouse-server/

chown -R clickhouse:clickhouse /var/lib/clickhouse/

chmod -R 755 /var/lib/clickhouse/

查看日志:tail -f /var/log/clickhouse-server/clickhouse-server.log

使用ps -ef | grep clickhouse命令查看clickhouse-server进程是否启动成功

clickhouse client
复制
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐