官网 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备忘的更多相关文章

  1. kafka 备忘

    创建topic/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --partitions 3 --rep ...

  2. GIS部分理论知识备忘随笔

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.高斯克吕格投影带换算 某坐标的经度为112度,其投影的6度带和3度带 ...

  3. python序列,字典备忘

    初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...

  4. Vi命令备忘

    备忘 Ctrl+u:向文件首翻半屏: Ctrl+d:向文件尾翻半屏: Ctrl+f:向文件尾翻一屏: Ctrl+b:向文件首翻一屏: Esc:从编辑模式切换到命令模式: ZZ:命令模式下保存当前文件所 ...

  5. ExtJs4常用配置方法备忘

    viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { b ...

  6. [备忘] Automatically reset Windows Update components

    这两天遇到Windows 10的更新问题,官方有一个小工具,可以用来修复Windows Update的问题,备忘如下 https://support.microsoft.com/en-us/kb/97 ...

  7. ECMAScript 5(ES5)中bind方法简介备忘

    一直以来对和this有关的东西模糊不清,譬如call.apply等等.这次看到一个和bind有关的笔试题,故记此文以备忘. bind和call以及apply一样,都是可以改变上下文的this指向的.不 ...

  8. MFC通过txt查找文件并进行复制-备忘

    MFC基于对话框的Demo txt中每行一个23位的卡号. 文件夹中包含以卡号命名的图像文件.(fpt或者bmp文件) 要求遍历文件夹,找到txt中卡号所对应的图像文件,并复制出来. VC6.0写的. ...

  9. php 相关模块备忘

    在安装php的时候,不管是编译安装: ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

随机推荐

  1. 简述web工程师的职责与学习

    最近两年web突然很火,也有很多人涌入这一行,但这行实际上是进来的人很多,出去的人也很多. 在我眼里,Web前端开发工程师的职责有:1.Web前端表现层及与前后端交互的架构设计和开发2.配合后台开发人 ...

  2. Fiddler抓包6-get请求(url详解)【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/fiddler/ 前言 上一篇介绍了Composer的功能,可以模拟get和post请求 ...

  3. python接口自动化6-重定向(Location)【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...

  4. asp.net生成word文档服务器配置

    一.asp.net生成word文档,布署到正式的服务器上就出现           错误:System.Runtime.InteropServices.COMException (0x800A1098 ...

  5. sql:将秒转化成时分秒格式

    DECLARE @a int=20000 SELECT CONVERT(VARCHAR(10),@a/60)+'分'+CONVERT(VARCHAR(10),@a%60)+'秒' --333分20秒 ...

  6. 想转行做web前端工程师,必学这6大技能

    web前端工程师是近几年才发展出来的新兴职业,也是目前火爆且高薪的职业.大需求的市场环境下,出现了越来越多的人群转行做web前端工程师,如设计师.后台程序员.网虫.大学其他专业.策划.编辑等等. 要学 ...

  7. HDU 5649.DZY Loves Sorting-线段树+二分-当前第k个位置的数

    DZY Loves Sorting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Oth ...

  8. HDU 4920.Matrix multiplication-矩阵乘法

    Matrix multiplication Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/ ...

  9. CF985B Switches and Lamps【矩阵操作/枚举】

    [链接]CF985B [题意]:给n盏灯,m个开关,每次按开关只能将灯从灯灭的状态转变为灯亮,问是否存在不按所有开关就将所有灯打开的方法. [分析]:有两种办法,一种代码复杂点,容易想到枚举去掉每一行 ...

  10. [Contest20180418]数学竞赛

    题意:初始时$x=0$(长度),当$x$为长度时,你可以把$x$变成$\sin^{-1}x,\cos^{-1}x,\tan^{-1}x$之一($x$变为角度),若$x$为角度,你可以把$x$变成$\s ...