Skip to content

单机安装高性能列式存储数据库ClickHouse

前言

最近有很多粉丝私信我问各种问题,首先呢非常高兴大家对我的信任,我也会尽量抽出时间为大家答疑解惑。但是需要说明的是,我不可能遇到过所有的问题,有时候只能给给大家一些解决问题的思路,望大家谅解。

在解答的过程中有一个感受:一看就会,一做就废!。在此也给初学者们一个建议,就是多动手,不要试图通过问来消除心中所有的疑问。

回归正题,前面为大家介绍了什么是ClickHouse,如果只是看了一下介绍是很难有一个深刻认知的。本文我将会带领大家完成ClickHouse的单机部署。

ClickHouse支持Docker部署,之前也多次讲过Docker部署Doris等,这里不再赘述。还不会的同学可以翻阅历史文章学习。

单机部署

查看安装包

查看ClickHouse所有版本的安装包,访问https://packages.clickhouse.com/tgz/

也就是说,我们需要用到的安装包都是从这里下载的。

获取最新稳定版本的版本号

通过curl获取ClickHouse的所有版本,并通过正则表达式提取出所有的版本号,然后排序,得到最新的版本号。

sh
LATEST_VERSION=$(curl -s https://packages.clickhouse.com/tgz/stable/ | \
    grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1)
export LATEST_VERSION

此处只是通过shell脚本获取了最新版本号,如果您已经有了明确要使用的版本,可以直接下载。

获取系统架构

获取您当前系统的架构,后续会自动下载对应的版本。

sh
case $(uname -m) in
  x86_64) ARCH=amd64 ;;
  aarch64) ARCH=arm64 ;;
  *) echo "Unknown architecture $(uname -m)"; exit 1 ;;
esac

依次下载需要使用的安装包

通过for循环的方式依次下载所有的安装包

sh
for PKG in clickhouse-common-static clickhouse-common-static-dbg clickhouse-server clickhouse-client
do
  curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION-${ARCH}.tgz" \
    || curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION.tgz"
done

依次解压并安装

在执行过程中会需要用户输入数据库密码等,处理后才会继续进行,别傻傻等着就好。

sh
tar -xzvf "clickhouse-common-static-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-common-static-$LATEST_VERSION.tgz"
sudo "clickhouse-common-static-$LATEST_VERSION/install/doinst.sh"

tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION.tgz"
sudo "clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh"

tar -xzvf "clickhouse-server-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
sudo "clickhouse-server-$LATEST_VERSION/install/doinst.sh" configure
sudo /etc/init.d/clickhouse-server start

tar -xzvf "clickhouse-client-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
sudo "clickhouse-client-$LATEST_VERSION/install/doinst.sh"

验证

访问http://localhost:8123/,如果页面显示OK.,则代表服务已经正常启动了。如果没有启动,则可以通过以下方式启动:

sh
clickhouse-server

或者

sh
sudo /etc/init.d/clickhouse-server start

体验

需要注意的是,ClickHouse并没有直接提供一个Web UI页面供大家体验,此处推荐大家两种方式:

  • clickhouse-client 在命令行直接输入clickhouse-client,输入前面设置的密码即可登录成功。

查看数据库show databases;

  • DBeaver

DBeaver是一个免费的数据库管理工具,之前有详细介绍过,不再赘述。完成基本信息的配置就可以体验ClickHouse了。

进阶

部署往往是我们学习的起点,很多同学就卡在了部署上,然后迟迟无法获得进步。学会简单的部署只是第一步,后面同学们需要花更多的时间学习ClickHouse的用法,才能真正算是入门。如果同学们想要继续学习ClickHouse,可以关注:遇码,回复clickhouse,获取官方文档。

遇码MeetCoding 开源技术社区