flume+kafka (分区实现 默认单分区)
这篇文章主要是log4j+flume+kafka的内容
首先从从下面的地址下载flume+kafka的插件包
https://github.com/beyondj2ee/flumeng-kafka-plugin/tree/master/
把libs和package下的jar包拷到kafka的lib文件夹下面 注意package文件夹下面的jar包(flumeng-kafka-plugin.jar)重点注意
在flume下的conf文件夹下面随意建一个文件 例如test.conf
内容如下
producer.sources = s
producer.channels = c
producer.sinks = r
#source section
producer.sources.s.type = avro
producer.sources.s.channels = c
producer.sources.s.bind=120.26.114.217
producer.sources.s.port=12343
# Each sink's type must be defined
producer.sinks.r.type = org.apache.flume.plugins.KafkaSink
producer.sinks.r.metadata.broker.list=120.26.114.217:9092
producer.sinks.r.partition.key=4
producer.sinks.r.partitioner.class=org.apache.flume.plugins.ManyPartition
producer.sinks.r.serializer.class=kafka.serializer.StringEncoder
producer.sinks.r.request.required.acks=0
producer.sinks.r.max.message.size=1000000
producer.sinks.r.producer.type=sync
producer.sinks.r.custom.encoding=UTF-8
producer.sinks.r.custom.topic.name=many
#Specify the channel the sink should use
producer.sinks.r.channel = c
# Each channel's type is defined.
producer.channels.c.type = memory
producer.channels.c.capacity = 100
重点讲一下红色标注的三行
producer.sinks.r.custom.topic.name=many表示把flume采集的内容写到kafka中名叫“many”的topic中
producer.sinks.r.partition.key=4表示传送消息中key为多少 在kafka中的分区一般都是根据key进行分区
producer.sinks.r.partitioner.class=org.apache.flume.plugins.ManyPartition表示kafka的分区方法 org.apache.flume.plugins.ManyPartition这个类是我自己写的 默认的是org.apache.flume.plugins.SinglePartition,SinglePartition类中分区返回都是0
意思为无论我在topic下创建多少分区,flume采集的数据全都会存到第一个分区里面
所以我自己写了一个ManyPartition
可以随机的分配到不同的分区中
flume+kafka (分区实现 默认单分区)的更多相关文章
- flume+kafka (分区实现 默认单分区) (二)
这篇文章主要在上一篇文章的基础上讲一下 如何自定义flume到kafka的分区 上一节中从下面的地址下载了一个源码 https://github.com/beyondj2ee/flumeng-kafk ...
- mac系统之前做过Windows8系统,可能移除时没有通过boot camp助理移除,所以想要再安装windows系统时,点击boot camp助理的继续,弹出启动磁盘不能被分区或恢复单分区。
因为把bootcamp分区抹掉,卸载,装载,点减号,合并成单分区,一直是操作失败.为了通过boot camp安装上Windows系统,索性重新安装mac ox系统,重新分区.重新开机,按住comman ...
- Kafka 生产者、消费者与分区的关系
背景 最近和海康整数据对接, 需要将海康产生的结构化数据拿过来做二次识别. 基本的流程: 海康大数据 --> kafka server --> 平台 Kafka 的 topic 正常过车 ...
- 4种Kafka网络中断和网络分区场景分析
摘要:本文主要带来4种Kafka网络中断和网络分区场景分析. 本文分享自华为云社区<Kafka网络中断和网络分区场景分析>,作者: 中间件小哥. 以Kafka 2.7.1版本为例,依赖zk ...
- 详解Centos默认磁盘分区
对于有经验的Linux系统管理员,在安装系统之前都会对系统的分区进行规划:针对这一需求,下面就通过默认的Centos分区与大家分享一些关于Linux系统的知识.Linux系统的磁盘命名规范:硬盘类型标 ...
- Centos7不修改默认交换分区下添加交换分区
交换分区介绍 Linux系统中的交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用. 当系统需要更多的内存资源而物理内存已经充满,内存中不活跃的页就会被移动到交换分区上. 交换分区位于硬 ...
- hadoop 之 kafka 安装与 flume -> kafka 整合
62-kafka 安装 : flume 整合 kafka 一.kafka 安装 1.下载 http://kafka.apache.org/downloads.html 2. 解压 tar -zxvf ...
- hive分区partition(动态和静态分区混合使用; partition的简介)
分区是hive存放数据的一种方式.将列值作为目录来存放数据,就是一个分区.这样where中给出列值时,只需根据列值直接扫描对应目录下的数据,不扫面其他不关心的分区,快速定位,查询节省大量时间.分动态和 ...
- 使用Flume+Kafka+SparkStreaming进行实时日志分析
每个公司想要进行数据分析或数据挖掘,收集日志.ETL都是第一步的,今天就讲一下如何实时地(准实时,每分钟分析一次)收集日志,处理日志,把处理后的记录存入Hive中,并附上完整实战代码 1. 整体架构 ...
随机推荐
- 第12届北师大校赛热身赛第二场 C. 组合数
题目链接:http://www.bnuoj.com/bnuoj/contest_show.php?cid=3570#problem/43573 C. 组合数 Time Limit: 1000ms Ca ...
- pthread_mutex_t
在Linux中使用线程 http://blog.csdn.net/jiajun2001/article/details/12624923 :LINUX就是这个范围作者 原创作品,允许转载,转载时 ...
- 用systemtap对sysbench IO测试结果的分析1
http://www.actionsky.com/docs/archives/171 2016年5月6日 黄炎 近期在一些简单的sysbench IO测试中, 遇到了一些不合常识的测试结果. 从结 ...
- 主流手持设备GPU性能比较
设备 GPU CPU 每秒像素填充率 每秒三角形生成 内存 iPhone4 PowerVR SGX 535 ARM Cortex-A8 800M 512M iPod touch 4 Power ...
- C#对Windows服务的操作
一.安装服务: private void InstallService(IDictionary stateSaver, string filepath) { try { System.ServiceP ...
- MySQL ALTER语法的运用方法 && 操作索引和字段
语法:alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD INDEX [in ...
- git fetch和git pull之间的区别--转载
原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...
- Android 自定义组合控件
1, you need to add this kind of code to the constructors of your custom view which must extend ViewG ...
- Java再学习——CopyOnWrite容器
一,定义 CopyOnWrite容器即写时复制的容器.通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完 ...
- 关于android listview去掉分割线
1.设置android:divider="@null" 2.android:divider="#00000000" #00000000后面两个零表示透明 3.. ...