zoukankan      html  css  js  c++  java
  • Storm的tuple处理的事务机制 kafka常用操作命令

    1. flume的作用是什么?列出常见的flume的操作

      flume由agent的source、channel、sink构成,其中source用来采集不同协议的数据,然后将数据存储与channerl中,再通过sink将采集的信息源(来自服务器,页面等),然后将数据进行投递,比如hdfs文件系统,或者将采集的数据输送到kafka的消息队列,进行消息收集汇总,以及转发的工作。
    2. kafka的常用操作

      创建topic:
      <br/bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --create --replication-factor 2 --partitions 3 --topic test
      查看topic列表:
      bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --list
      ​
      查看topic描述:
      bin/kafka-topics.sh --zookeeper node06:2181,node07:2181,node08:2181 --describe --topic test创建生产者:
      <br/
      bin/kafka-console-producer.sh --broker-list node06:9092,node07:9092,node08:9092 --topic test
      创建消费者:
      bin/kafka-console-consumer.sh --zookeeper node06:2181,node07:2181,node08:2181 --from-beginning --topic test
    3. storm事务总结?


      三种事务:
      1、普通事务
      2、Partitioned Transaction - 分区事务
      3、Opaque Transaction - 不透明分区事务
    4. storm保证消息仅被处理一次的机制?

      storm运行过程中,每个传递的tuple都会关联一个transaction id,Transaction id从1开始,每个tuple会按照顺序+1。在处理tuple时,处理成功的tuple结果以及transaction id同时写入数据库中进行存储.由此tuple传入至数据库时会出现两种情况:
      1、当前transaction id与数据库中的transaction id不一致,storm再次发送对应的tuple进行计算,然后计算再往数据库存入.
      2、两个transaction id相同,则说明tuple已经被成功处理,无法继续往数据库写入.
      缺点:
      一次只能处理一个tuple,无法实现分布式计算

  • 相关阅读:
    几种开源工作流引擎的简单比较(转)
    ExecuteScalar
    机房重构---我们“重构”出了什么?
    薏米红豆粥功效及做法介绍
    Mean Shift具体介绍
    linux fork函数浅析
    html的下拉框的几个基本使用方法
    Readprocessmemory使用方法
    配置Log4j(非常具体)
    【Linux】linux经常使用基本命令
  • 原文地址:https://www.cnblogs.com/eric666666/p/11100764.html
Copyright © 2011-2022 走看看