河北省住房和城乡建设厅网站查,聚通装潢官网电话,手机零售网站 关键词,西安做网站首选文章目录 背景配置单机配置HA高可用Hdfs集群性能测试统计trait最多的10个trait term统计性状xxx minValue 500 0000的数量结论 参考文档 背景
由于公司初始使用Hadoop这一套#xff0c;所以希望ClickHouse也能使用Hdfs作为存储 看了下ClickHouse的文档#xff0c;拿Hdf… 文章目录 背景配置单机配置HA高可用Hdfs集群性能测试统计trait最多的10个trait term统计性状xxx minValue 500 0000的数量结论 参考文档 背景
由于公司初始使用Hadoop这一套所以希望ClickHouse也能使用Hdfs作为存储 看了下ClickHouse的文档拿Hdfs举例来说有两种方式来完成一种是直接关联Hdfs上的数据文件比如说TSV格式的文件这种模式不支持插入数据。第二种是将Hdfs作为存储可以理解为云存储方式这篇文章讲解第二种方式的配置
官方文档External Disks for Storing Data
配置单机
修改config.xml文件一般路径在/etc/clickhouse-server/config.xml storage_configurationdiskshdfstypehdfs/typeendpointhdfs://hdfs1:9000/clickhouse//endpoint/hdfs/diskspolicieshdfsvolumesmaindiskhdfs/disk/main/volumes/hdfs/policies/storage_configurationmerge_treemin_bytes_for_wide_part0/min_bytes_for_wide_part/merge_tree配置后重启
配置HA高可用Hdfs集群
复制hadoop下的配置文件hdfs-site.xml到/etc/clickhouse-server/下修改config.xml配置文件将endpoint中的标签内容替换为cluster diskshdfstypehdfs/typeendpointhdfs://cluster1/clickhouse//endpoint/hdfs/disks这种方式的配置是没有端口的
拷贝了hdfs-site.xml文件但是ClickHouse还不能识别到该文件所以需要配置在config.xml的配置文件下 hdfslibhdfs3_conf/etc/clickhouse-server/hdfs-site.xml/libhdfs3_conf/hdfs这里在官方文档的另外一处有提到 地址HDFS 配置完成重启
这里配置集群模式有些折腾看到之前有讲如果是hdfs-client.xml这种的可以参考下。中间还设置过环境变量 How do I use an HDFS engine in HA mode
性能测试
使用hdfs作为外部存储的时候需要在建表时设置存储策略举例如下
CREATE TABLE trait_term
(id UUID,termName String
)
ENGINE MergeTree
PRIMARY KEY (id)
ORDER BY id
SETTINGS index_granularity 1024, storage_policyhdfs, index_granularity_bytes 0;需要添加storage_policyhdfs, 这样数据就会存储到hdfs中在hdfs文件系统中查看
查询性能对比 trait表大概有1700w条数据这里主要和之前不使用外部存储使用clickhouse当前机器的存储做对比
统计trait最多的10个trait term
场景内部存储hdfs存储直接查询0.767s0.723s创建视图查询0.495s0.471s子查询优化0.157s0.172s
统计性状xxx minValue 500 0000的数量
场景内部存储hdfs存储直接查询0.263s0.353s子查询优化0.131s0.207s创建视图走索引0.01s0.023s降低稀疏索引粒度0.007s0.015s
结论
根据测试结果hdfs外部存储会比直接内部存储性能差一点点但是也差不了多少使用hdfs可以避免单机存储不够的问题与公司的技术栈也会保持一致
参考文档
clickhouse之HDFS云存储 clickhouse hive/hdfs引擎由于HDFS-HA报错问题解决 How do I use an HDFS engine in HA mode