ClickHouse配置Hdfs存储数据

这篇具有很好参考价值的文章主要介绍了ClickHouse配置Hdfs存储数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

由于公司初始使用Hadoop这一套,所以希望ClickHouse也能使用Hdfs作为存储
看了下ClickHouse的文档,拿Hdfs举例来说,有两种方式来完成,一种是直接关联Hdfs上的数据文件,比如说TSV格式的文件,这种模式不支持插入数据。第二种是将Hdfs作为存储,可以理解为云存储方式,这篇文章讲解第二种方式的配置

官方文档:External Disks for Storing Data

配置单机

修改config.xml文件,一般路径在/etc/clickhouse-server/config.xml

 	<storage_configuration>
        <disks>
            <hdfs>
                <type>hdfs</type>
                <endpoint>hdfs://hdfs1:9000/clickhouse/</endpoint>
            </hdfs>
        </disks>
        <policies>
            <hdfs>
                <volumes>
                    <main>
                        <disk>hdfs</disk>
                    </main>
                </volumes>
            </hdfs>
        </policies>
    </storage_configuration>

    <merge_tree>
        <min_bytes_for_wide_part>0</min_bytes_for_wide_part>
    </merge_tree>

配置后重启

配置HA高可用Hdfs集群

  1. 复制hadoop下的配置文件hdfs-site.xml/etc/clickhouse-server/
  2. 修改config.xml配置文件,将endpoint中的标签内容,替换为cluster
        <disks>
            <hdfs>
                <type>hdfs</type>
                <endpoint>hdfs://cluster1/clickhouse/</endpoint>
            </hdfs>
        </disks>

这种方式的配置是没有端口的

  1. 拷贝了hdfs-site.xml文件,但是ClickHouse还不能识别到该文件,所以需要配置在config.xml的配置文件下
    <hdfs>
        <libhdfs3_conf>/etc/clickhouse-server/hdfs-site.xml</libhdfs3_conf>
    </hdfs>

这里在官方文档的另外一处有提到
地址:HDFS
ClickHouse配置Hdfs存储数据,# ClickHouse,数据库,clickhouse,hdfs,hadoop
配置完成,重启

这里配置集群模式有些折腾,看到之前有讲如果是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_policy='hdfs', index_granularity_bytes = 0;

需要添加storage_policy='hdfs', 这样数据就会存储到hdfs中,在hdfs文件系统中查看
ClickHouse配置Hdfs存储数据,# ClickHouse,数据库,clickhouse,hdfs,hadoop

查询性能对比:
ClickHouse配置Hdfs存储数据,# ClickHouse,数据库,clickhouse,hdfs,hadoop
ClickHouse配置Hdfs存储数据,# ClickHouse,数据库,clickhouse,hdfs,hadoop
trait表大概有1700w条数据,这里主要和之前不使用外部存储,使用clickhouse当前机器的存储做对比

统计trait最多的10个trait term
场景 内部存储 hdfs存储
直接查询 0.767s 0.723s
创建视图查询 0.495s 0.471s
子查询优化 0.157s 0.172s
统计性状xxx minValue > 500 0000的数量
场景 内部存储 hdfs存储
直接查询 0.263s 0.353s
子查询优化 0.131s 0.207s
创建视图走索引 0.01s 0.023s
降低稀疏索引粒度 0.007s 0.015s
结论

根据测试结果,hdfs外部存储会比直接内部存储性能差一点点,但是也差不了多少,使用hdfs可以避免单机存储不够的问题,与公司的技术栈也会保持一致

参考文档

clickhouse之HDFS云存储
clickhouse hive/hdfs引擎由于HDFS-HA报错问题解决
How do I use an HDFS engine in HA mode文章来源地址https://www.toymoban.com/news/detail-690061.html

到了这里,关于ClickHouse配置Hdfs存储数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu安装clickhouse数据库

    目录 1、更新包列表  2、运行安装脚本 3、设置密码 4、启动服务 5、测试连接 6、下载官方测试数据         1、下载数据集直接执行以下代码          2、创建数据库         3、创建数据表(1)         4、创建数据表(2)         5、导入数据 7、测试查询  8、远程连接

    2024年02月02日
    浏览(34)
  • ClickHouse与Doris数据库比较

    都说“实践是检验真理的唯一标准”,光说不练假把式,那么本文就通过实际的测试来感受一下Doris和clickhouse在读写方面的性能差距,看看Doris盛名之下,是否真有屠龙之技;clickhouse长锋出鞘,是否敢缚苍龙? 废话不多说,上货。 在这里,我使用多台物理机搭建了clickhouse和

    2024年01月22日
    浏览(37)
  • 大数据ClickHouse(五):数据库引擎介绍与实例演示

    文章目录 数据库引擎介绍与实例演示 一、Ordinary默认数据库引擎 二、MySQL数据库引擎

    2024年02月03日
    浏览(37)
  • 统一观测|借助 Prometheus 监控 ClickHouse 数据库

    ClickHouse 作为用于联机分析(OLAP)的列式数据库管理系统(DBMS), 最核心的特点是极致压缩率和极速查询性能。同时,ClickHouse 支持 SQL 查询,在基于大宽表的聚合分析查询场景下展现出优异的性能。因此,获得了广泛的应用。本文旨在分享阿里云可观测监控 Prometheus 版对开源 Cli

    2024年02月14日
    浏览(32)
  • Spring Boot集成JPA和ClickHouse数据库

    Spring Boot是一个用于创建独立的、基于Spring的应用程序的框架。它具有快速开发特性,可以大大减少开发人员的工作量。JPA(Java Persistence API)是Java中处理关系型数据库持久化的标准规范,而ClickHouse是一个高性能、分布式的列式数据库。 本文将介绍如何在Spring Boot项目中集成

    2024年02月09日
    浏览(43)
  • 分布式数据库(DorisDB、Clickhouse、TiDB)调研

    B站视频:DorisDB VS ClickHouse OLAP PK 1.1 DorisDB 场量:线上数据应用 访问官方网站 DorisDB企业版文档 单表/多表查询,DorisDB总体时间最短 单表查询:DorisDB最快次数最多,ClickHouse次之 多表查询:DorisDB所有执行均最快 DorisDB多表关联效率好 支持各种主流分布式Join,不仅支持大宽表模

    2024年02月06日
    浏览(35)
  • clickhouse数据库 使用http 方式交付查询sql

    今天使用clickhouse 的HTTP 方式进行查询语句 clickhouse  服务  搭建在192.168.0.111 上面 那么我们如何快速的去查询呢   如下 我们可以使用curl 功能 或者直接在浏览器上输入对应的查询命令  如下: 说明: 前面的IP 是我们clickhouse所在的服务器IP底子 端口      8123     默认的H

    2024年01月25日
    浏览(35)
  • [1180]clickhouse查看数据库和表的容量大小

    在mysql中information_schema这个数据库中保存了mysql服务器所有数据库的信息, 而在clickhouse,我们可以通过system.parts查看clickhouse数据库和表的容量大小、行数、压缩率以及分区信息。 在此通过测试数据库来说明。 结果为:这种结果显示的大小size是字节,我们如何转换为常见的

    2024年02月05日
    浏览(45)
  • Python 连接clickhouse数据库以及新建表结构,csv导入数据

    目录 一、Python 连接clickhouse数据库 ◼ clickhouse对外的接口协议通常有两种形式: ◼ 代码实现部分: 二、使用客户端工具DBeaver连接clickhouse ◼ 新建clickhouse表 三、DBeaver 连接clickhouse 用csv文件导入数据 ◼ 导入方式: 方法一:使用DBeaver自带导入数据功能; 方法二:具体方式如

    2024年02月08日
    浏览(81)
  • (三十六)大数据实战——ClickHouse数据库的部署安装实现

    ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库 DBMS ),使用C语言编写,主要用于在线分析处理查询( OLAP ),能够使用SQL查询实时生成分析数据报告。 列式存储 :数据按列进行存储,这使得 ClickHouse 能够高效地处理聚合查询和分析操作; 高性能 :ClickHouse 被设计用

    2024年02月19日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包