kafka的迁移干货】的更多相关文章

随着业务的发展, 服务器所在网段/机群不允许kafka继续保留在那, 需要移动到先机器上. 哎呀上面是废话,总的说就是: 2台老kafka不要了,数据要迁移到新的2台kafka上面.要求数据不丢失 通过查询官网,并无直接切换的命令,当前版本是kafka 0.8.1,  说是0.8.2才提供老机器的退役功能.   不过没关系, 我们有一个变通的方法: kafka提供了修改复制因子的方法, 我们可以将她的复制目标机器改成新的节点.  这样所有发往老节点的数据都会被转移到新节点去. 等你将发送者的AP…
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:mikealzhou 本文重点介绍kafka的两类常见数据迁移方式:1.broker内部不同数据盘之间的分区数据迁移:2.不同broker之间的分区数据迁移. 一.broker 内部不同数据盘之间进行分区数据迁移 1.1 背景介绍 最近,腾讯云的一个重要客户发现kafka broker内部的topic分区数据存储分布不均匀,导致部分磁盘100%耗尽,而部分磁盘只有40%的消耗量. 分析原因,发现存在部分topic的分区数据过于集中在某…
版本 0.9.2 创建topic bin/kafka-topics.sh --create --topic topic_name --partition 6 --replication-factor 1 -zookeeper 10.27.100.207:2181,10.27.100.144:2181,10.27.100.145:2181 开启console consumer查看消息 bin/kafka-console-consumer.sh --topic rt_live_pcweb -zook…
1.概述 Kafka的使用场景非常广泛,一些实时流数据业务场景,均依赖Kafka来做数据分流.而在分布式应用场景中,数据迁移是一个比较常见的问题.关于Kafka集群数据如何迁移,今天笔者将为大家详细介绍. 2.内容 本篇博客为大家介绍两种迁移场景,分别是同集群数据迁移.跨集群数据迁移.如下图所示: 2.1 同集群迁移 同集群之间数据迁移,比如在已有的集群中新增了一个Broker节点,此时需要将原来集群中已有的Topic的数据迁移部分到新的集群中,缓解集群压力. 将新的节点添加到Kafka集群很简…
摘要: 本文向您详细介绍如何使用DataWorks数据同步功能,将Kafka集群上的数据迁移到阿里云MaxCompute大数据计算服务. 前提条件 搭建Kafka集群 进行数据迁移前,您需要保证自己的Kafka集群环境正常.本文使用阿里云EMR服务自动化搭建Kafka集群,详细过程请参见:Kafka 快速入门. 本文使用的EMR Kafka版本信息如下:EMR版本: EMR-3.12.1集群类型: Kafka软件信息: Ganglia 3.7.2 ZooKeeper 3.4.12 Kafka 2…
在kafka中增加新的节点后,数据是不会自动迁移到新的节点上的,需要我们手动将数据迁移(或者成为打散)到新的节点上 1 迁移方法 kafka为我们提供了用于数据迁移的脚本.我们可以用这些脚本完成数据的迁移. 1.1 生成partiton分配表 1.1.1 创建json文件topic-to-move.json { "topics": [{"topic": "testTopic"}], "version": 1 } 1.1.2 生…
总结下自己在尝试Kafka分区迁移过程中对这部分知识的理解,请路过高手指正. 关于Kafka数据迁移的具体步骤指导,请参考如下链接:http://www.cnblogs.com/dycg/p/3922352.html原文作者写的非常清晰. 本文主要侧重自己对相关Kafka源代码的理解: generateAssignment()函数 (对应上述链接原文中的  --generate 参数)产生新的迁移计划,输出格式为Json字符串: executeAssignment ()函数(对应上述链接原文中的…
一.结构与概念解释 1.基础概念 topics: kafka通过topics维护各类信息. producer:发布消息到Kafka topic的进程. consumer:订阅kafka topic进程和处理订阅的消息的进程. broker:kafka集群的每个server叫broker. 提供了语言无关.高性能.简单的client-server的链接方式. 2.Topics and Logs (1)topic是发送消息的类别名称.每个partition是持续添加的有序的不可变的消息序列-comm…
本次遇到的问题描述,日志采集同步时,当单条日志(日志文件中一行日志)超过2M大小,数据无法采集同步到kafka,分析后,共踩到如下几个坑.1.flume采集时,通过shell+EXEC(tail -F xxx.log 的方式) source来获取日志时,当单条日志过大超过1M时,source端无法从日志中获取到Event.2.日志超过1M后,flume的kafka sink 作为生产者发送给日志给kafka失败,kafka无法收到消息.以下针对踩的这两个坑做分析,flume 我使用的是1.9.0…
概述 日志段及其相关代码是 Kafka 服务器源码中最为重要的组件代码之一.你可能会非常关心,在 Kafka 中,消息是如何被保存和组织在一起的.毕竟,不管是学习任何消息引擎,弄明白消息建模方式都是首要的问题.因此,你非常有必要学习日志段这个重要的子模块的源码实现.今天,我会带你详细看下日志段部分的源码.不过在此之前,你需要先了解一下 Kafka 的日志结构日志是 Kafka 服务器端代码的重要组件之一,很多其他的核心组件都是以日志为基础的,比如后面要讲到的状态管理机和副本管理器等. 总的来说,…
​vivo 互联网服务器团队-You Shuo 副本迁移是Kafka最高频的操作,对于一个拥有几十万个副本的集群,通过人工去完成副本迁移是一件很困难的事情.Cruise Control作为Kafka的运维工具,它包含了Kafka 服务上下线.集群内负载均衡.副本扩缩容.副本缺失修复以及节点降级等功能.显然,Cruise Control的出现,使得我们能够更容易的运维大规模Kafka集群. 备注:本文基于 Kafka 2.1.1开展. 一. Kafka 负载均衡 1.1 生产者负载均衡 Kafka…
概述 Apache Flume是一个分布式,可靠且可用的系统,用于有效地从许多不同的source收集,聚合和移动大量日志数据到集中式数据存储. Apache Flume的使用不仅限于日志数据聚合.由于数据source是可定制的,因此Flume可用于传输大量event 数据,包括但不限于网络流量数据,社交媒体生成的数据,电子邮件消息以及几乎任何可能的数据source. Apache Flume是Apache Software Foundation的顶级项目. 系统要求 Java运行时环境 - Ja…
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户.持久化存储.多机房跨区域数据复制,具有强一致性.高吞吐以及低延时的高可扩展流数据存储特性. 本篇文章,我们将带着刚刚圆满结束的 Pulsar Summit 精华版内容,为大家分享 Apache Pulsar 的成长历史. 关于 Pulsar Summit 会议 本次 Pulsar Summ…
kafka集群扩容后的topic分区迁移 kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建新的topic时才会参与工作.除非将已有的partition迁移到新的服务器上面: 所以需要将一些topic的分区迁移到新的broker上. kafka-reassign-partitions.sh是kafka提供的用来重新分配partition和replica到broker上的工具 简单实现重新分配需要三步: 生成分配计划(generate) 执行分…
问题 先前存储kafka日志的磁盘空间太小,zabbix警报不断,于是加了磁盘,将日志存到新磁盘上. 解决方案 依次在每台机器上操作,保证有机器能响应producer和consumer的操作. 加磁盘需要重启服务器. 1. 拷贝日志 服务器启动后,将以前的日志拷贝到新目录 cp /data/kafka-logs /home/data/kafka-logs 2. 修改配置文件 这里以默认配置文件为例config/server.properties vim server.properties #修改…
参考官网site: http://kafka.apache.org/documentation.html#basic_ops_cluster_expansion https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools#Replicationtools-6.ReassignPartitionsTool 说明: 当我们对kafka集群扩容时,需要满足2点要求: 将指定topic迁移到集群内新增的node上. 将topic…
一 kafka集群扩容比较简单,机器配置一样的前提下只需要把配置文件里的brokerid改一个新的启动起来就可以.比较需要注意的是如果公司内网dns更改的不是很及时的话,需要给原有的旧机器加上新服务器的host,不然可能会产生controller服务器从zk上拿到域名但是解析不到新机器地址的情况. 二 集群扩容后数据是不会自动均衡到新机器上的,需要采用kafka-reassign-partitions.sh这个工具脚本.脚本可以工作在三种模式--generate,--execute,--veri…
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 云+导语:4月22日,由腾讯云和 Kafka 社区主办.开源中国协办的腾讯云+社区技术沙龙 Kafka Meetup 深圳站在腾讯大厦举行,本次活动全程干货满满,不仅有 Kafka 的前世今生及展望,也有对 Kafka 技术架构的深入解析,同时还有基于 Kafka 的应用平台的相关开发与运维实践.活动异常火爆,现场近三百人参与交流,不少参会者表示活动质量很高,不虚此行. 现场听众 Apache Kafka 的过去.现在和未来 2010年…
kafka版本:适用于目前2.0以下 第一步: 假如有一个topic叫做test,当前topic的详情是这样的: [cdh@cdh1 kafka_2.11-1.0.1]$ bin/kafka-topics.sh --topic test --describe --zookeeper hadoop01:2181 Topic:test PartitionCount:3 ReplicationFactor:2 Configs: Topic: test Partition: 0 Leader: 2 Re…
经常有小伙伴有这样的疑问:为什么线上Kafka机器各个磁盘间的占用不均匀,经常出现“一边倒”的情形? 这是因为Kafka只保证分区数量在各个磁盘上均匀分布,但它无法知晓每个分区实际占用空间,故很有可能出现某些分区消息数量巨大导致占用大量磁盘空间的情况.在1.1版本之前,用户对此毫无办法,因为1.1之前Kafka只支持分区数据在不同broker间的重分配,而无法做到在同一个broker下的不同磁盘间做重分配.1.1版本正式支持副本在不同路径间的迁移,具体的实现细节详见KIP-113.本文简单演示一…
https://www.cnblogs.com/honeybee/p/5691921.html kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建新的topic时才会参与工作.除非将已有的partition迁移到新的服务器上面:所以需要将一些topic的分区迁移到新的broker上. kafka-reassign-partitions.sh是kafka提供的用来重新分配partition和replica到broker上的工具简单实现重新分配需…
需求:由于我们用的阿里云Hbase,按存储收费,现在需要把kafka的数据直接同步到自己搭建的hadoop集群上,(kafka和hadoop集群在同一个局域网),然后对接到hive表中去,表按每天做分区 一.首先查看kafka最小偏移量(offset) /usr/local/kafka/bin/kafka-run- -topic test --time - (--time -1为查看kafka最大偏移量) test:: test:: test:: 显示三个partition最小offset都为0…
1.迁移topic到新增的node上 假如现在一个kafka集群运行三个broker,broker.id依次为101,102,103,后来由于业务数据突然暴增,需要新增三个broker,broker.id依次为104,105,106.目的是要把chatmessage迁移到新增node上.脚本(json格式)如下所示: kafka-reassign-partitions.sh --zookeeper --topics-to-move-json-file migration-chatmessage-…
前言 kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建新的topic时才会参与工作.除非将已有的partition迁移到新的服务器上面:所以需要将一些topic的分区迁移到新的broker上.另外一种情况就是集群减少broker节点,对原有的topic信息进行迁移,重新分配broker节点. 简单案例 本次案例将原本存在于两个borker节点(86,87)上的topic:test01(两副本),转移到87,88两个broker上(重新分配)…
1.概述 在实际的应用场景中,数据存储在HBase集群中,但是由于一些特殊的原因,需要将数据从HBase迁移到Kafka.正常情况下,一般都是源数据到Kafka,再有消费者处理数据,将数据写入HBase.但是,如果逆向处理,如何将HBase的数据迁移到Kafka呢?今天笔者就给大家来分享一下具体的实现流程. 2.内容 一般业务场景如下,数据源头产生数据,进入Kafka,然后由消费者(如Flink.Spark.Kafka API)处理数据后进入到HBase.这是一个很典型的实时处理流程.流程图如下…
在 Kafka 中,出产者写入音讯.顾客读取音讯的操作都是与 leader 副本进行交互的,从 而结束的是一种主写主读的出产消费模型.数据库.Redis 等都具有主写主读的功用,与此同时还支撑主写从读的功用,主写从读也便是读写分别,为了与主写主读对应,这儿就以主写从读来称谓.Kafka 并不支撑主写从读,这是为什么呢? 从代码层面上来说,虽然增加了代码复杂度,但在 Kafka 中这种功用完全能够支撑.关于 这个问题,咱们能够从“收益点”这个视点来做具体分析.主写从读能够让从节点去分管主节 点的负…
这个详细的教程将帮助你创建一个简单的Kafka生产者,该生产者可将记录发布到Kafka集群. 通过优锐课的java学习架构分享中,在本教程中,我们将创建一个简单的Java示例,该示例创建一个Kafka生产者. 你创建一个名为my-example-topic的新复制的Kafka主题,然后创建一个使用该主题发送记录的Kafka生产者.将向Kafka制作人发送记录.同步发送记录,稍后,你将异步发送记录. 在你开始前 本教程的前提条件是命令行中的Kafka以及Kafka群集和故障转移基础知识. 本教程是…
由于一次功能上线后,导致某数据量急剧下滑,给我们紧张的呢!排查过程也是个学习过程(这其中有大部分是领导们的功劳,不过分享给大家应该也不犯法吧,ᐓ) 1. 确认问题的真实性? 被数据部门告知,某数据量下滑严重,当时即知道问题的严重性.且该问题是在我的功能上线后产生,第一反应就是,我代码哪里写错了? 但是,还得按流程来,通过各种维度数据对比请求量,实际落地量.确认问题! 其实该过程中,我们并没有确认自己的数据量下滑.但是这也脱不了数据下滑的干系.只能进行下一步! 2. 检查代码,找有经验的同学,对比…
[root@es03 ~]# cd /usr/hdp//kafka/bin [root@es03 kafka]# cd bi -bash: cd: bi: No such file or directory [root@es03 kafka]# cd bin [root@es03 bin]# ./kafka-topics.sh --describe --zookeeper --topic XcyEntity Topic:testXcyTopic PartitionCount: Replicati…
特性背景 消息事务是指一系列的生产.消费操作可以要么都完成,要么都失败,类似数据库的事务.这个特性在0.10.2的版本是不支持的,从0.11版本开始才支持.华为云DMS率先提供Kafka 1.1.0的专享版服务,支持消息事务特性. 支持事务消息有什么作用?消息事务是实现分布式事务的一种方案,可以确保分布式场景下的数据最终一致性.例如最常用的转账场景,小王 转账到小明,实际操作是小王账户减去相应金额,小明的账户增加相应金额,在分库分表的前提下,2个账户存储在不同的数据库中,这时需要分布式事务才能保…