1



🌑 🌓 🌕 🌗 🌑
近期の观影

现在IDEA编译成功topo后,使用WinSCP将打包好的包传到主节点
注意:打包之前–要讲 [ 本地模式 ] 改为 [ 集群模式 ]

1
2
3
4
5
6
7
8
//本地测试模式           
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("firstTopo", conf, builder.createTopology());
Utils.sleep(100000);
cluster.killTopology("firstTopo");
cluster.shutdown();
//集群提交模式
StormSubmitter.submitTopology("firstTopo", conf, builder.createTopology());

Kafka的应用场景

1 消息队列

比起大多数的消息系统来说,Kafka有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解决方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ。

基本调试过程

现在IDEA编译成功topo后,使用WinSCP将打包好的包传到主节点

注意:打包之前–要讲 [ 本地模式 ] 改为 [ 集群模式 ]

1
2
3
4
5
6
7
8
//本地测试模式           
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("firstTopo", conf, builder.createTopology());
Utils.sleep(100000);
cluster.killTopology("firstTopo");
cluster.shutdown();
//集群提交模式
StormSubmitter.submitTopology("firstTopo", conf, builder.createTopology());

在IDEA的maven项目中编写Topology出错:
NoClassFound找不到主类:解决–
在pom.xml中,找到中的storm,添加<>compi<>

1
2
3
4
5
6
7
8
kafka中的topic不新建也可以使用
如果不执行 ./kafka-topics.sh --create --zookeeper hadoop01:2181 --replication-factor 1 --partitions 1 --topic test
直接执行下述两条命令:
kafka生产者客户端命令
./kafka-console-producer.sh --broker-list hadoop01:9092 --topic test
kafka消费者客户端命令
./kafka-console-consumer.sh -zookeeper hadoop01:2181 --from-beginning --topic test
也可以起到新建topic的目的

原理

如何仔细阅读过关于Flume、Kafka、Storm的介绍,就会知道,在他们各自之间对外交互发送消息的原理。
在后面的例子中,主要对Flume的sink进行重构,调用kafka的消费生产者(producer)发送消息;在Storm的spout中继承IRichSpout接口,调用kafka的消息消费者(Consumer)来接收消息,然后经过几个自定义的Bolt,将自定义的内容进行输出。





全站共计 313.7k 字,自豪地使用 Volantis 主题

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议