ファイルから読み取り、新しいファイルに書き込むトポロジを作成しました。私のプログラムはローカル クラスターで正しく実行されていますが、リモート クラスターでの送信中にエラーは発生しませんが、ファイルが作成されません。以下は、リモートクラスターでトポロジーを送信するための私のコードです:-
public static void main(String[] args) {
final Logger logger = LoggingService.getLogger(FileToFileTopology.class.getName());
try{
Properties prop =new Properties();
prop.load(new FileInputStream(args[0]+"/connection.properties"));
LoggingService.generateAppender("storm_etl",prop, "");
logger.info("inside main method...." +args.length);
System.out.println("inside main sys out");
Config conf= new Config();
conf.setDebug(false);
conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING,1);
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("file-reader",new FileReaderSpout(args[1]));
builder.setBolt("file-writer",new WriteToFileBolt(args[1]),2).shuffleGrouping("file-reader");
logger.info("submitting topology");
StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
}
catch(Exception e){
System.out.println("inside catch");
logger.info("inside catch"+e.getMessage());
logger.error("inside error", e);
e.printStackTrace();
}
}
また、log4j を使用してトポロジ用の独自のログ ファイルを作成しました。ログ ファイルは作成されますが、ログ ファイルにエラーはありません。助けてください