一、clickhouse简介
ClickHouse是一个面向列存储的数据库管理系统,可以使用SQL查询实时生成分析数据报告,主要用于OLAP(在线分析处理查询)场景。关于clickhouse原理以及基础知识在以后学习中慢慢总结。(^_^)
二、安装启动
这里主要描述如何使用docker安装并启动clickhouse,其他安装方法均参考了官方文档: https://clickhouse.tech/docs/zh/getting_started/install/
1、Debian/Ubuntu/RPM安装ClickHouse
对于以上方法安装,官方均提供了安装包,直接通过apt-get install
或rpm -ivh
安装即可,安装包路径如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # Debian/Ubuntu # deb http://repo.yandex.ru/clickhouse/deb/stable/ main/ sudo apt-get install dirmngr # optional sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4 # optional sudo apt-get update sudo apt-get install clickhouse-client clickhouse-server
# rpm安装 # sudo yum install yum-utils sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64 sudo yum install clickhouse-server clickhouse-client
|
2、docker安装ClickHouse
2.1 docker安装
Centos安装docker参考于docker官方文档:https://docs.docker.com/install/linux/docker-ce/centos/
2.1.1、卸载老版本docker
1
| yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
|
2.1.2、安装依赖包并设置官方镜像源
1 2
| yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
2.1.3、安装最新版docker
1
| yum install docker-ce docker-ce-cli containerd.io
|
2.1.4、启动docker
目前docker最新版本为19.03版本,安装该版本启动时(安装17.03版本并没有报错)有可能产生以下报错:
1 2 3 4 5 6 7 8
| # systemctl start docker A dependency job for docker.service failed. See 'journalctl -xe' for details. # # 此时执行systemctl start docker即可成功启动
启动完成后可利用官方提供的hello-world进行测试 docker run hello-world
|
2.2 安装ClickHouse
docker环境搭建好之后,利用docker安装clickhouse比较简单,clickhouse官方提供了默认的镜像,直接使用即可。官方文档参考:https://hub.docker.com/r/yandex/clickhouse-server/
目前正在研究如何根据源码包修改docker文件,安装之后得到想要的配置,预计下周出个文章详解^_^
2.2.1、拉取clickhouse的docker镜像
1 2
| docker pull yandex/clickhouse-server docker pull yandex/clickhouse-clinet
|
2.2.2、启动server端
1 2 3 4 5 6 7
| # 默认直接启动即可 docker run -d --name [启动之后的名称] --ulimit nofile=262144:262144 yandex/clickhouse-server
# 如果想指定目录启动,这里以clickhouse-test-server命令为例,可以随意写 mkdir /work/clickhouse/clickhouse-test-db ## 创建数据文件目录 # 使用以下路径启动,在外只能访问clickhouse提供的默认9000端口,只能通过clickhouse-client连接server docker run -d --name clickhouse-test-server --ulimit nofile=262144:262144 --volume=/work/clickhouse/clickhouse_test_db:/var/lib/clickhouse yandex/clickhouse-server
|
2.3 启动并连接clickhouse-server
2.3.1、docker启动clickhouse-client
1
| docker run -it --rm --link clickhouse-test-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server
|
2.3.2、使用clickhouse-client连接
3、客户端常用参数
1 2 3 4 5 6 7 8 9 10 11 12
| clickhouse-client --host, -h :服务端host名称,默认 localhost --port :连接端口,默认9000 --user, -u :用户名,默认 default --password :密码,默认空 --query, -q :非交互模式下的查询语句 --database, -d :默认当前操作的数据库,默认default --multiline, -m :允许多行语句查询,在clickhouse中默认回车即为sql结束,可使用该参数多行输入 --format, -f :使用指定的默认格式输出结果 csv,以逗号分隔 --time, -t :非交互模式下会打印查询执行的时间 --stacktrace :出现异常会打印堆栈跟踪信息 --config-file :配置文件名称
|