Kafka初识
来源:互联网 发布:瓷砖排版软件下载 编辑:程序博客网 时间:2024/05/22 08:11
问题一
写出增加Kafka的Partition命令
bin/kafka-add-partitions.sh --topic test --partition 2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181
问题二
列出配置Kafka删除日志的配置参数
问题三
Kafka中有一个topic: tfc_pass,实时接收过车记录,字段为:号牌(hphm)、过车时间(gcsj)、速度(sd);inceptor中有一张黑名单的表,包括字段号牌号码(hphm);请编写一个StreamJob,实时将属于黑名单表的过车记录写到结果表result中。
Producer
public classClusterProducer extends Thread { private static final Log log =LogFactory.getLog(ClusterProducer.class); public void sendData() { Random rnd = new Random(); Properties props =PropertiesParser.getProperties(PropertiesSettings.PRODUCER_FILE_NAME); if (props == null) { log.error("can't loadspecified file " + PropertiesSettings.PRODUCER_FILE_NAME); return; } //set the producer configurationproperties ProducerConfig config = newProducerConfig(props); Producer<String, String> producer= new Producer<String, String>(config); //Send the data KeyedMessage<String, String> data; int count = 0; String url = "jdbc:inceptor://127.0.0.1:1433;DatabaseName=tmp"; String username = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select hphm from tfc_pass"); while (rs.next()) { data = new KeyedMessage<String,String>("tfc_pass", count+'', rs.getString("hphm") ); producer.send(data); count++; } stmt.close(); conn.close(); producer.close(); } public void run() { sendData(); } public static void main(String[] args) { new ClusterProducer().sendData(); }}
Consumer
public class Consumerextends Thread { private static final Log log =LogFactory.getLog(Consumer.class); private final ConsumerConnector consumer; private final String topic; public Consumer(String topic) { consumer =kafka.consumer.Consumer.createJavaConsumerConnector( createConsumerConfig()); this.topic = topic; } private static ConsumerConfigcreateConsumerConfig() { Properties props = new Properties(); props.put("zookeeper.connect", KafkaProperties.zkConnect); props.put("group.id",KafkaProperties.groupId); props.put("zookeeper.session.timeout.ms", "400"); props.put("zookeeper.sync.time.ms", "200"); props.put("auto.commit.interval.ms", "1000"); return new ConsumerConfig(props); } public void run() { String url = "jdbc:inceptor://127.0.0.1:1433;DatabaseName=tmp"; String username = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); Map<String, Integer>topicCountMap = new HashMap<String, Integer>(); topicCountMap.put(topic, newInteger(1)); Map<String,List<KafkaStream<byte[], byte[]>>> consumerMap =consumer.createMessageStreams(topicCountMap); KafkaStream<byte[], byte[]>stream = consumerMap.get(topic).get(0); ConsumerIterator<byte[], byte[]>it = stream.iterator(); while (it.hasNext()) { String val = new String(it.next().message()); stmt.executeUpdate("insert into blacklist values('"+val+"')") ; } stmt.close(); conn.close(); } public static void main(String[] args) { Consumer client = new Consumer("cluster_statistics_topic"); client.run(); }}
0 0
- 初识Kafka
- Kafka 初识
- 初识kafka
- 初识kafka
- Kafka初识
- kafka初识
- 初识kafka
- 初识kafka
- Kafka初识
- 初识Kafka
- Kafka学习笔记:初识Kafka
- 初识Kafka(一)
- kafka 的 zookeeper 初识
- Kafka温故而知新之初识
- (一)Kafka中文教程-初识kafka
- Kafka教程(二)---------------Kafka架构初识
- 初识Apache Kafka+JAVA程序实例
- 初识Kafka:构架、生产消费模型以及其他相关概念
- Android 二维码扫描和生成简单实现
- 【操作系统】存储器管理01-思维导图
- Andoid 总线设计 (三)
- OkHttpUtils一个专注于让网络请求更简单的框架
- centos下redis安装
- Kafka初识
- 第六章 事件控制块
- QGIS二次开发包下载
- 第七天:整理S5PV210三种刷机方式 及自身问题总结
- jquery on方法
- HTML——转义字符
- java8之接口的默认静态方法
- 【操作系统】死锁-思维导图
- 三种动画效果(Frame, View, Property)实现