Kafka备忘
官网 http://kafka.apache.org/

多生产者多消费者

多topic和多分区

多消费者组。每组中消息不能重复消费,组间不影响
启动
RunKafka(){
cd $kafka_home
nohup ./bin/zookeeper-server-start.sh ./config/zookeeper.properties >> zk$dayStr.log &
echo 'Starting zookeeper...'
sleep 5s #wait a monment until zookeeper is ready
nohup ./bin/kafka-server-start.sh ./config/server.properties >> kafka$dayStr.log &
echo 'Starting kafka-server...'
}
流程:启动zookeeper -> 启动kafka-server -> 创建topic -> 创建生产者 -> 创建消费者
基本命令
# kafka basic common
# ./app/kafka/bin/kafka-topics.sh --create --zookeeper localhost: --replication-factor --partitions --topic huashi
# ./app/kafka/bin/kafka-topics.sh --list --zookeeper localhost:
# ./app/kafka/bin/kafka-topics.sh --describe --zookeeper localhost: --topic huashi
# ./app/kafka/bin/kafka-topics.sh --delete --zookeeper localhost: --topic huashi # ./bin/kafka-console-producer.sh --broker-list localhost: --topic huashi
# ./bin/kafka-console-consumer.sh --zookeeper localhost: --topic huashi --from-beginning
# ./bin/kafka-topics.sh --zookeeper localhost: --alter --topic huashi --partitions # ==================delete consumer group======
# ~/kafka/bin/zookeeper-shell.sh localhost:
# ls /consumers
# rmr /consumers/bd/offsets
# rmr /consumers/test/offsets/huashi20151108 # ls /tmp/kafka-logs/
Python包
https://github.com/mumrah/kafka-python
用法:http://kafka-python.readthedocs.org/en/latest/usage.html
FakeProducer.py
#!/usr/bin/python
# -*- coding: utf-8 -*- __author__ = 'manhua' from kafka import SimpleProducer, KafkaClient
import time
# To send messages synchronously
kafka = KafkaClient('localhost:9092')
producer = SimpleProducer(kafka)
n=0
while True:
producer.send_messages(b'huashi', str(n))
n+=1
time.sleep(1)
print n
ConsumerTest.py
#!/usr/bin/python
# -*- coding: utf-8 -*- __author__ = 'manhua' from kafka import KafkaConsumer
import sys class UnzipConsumer:
def __init__(self, topic, partition_id, gid='bd', bs_server='localhost:9092'):
self.partition_id = partition_id
self.consumer = KafkaConsumer((topic, int(partition_id)), # must specify an id, or it will quite slow
group_id=gid,
bootstrap_servers=[bs_server],
auto_offset_reset='smallest' # ,
# consumer_timeout_ms=1000*60*30
) def run(self):
for message in self.consumer:
print("%s:%d:%d: key=%s value=%s" % (message.topic, message.partition,
message.offset, message.key,
message.value))
self.consumer.task_done(message)
self.consumer.commit() if __name__ == '__main__': if len(sys.argv) == 3:
obj = UnzipConsumer(sys.argv[1], sys.argv[2])
obj.run()
else:
print 'Parameters: [topic] [id]' # python unzipConsumer.py huashi #0
监控工具
https://github.com/quantifind/KafkaOffsetMonitor
实时监控kafka的consumer以及他们在partition中的offset
因为KafkaOffsetMonitor中有些资源文件(css,js)是访问google资源,所以有人做了修改版 http://pan.baidu.com/s/1qWH05q8
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk localhost --refresh 15.minutes --retain 5.day --port 5354
Ref:
http://blog.csdn.net/lizhitao/article/details/27199863
Kafka备忘的更多相关文章
- kafka 备忘
创建topic/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --partitions 3 --rep ...
- GIS部分理论知识备忘随笔
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.高斯克吕格投影带换算 某坐标的经度为112度,其投影的6度带和3度带 ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
- Vi命令备忘
备忘 Ctrl+u:向文件首翻半屏: Ctrl+d:向文件尾翻半屏: Ctrl+f:向文件尾翻一屏: Ctrl+b:向文件首翻一屏: Esc:从编辑模式切换到命令模式: ZZ:命令模式下保存当前文件所 ...
- ExtJs4常用配置方法备忘
viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { b ...
- [备忘] Automatically reset Windows Update components
这两天遇到Windows 10的更新问题,官方有一个小工具,可以用来修复Windows Update的问题,备忘如下 https://support.microsoft.com/en-us/kb/97 ...
- ECMAScript 5(ES5)中bind方法简介备忘
一直以来对和this有关的东西模糊不清,譬如call.apply等等.这次看到一个和bind有关的笔试题,故记此文以备忘. bind和call以及apply一样,都是可以改变上下文的this指向的.不 ...
- MFC通过txt查找文件并进行复制-备忘
MFC基于对话框的Demo txt中每行一个23位的卡号. 文件夹中包含以卡号命名的图像文件.(fpt或者bmp文件) 要求遍历文件夹,找到txt中卡号所对应的图像文件,并复制出来. VC6.0写的. ...
- php 相关模块备忘
在安装php的时候,不管是编译安装: ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
随机推荐
- PO-BO-VO-DTO-POJO-DAO
POJO,BO,VO的关系: 简单理解:http://www.blogjava.net/vip01/archive/2007/01/08/92430.html 全面:https://www.cnblo ...
- ubuntu 更换系统源和pip源
1 . 备份 cd /etc/apt sudo cp sources-list sources-list.bak 2 . 编辑 这里用了阿里云的源 sudo vi sources-list 将文件内容 ...
- Android 横向列表GridView 实现横向滚动
Android 横向列表实现,可左右滑动,如下图 1.主界面布局代码:activity_main.xml a.包裹HorizontalScrollView控件是GirdView横向滚动的基本条件b.G ...
- bzoj 1305: [CQOI2009]dance跳舞
题目链接 bzoj 1305: [CQOI2009]dance跳舞 题解 男,女生拆点A1A2,B1B2,拆成两点间分别连容量为K的边,限制与不喜欢的人跳舞的数量 A1连接源点容量为x,B1连接汇点容 ...
- UVA 11134 Fabled Rooks 贪心
题目链接:UVA - 11134 题意描述:在一个n*n(1<=n<=5000)的棋盘上放置n个车,每个车都只能在给定的一个矩形里放置,使其n个车两两不在同一行和同一列,判断并给出解决方案 ...
- apache mod_speling.so 忽略URL大小写(自动纠错)
apache mod_speling.so 忽略URL大小写(自动纠错) 打开配置文件 httpd.conf 加入 LoadModule speling_module modules/mod_spe ...
- ESB 12种跑法
ESB 12种跑法 请求响应: MQ-MQ MQ-Webservice Webservice-MQ Webservice-Webservi ...
- 控制流程完整性:给大家介绍一种“另类”的Javascript反分析技术
写在前面的话 理解恶意软件的真实代码对恶意软件分析人员来说是非常有优势的,因为这样才能够真正了解恶意软件所要做的事情.但不幸的是,我们并不总是能够得到“真实”的代码,有时恶意软件分析人员可能需要类似反 ...
- awk使用记录
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- .Net程序测试阿里云OSS开放存储服务
阿里云官网有提供OSS相关的操作API文档和.Net程序的 SDK,也可以在这里下载OSS相关文件 但是API文档里面的都是通过http请求和响应的消息来描述如何操作OSS的 而一般在程序中需要的是O ...