2017-04-19 2 views
0

이것은 실행을 시도한 기본 단어 수입니다. 하지만 '정보 org.apache.storm.zookeeper.server.SessionTrackerImpl - SessionTrackerImpl 루프를 종료했습니다!'라는 오류가 나타납니다. '. 아무도이 날 도와 드릴까요 ??Apache 폭풍에 단어 수 토폴로지를 제출하는 중 오류가 발생했습니다.

cluster.shutdown()을 제거하면 cntrl + c를 누를 때까지 트윗이 연속적으로 표시됩니다. 다시 ##

 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(); 
} 
} 

답변

0

십초 (10000 밀리 초) 표시되지 단어 수 아마도 확립하기 트위터 연결 및 트윗이 토폴로지에 와서 할 시간이 충분하지 않습니다. 절전 호출을 더 긴 것으로 설정해야합니다 (최소 몇 개의 미뉴에트).

작업 카운트를 표시하는 것과 같이 HashTagCounter 볼트가 카운트를 크게 출력합니까? 그렇다면 스톰의 로그 메시지에서 인쇄물이 손실 될 수 있습니다. 스톰을 실행중인 콘솔과 다른 별도의 위치 (메시지 브로커, 로컬 소켓 수신자 등)로 메시지를 내보내도록 HashTagCounter를 다시 작성하거나 로그 메시지를 줄이고 카운트를 볼 기회를주기 위해 config.setDebud(false)을 설정해보십시오.