当前位置: 首页 > 科技观察

一文为大家带来ClickHouse集群搭建

时间:2023-03-13 18:10:03 科技观察

ClickHouse是一个面向列的数据库,也是一个原生的向量化执行引擎。它没有沿用大数据领域的Hadoop生态,而是使用Localattachedstorage作为存储,这样整个IO可能没有Hadoop的局限性。其系统在生产环境中可以应用到比较大的规模,因为其线性扩展能力和可靠性保证可以原生支持shard+replication的方案。它还提供了一些SQL直接接口,并且有一个比较丰富的nativeclient。ClickHouse数据库的特点:FastClickHouse性能超过市面上大部分的列式存储数据库。与传统数据ClickHouse相比,快了100-1000倍,ClickHouse还是有非常大的优势。1亿数据集:ClickHouse比Vertica快5倍左右,比Hive快279倍,比MySQL快801倍。10亿数据集:ClickHouse比Vertica快5倍左右,MySQL和Hive已经无法完成任务。多种功能1.支持类SQL查询;2、支持各种库函数(如IP转换、URL解析等,预测计算/HyperLoglog等);3.支持数组(Array)和嵌套数据结构(NestedDataStructure);4.支持数据库异地复制部署。需要注意的是,由于ClickHouse的快速查询仍然是基于系统资源的,所以在使用时需要注意各个节点上的存储量和节点机系统资源是否充足。因为查询使用内存进行聚合,所以并发查询的数量不能太大,否则会造成资源崩溃。环境配置初始化环境(所有节点)#修改本机的hostnamevi/etc/hostname#Configurehostsvi/etc/hosts192.168.143.20node1192.168.143.21node2192.168.143.22node3修改后执行hostnamenode1...3不用重启机器使其生效下载安装ClickHouse(所有节点)主要下载四个文件:Clickhouse-clientClickhouse-common-staticClickhouse-serverclickhouse-server-commonrpm-ivh*.rpminstallzookeeper(任意节点)#我这里选择node1dockerrun-d--nethost--namezookeeperzookeeper配置集群(所有节点)修改/etc/clickhouse-server/config.xml::/var/lib/clickhouse//home/clickhouse/修改/etc/clickhouse-server/users.xml5000000000000xxxx...xxxx<网络>::/0defaultdefault添加配置文件/etc/metrika.xmltruenode19000root123456truenode29000root123456truenode39000root123456node12181networks>::/0node1100000000000.01lz4restartclickhouseserviceserviceclickhouse-serverrestart#如果不成功,则使用下面命令nohup/usr/bin/clickhouse-server--config=/etc/clickhouse-server/config.xml$创建数据表(所有节点)使用可视化工具连接各个节点,创建MergeTreecreatedatabasetest;createtabletest。上面的数据(countryString,provinceString,valueString)engine=MergeTree()partitionby(country,province)orderbyvalue;创建分布式表(node1节点)createtabletest.moastest.dataENGINE=Distributed(test_cluster,test,data,rand());使用Python连接clickhouse并安装clickhouse-driverpiinstallclickhouse-driver执行来自clickhouse_driveriimportClient的命令#哪个节点创建分布式表,连接哪个节点client=Client('192.168.143.20',user='root',password='123456',database='test')print(client.execute('selectcount(*)frommo'))【小编推荐】惊呆了,一个SQL,Oracle炸了...我用Python制作微信动态表情的7个提高工作效率的工具,非常适合新手。MicrosoftEdge90正式版发布:新增下载管理菜单,字体渲染更清晰。限速却后悔