ClickHouse有中文文档, 安装简单 -> 文档
官方提供了四种包的安装方式, deb/rpm/tgz/docker
, 自行选择适合自己操作系统的安装方式
这里我们选deb的方式, 其他方式看文档
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
到这里先不慌着启动, 改一波配置
服务端配置默认地址在/etc/clickhouse-server
尽量不要直接修改config.xml, 而是在config.d子目录中新建配置文件, 易于维护和升级, 文件名随意但会按字母顺序生效
一些简单配置:
:: # 打开远程访问
xxx # 表数据存储路径
xxxx # 一些临时数据
21474836480 # 服务器进程的最大内存使用量, 根据自己情况设置
warning # 日志级别
xxx # 日志路径
xxx # 错误日志路径
配置完, 启动服务
sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you've set up a password.
大部分操作和mysql差不多
不过ClickHouse有一套自己的字段类型, 简单建一个表
CREATE TABLE test
(
`column1` Date, # 日期类型
`column2` FixedString(7), # 固定长度字符串
`column3` UInt32, # 无符号int类型
`column4` Nullable(String), # 可为空字符串
`column5` Float64 # 浮点数
)
ENGINE = MergeTree()
order by column1
更多字段类型以及不同engine的作用详见文档
spark写入ClickHouse还是很方便的
需要下载一个新的驱动包, 放到每个worker节点的jars目录下 -> 官方jdbc驱动
目前是 clickhouse-jdbc-0.4.6.jar
properties = {'driver': 'com.clickhouse.jdbc.ClickHouseDriver',
"socket_timeout": "300000",
"rewriteBatchedStatements": "true",
"batchsize": "1000000",
"numPartitions": "8",
'user': 'default',
'password': '123456', # 配置自己的用户名密码
'isolationLevel': 'NONE'
}
df = spark.read.parquet('xx') # 读一个df, 注意schema和表结构一致
df.write.jdbc(url='jdbc:clickhouse://服务器ip:8123/数据库名', table='表名', mode='append', properties=properties)
不想要监控可以省略以下步骤, 本篇到此结束
ClickHouse自带各种统计表都存在system库里, 我们需要一个可视化平台接入一下比如Grafana
选择适合自己的版本下载 -> 官网下载地址
以及有其他问题可以翻阅文档 -> 官方文档
下载后解压, Grafana中默认数据源是没有ClickHouse的, 需要装一个扩展 -> 地址
grafana-cli --pluginsDir=可指定安装路径 plugins install vertamedia-clickhouse-datasource
不需要什么配置直接./bin/grafana server
即可启动, 不过建议改一下web页面的端口, 默认是3000, 会和后面的metabase冲突
配置文件在conf/defaults.ini
, 比如修改http_port=2999
然后在浏览器访问页面, 默认账户密码admin, admin
添加数据源, 搜ClickHouse, 然后按图改名字, 填ip, 填账号密码, 然后保存即可
下一步直接导入一个现成的ClickHouse仪表盘 -> 地址
省流, DashboardID: 13606
然后选择刚添加的数据源, 导入即可