2017-04-19 1 views
0

C'est la topologie de base de WordCount que j'ai essayé de lancer. Mais je reçois l'erreur comme 'INFO org.apache.storm.zookeeper.server.SessionTrackerImpl - SessionTrackerImpl a quitté la boucle!'. Est-ce que quelqu'un peut m'aider avec ça?? Lorsque j'ai supprimé cluster.shutdown(), les tweets arrivent continuellement jusqu'à ce que j'appuie sur cntrl + c. Encore une fois wordcount ne montre pasErreur lors de la soumission de la topologie de comptage de mots dans la tempête Apache

##
 import java.util.Arrays; 
    import backtype.storm.Config; 
    import backtype.storm.LocalCluster; 
    import backtype.storm.topology.TopologyBuilder; 
    import backtype.storm.tuple.Fields; 
    public class TwitterHashtagStorm { 

    public static void main(String[] args) throws Exception { 
    String consumerKey = "************"; 
    String consumerSecret = "***************"; 
    String accessToken = "**********"; 
    String accessTokenSecret = "***********"; 
    String[] keyWords = {"apple"}; 
    Config config = new Config(); 
    config.setDebug(true); 
    TopologyBuilder builder = new TopologyBuilder(); 
    builder.setSpout("twitter-spout", new TwitterSampleSpout(consumerKey, 
      consumerSecret, accessToken, accessTokenSecret, keyWords)); 
    builder.setBolt("twitter-hashtag-reader-bolt", new HashtagReaderBolt()) 
      .shuffleGrouping("twitter-spout"); 
    builder.setBolt("twitter-hashtag-counter-bolt", 
      new HashtagCounterBolt()).fieldsGrouping(
      "twitter-hashtag-reader-bolt", new Fields("hashtag")); 
    LocalCluster cluster = new LocalCluster(); 
    cluster.submitTopology("TwitterHashtagStorm", config, 
      builder.createTopology()); 
    Thread.sleep(10000); 
    cluster.shutdown(); 
} 
} 

Répondre

0

10 secondes (10000 ms) est probablement pas assez de temps pour la connexion Twitter pour établir et pour les tweets à venir dans votre topologie. Vous devriez régler l'appel de sommeil sur quelque chose de plus long (plusieurs menuets au minimum).

Pour afficher le nombre de travaux, votre boulon HashTagCounter imprime-t-il les comptages à grossir? Si c'est le cas, l'impression peut être perdue dans les messages de journal de Storm. Essayez de définir config.setDebud(false) (pour réduire les messages de journal et vous donner une chance de voir le compte) ou réécrire HashTagCounter pour émettre les messages à un autre emplacement (un courtier de messages, receveur de socket local etc) séparé de la console que vous utilisez.