栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

clickhouse集群模式配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

clickhouse集群模式配置

1、分布式集群常见方案
方案特点
方案一:MergeTree + Distributed1、无副本。2、无需zk。3、只能写本地表
方案二:MergeTree + Distributed+集群复制1、写集群表。2、利用集群复制机制解决副本问题。3、无需使用zk
方案三:ReplicatedMergeTree + Distributed1、写本地表,通过zk做副本分发。2、写本地表,读集群表。3、高度依赖zk

 我这里因为数据是从hive表导入的,所以无需副本,所以选择方案一

2、独立配置文件

clickhouse可以通过substitutions来将部分配置项单独写在一个文件中。这样的好处是方便管理,不需要每次都维护config.xml

3、配置文件

1)users.xml

因为是写本地表,所以可以配置新增一个分布式表专用的只读账号,用于分布式表读取,在标签中添加一下配置,注意password_sha256_hex 需要自己创建密码 。方法为:echo -n '123456' | sha256sum | tr -d '-'

        
            8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
            
                ::/0
            

            
            readonly

            
            default
        

2)config.xml

添加include_from标签,和incl属性

1、在标签下添加一下配置,表示引入一个额外的配置文件/etc/clickhouse-server/metrika.xml

/etc/clickhouse-server/metrika.xml     

2、修改标签,添加incl属性,表示用ck_remote_servers标签 替换 remote_servers标签(在metrika.xml中配置)

  

3)metrika.xml

创建分布式表配置文件,以下是一个完整的配置文件


      
        
            
                
                    ip
                    9100
                    clst_read 
                    123456
                
            
            
                
                    ip
                    9100
                    clst_read
                    123456
                
            
        
    

4)创建分布式表

重启服务后,创建分布式表:

-- 创建本地表,多个节点都需要创建
create table dw_local.hits(p Date, i Int32) ENGINE =MergeTree order by p;
-- 插入本地表数据,节点1
insert into dw_local.hits(p,i) values('2021-01-01',1),('2021-01-01',2),('2021-01-02',3),('2021-01-02',4);

-- 插入本地表数据,节点2
insert into dw_local.hits(p,i) values('2021-01-01',5),('2021-01-01',6),('2021-01-02',7),('2021-01-02',8);

-- 创建分布式表:
-- dw.hits :分布式表名
-- dw_cluster:集群名称
-- dw_local:本地表的库名
-- hits:本地表名
CREATE TABLE IF NOT EXISTS dw.hits   (p Date, i Int32) ENGINE = Distributed(dw_cluster, dw_local, hits);

-- 查询分布式表
select * from dw.hits t limit 10;

-- 查询本地表
select * from dw_local.hits t limit 10;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731826.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号