背景
ClickHouse 是目前很热的一款 OLAP 产品。
为了深入了解 ClickHouse,从源码级别来进行从头编译是必须的。
编译 ClickHouse
准备编译环境
准备虚拟机
安装虚拟机 VirtualBox
安装 CentOS7
-
安装镜像,内存 8G,硬盘 60G.
-
选择最小安装
编译
下载最新稳定压缩包(失败)
目前是 54318, https://github.com/yandex/ClickHouse/archive/v1.1.54318-stable.zip
解压安装包
sudo yum install unzip -y
unzip ClickHouse-1.1.54318-stable.zip
clone 稳定包
安装 git
sudo yum install git -y
git clone -b 'v1.1.54318-stable' --recursive https://github.com/yandex/ClickHouse.git
或者
git clone -b stable --recursive https://github.com/yandex/ClickHouse.git
git submodule update --init --recursive
编写时的最新稳定版本为
git clone -b 'v1.1.54318-stable' --recursive https://github.com/yandex/ClickHouse.git
clone 主干包
安装 git
sudo yum install git -y
git clone --recursive https://github.com/yandex/ClickHouse.git
或者
git clone https://github.com/yandex/ClickHouse.git
git submodule update --init --recursive
安装 gcc7
安装 scl 源
sudo yum install centos-release-scl -y
安装 gcc7
sudo yum install devtoolset-7-gcc -y
sudo yum install devtoolset-7-gcc-c++ -y
source /opt/rh/devtoolset-7/enable
确认下版本号为 7.2.1
[abeffect@localhost ~]$ gcc --version
gcc (GCC) 7.2.1 20170829 (Red Hat 7.2.1-1)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
安装 cmake3
安装 epel 源
sudo yum install epel-release -y
安装 cmake3
sudo yum install cmake3 -y
安装 openssl
sudo yum install openssl-devel -y
cmake 编译
进入目录
cd ClickHouse
mkdir build
cd build/
执行 cmake
cmake3 ..
如果出现了
CMake Error in contrib/librdkafka/src/CMakeLists.txt:
Imported target "OpenSSL::SSL" includes non-existent path
"/usr/local/opt/openssl/include"
的异常
再执行一次 cmake
cmake3 ..
就成功了
编译
make
或者想更快的编译
export THREADS=$(grep -c ^processor /proc/cpuinfo)
make -j $THREADS
后记
- 编译时,需要目录剩余空间有 20G+
- 编译出来的二进制文件有 500M+,但是参考[4]中的文件仅有 65M.
源安装 ClickHouse
Altinity 给出了编译好的 ClickHouse 镜像源,版本也是最新的稳定版,经本人测试,下载安装正常。
EL6
编辑文件 /etc/yum.repos.d/altinity_clickhouse.repo,内容如下
[altinity_clickhouse]
name=altinity_clickhouse
baseurl=https://packagecloud.io/altinity/clickhouse/el/6/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/altinity/clickhouse/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[altinity_clickhouse-source]
name=altinity_clickhouse-source
baseurl=https://packagecloud.io/altinity/clickhouse/el/6/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/altinity/clickhouse/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
安装
sudo yum install clickhouse-server clickhouse-client -y
EL7
编辑文件 /etc/yum.repos.d/altinity_clickhouse.repo,内容如下
[altinity_clickhouse]
name=altinity_clickhouse
baseurl=https://packagecloud.io/altinity/clickhouse/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/altinity/clickhouse/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[altinity_clickhouse-source]
name=altinity_clickhouse-source
baseurl=https://packagecloud.io/altinity/clickhouse/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/altinity/clickhouse/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
安装
sudo yum install clickhouse-server clickhouse-client -y
会发现,依赖的库有:
unixODBC
clickhouse-server-common
后记二
20180723 补充,yandex 官方 clickhouse 源 http://repo.yandex.ru/clickhouse/rpm/stable/x86_64/
参考
- red soft ru build packages: 好久不更新了
- How to build ClickHouse on Linux: 官方文档
- Altinity clickhouse-rpm: v 目录下有完整的编译脚本
- Altinity clickhouse-rpm-install: 其实不用自己编译,直接使用这里的源安装即可
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于