ClickHouse之集群搭建以及数据复制 - 腾讯云开发者社区-腾讯云


本站和网页 https://cloud.tencent.com/developer/article/1627939 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

ClickHouse之集群搭建以及数据复制 - 腾讯云开发者社区-腾讯云腾讯云备案控制台开发者社区学习实践活动专区工具TVP文章/答案/技术大牛搜索搜索关闭写文章提问登录/注册用户1278550299 篇文章ClickHouse之集群搭建以及数据复制转到我的清单专栏首页idbaClickHouse之集群搭建以及数据复制20分享分享文章到朋友圈分享文章到 QQ分享文章到微博复制文章链接到剪贴板海报分享海报分享ClickHouse之集群搭建以及数据复制发布于2020-05-13 21:06:33阅读 1.2K0前面的文章简单的介绍了ClickHouse,以及也进行了简单的性能测试。本次说说集群的搭建以及数据复制,如果复制数据需要zookeeper配合。环境:1.3台机器,我这里是3台虚拟机。都安装了clickhouse。2.绑定hosts,其实不绑定也没关系,配置文件里面直接写ip。(3台机器都绑定hosts,如下)192.168.0.10 db_server_yayun_01
192.168.0.20 db_server_yayun_02
192.168.0.30 db_server_yayun_03复制3.创建配置文件,默认这个配置文件是不存在的。/etc/clickhouse-server/config.xml有提示,如下:If element has 'incl' attribute, then for it's value will be used corresponding substitution from another file.
By default, path to file with substitutions is /etc/metrika.xml. It could be changed in config in 'include_from' element.
Values for substitutions are specified in /yandex/name_of_substitution elements in that file.复制配置文件/etc/metrika.xml内容如下:<yandex>
<clickhouse_remote_servers>
<perftest_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>db_server_yayun_01</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>db_server_yayun_02</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>db_server_yayun_03</host>
<port>9000</port>
</replica>
</shard>
</perftest_3shards_1replicas>
</clickhouse_remote_servers>
<zookeeper-servers>
<node index="1">
<host>192.168.0.30</host>
<port>2181</port>
</node>
</zookeeper-servers>
<macros>
<replica>192.168.0.10</replica>
</macros>
<networks>
<ip>::/0</ip>
</networks>
<clickhouse_compression>
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>lz4</method>
</case>
</clickhouse_compression>
</yandex>复制3台机器的配置文件都一样,唯一有区别的是:<macros>
<replica>192.168.0.10</replica>
</macros>复制服务器ip是多少这里就写多少,其实不写ip也没关系,3台机器不重复就行。这里是复制需要用到的配置。还有zk的配置如下:<zookeeper-servers>
<node index="1">
<host>192.168.0.30</host>
<port>2181</port>
</node>
</zookeeper-servers>复制我的zk是安装在30的机器上面的,只安装了一个实例,生产环境肯定要放到单独的机器,并且配置成集群。配置文件修改好以后3台服务器重启。
官方文档给的步骤是:ClickHouse deployment to cluster
ClickHouse cluster is a homogenous cluster. Steps to set up:
1. Install ClickHouse server on all machines of the cluster
2. Set up cluster configs in configuration file
3. Create local tables on each instance
4. Create a Distributed table复制前面2步都搞定了,下面创建本地表,再创建Distributed表。(3台机器都创建,DDL不同步,蛋疼,也可以使用ON Cluster 语法。在一个节点执行即可。)CREATE TABLE ontime_local (FlightDate Date,Year UInt16) ENGINE = MergeTree(FlightDate, (Year, FlightDate), 8192);
CREATE TABLE ontime_all AS ontime_local ENGINE = Distributed(perftest_3shards_1replicas, default, ontime_local, rand())复制插入数据(随便一台机器就行)::) insert into ontime_all (FlightDate,Year)values('2001-10-12',2001);
INSERT INTO ontime_all (FlightDate, Year) VALUES
Ok.
1 rows in set. Elapsed: 0.013 sec.
:) insert into ontime_all (FlightDate,Year)values('2002-10-12',2002);
INSERT INTO ontime_all (FlightDate, Year) VALUES
Ok.
1 rows in set. Elapsed: 0.004 sec.
:) insert into ontime_all (FlightDate,Year)values('2003-10-12',2003);
INSERT INTO ontime_all (FlightDate, Year) VALUES
Ok.复制我这里插入了3条数据。下面查询看看(任何一台机器都可以)::) select * from ontime_all;
SELECT *
FROM ontime_all
┌─FlightDate─┬─Year─┐
│ 2001-10-12 │ 2001 │
└────────────┴──────┘
┌─FlightDate─┬─Year─┐
│ 2002-10-12 │ 2002 │
└────────────┴──────┘
┌─FlightDate─┬─Year─┐
│ 2003-10-12 │ 2003 │
└────────────┴──────┘
→ Progress: 3.00 rows, 12.00 B (48.27 rows/s., 193.08 B/s.)
3 rows in set. Elapsed: 0.063 sec.
:) 复制当在其中一台机器上面查询的时候,抓包其他机器可以看见是有请求的。tcpdump -i any -s 0 -l -w - dst port 9000
那么关闭其中一台机器呢?:) select * from ontime_all;
SELECT *
FROM ontime_all
┌─FlightDate─┬─Year─┐
│ 2001-10-12 │ 2001 │
└────────────┴──────┘
┌─FlightDate─┬─Year─┐
│ 2002-10-12 │ 2002 │
└────────────┴──────┘
┌─FlightDate─┬─Year─┐
│ 2003-10-12 │ 2003 │
└────────────┴──────┘
↓ Progress: 6.00 rows, 24.00 B (292.80 rows/s., 1.17 KB/s.) Received exception from server:
Code: 279. DB::Exception: Received from localhost:9000, ::1. DB::NetException. DB::NetException: All connection tries failed. Log:
Code: 210, e.displayText() = DB::NetException: Connection refused: (db_server_yayun_02:9000, 192.168.0.20), e.what() = DB::NetException
Code: 210, e.displayText() = DB::NetException: Connection refused: (db_server_yayun_02:9000, 192.168.0.20), e.what() = DB::NetException
Code: 210, e.displayText() = DB::NetException: Connection refused: (db_server_yayun_02:9000, 192.168.0.20), e.what() = DB::NetException复制可以看见已经抛错了,竟然不是高可用?是的,就是不是高可用,上面的配置是设置3个分片,但是没有副本,所以在挂掉一个节点以后,就会存在问题。后面又看到了文档的另外一种配置方法,那就是配置2个节点,副本2个,经过测试高可用没有问题,另外也是分布式并行查询。感兴趣的同学可以自行测试。https://clickhouse.yandex/reference_en.html#Distributed下面进行数据复制的测试,zk已经配置好了,直接建表测试(3台机器都创建):CREATE TABLE ontime_replica (FlightDate Date,Year UInt16) ENGINE = ReplicatedMergeTree('/clickhouse_perftest/tables/ontime_replica','{replica}',FlightDate,(Year, FlightDate),8192);复制插入数据测试:insert into ontime_replica (FlightDate,Year)values('2018-10-12',2018);参考资料:https://clickhouse.yandex/reference_en.html#Distributedhttps://clickhouse.yandex/tutorial.html文章分享自微信公众号:yangyidba复制公众号名称本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!作者:邓亚运原始发表时间:2020-05-11如有侵权,请联系 cloudcommunity@tencent.com 删除。展开阅读全文jQueryhttpsTCP/IP网络安全HTML举报点赞 2分享登录 后参与评论0 条评论相关文章ClickHouse 实战笔记 第05期:ClickHouse 环形复制集群搭建上一节内容,我们聊了 ClickHouse 两分片两副本的搭建(点击传送),那么多分片多副本的情况下,是不是一定得起至少 4 个实例呢?其实是不一定的,如果机器...数据库交流clickhouse编译安装以及搭建mysql实时复制由于clickhouse的发布比较频繁,目前版本为20.7 尚未支持与mysql同步,故编译了git上最新的版本 20200909--版本号为20.9。老叶茶馆Docker搭建redis集群-主从复制以及哨兵模式But但是我的电脑是双4G的一定会很卡的。忍了,只要大家能从中学到东西。这样就是值得的。猿码优创大数据集群搭建之Linux安装Hive2.3.2GettingStarted - Apache Hive - Apache Software Foundation静谧星空TEL大数据集群搭建之Linux安装hadoop3.0.0https://www.apache.org/dyn/closer.cgi/hadoop/common静谧星空TEL大数据Kafka(三):Kafka的集群搭建以及shell启动命令脚本编写为了方便将来进行一键启动、关闭Kafka,我们可以编写一个shell脚本来操作。将来只要执行一次该脚本就可以快速启动/关闭Kafka。LansonliClickhouse创建分布式表以及表引擎介绍在读取时,引擎只需要输出所请求的列,但在某些情况下,引擎可以在响应请求时部分处理数据。职场亮哥ClickHouse 实战笔记 第06期:ClickHouse 常用管理命令我们经常需要确定数据库当前正在执行的 SQL,CH 提供了一些系统表用于记录这些信息,具体用法如下:数据库交流ClickHouse学习随笔-简介-202104ClickHouse不仅查询速度快(相较于hive等类似的分析型DBMS),而且硬件使用效率、容错性、可靠性、易用性、线性扩展性等高。用户8483969客快物流大数据项目(一):物流项目介绍和内容大纲   本项目基于大型物流公司研发的智慧物流大数据平台,该物流公司是国内综合性快递、物流服务商,并在全国各地都有覆盖的网点。经过多年的积累、经营以及布局,拥有大规...LansonliQQ音乐PB级ClickHouse实时数据平台架构演进之路QQ音乐是腾讯音乐旗下一款领先的音乐流媒体产品,平台打造了“听、看、玩”的立体泛音乐娱乐生态圈,为累计注册数在8亿以上的用户提供多元化音乐生活体验,畅享平台上超...腾小云ClickHouse实战-ClickHouse集群构建我们一般配置ClickHouse集群只需要修改Zookeeper存储和节点添加即可。程序猿梦工厂ClickHouse 集群搭建2018年第一天,许下第一份愿望吧,闭上眼睛,双手合十,心中默念,梦想成真。有期待的生活是快乐的,有憧憬的日子是惊喜的。元旦快乐! GraingerCentOS7下搭建ClickHouse集群什么是ClickHouse?ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。yuanfan2012QQ音乐PB级ClickHouse实时数据平台架构演进之路QQ音乐是腾讯音乐旗下一款领先的音乐流媒体产品,平台打造了“听、看、玩”的立体泛音乐娱乐生态圈,为累计注册数在8亿以上的用户提供多元化音乐生活体验,畅享平台上超...腾讯云大数据大数据之脚踏实地学08--搭建Hadoop集群【2】在《大数据之脚踏实地学07--搭建Hadoop集群【1】》中,讲解的是虚拟机的配置(包括网络设置、主机名修改和克隆等),文中我们在VMware中虚拟了3台计算机...1480大数据之脚踏实地学07--搭建Hadoop集群【1】前几期基本上讲的都是Linux的命令,个人觉得掌握这么多的命令后,基本上就够用啦(相当已经掌握了Windows系统的操作)。学习Linux命令只是开始大数据学习...1480大数据存储技术之ClickHouse入门学习(一)ClickHouse入门学习(一):https://blog.csdn.net/qq262593421/article/details/119514836静谧星空TEL更多文章作者介绍用户1278550杭州有赞DBA关注专栏文章299阅读量281.9K获赞755作者排名290精选专题腾讯云原生专题云原生技术干货,业务实践落地。活动推荐腾讯云自媒体分享计划入驻社区,可分享总价值百万资源包立即入驻邀请好友加入自媒体分享计划邀请好友,同享奖励 30 / 100 / 180 元云服务器代金券立即邀请运营活动广告关闭目录环境:参考资料:社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于视频介绍社区规范免责声明联系我们友情链接归档问题归档专栏文章归档快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列 网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN 加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2022 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 京公网安备 11010802017518 粤B2-20090059-1扫描二维码扫码关注腾讯云开发者领取腾讯云代金券