溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Storm的2種運行模式

發布時間:2020-05-30 07:48:24 來源:網絡 閱讀:2677 作者:noteblo 欄目:大數據

本地模式運行
    本地模式類似storm集群是一個進程,用來編寫和測試topology。在本地模式上運行topology類似在一個集群上運行topology。創建一個本地集群:
    import backtype.storm.LocalCluster;
    LocalCluster cluster = new LocalCluster();
提交集群使用submitTopology,
殺死集群使用killTopology
關閉一個本地集群使用cluster.shutdown();
    本地模式下的公共配置:
    Config.TOPOLOGY_MAX_TASK_PARALLELISM
    Config.TOPOLOGY_DEBUG:



生產集群運行

一、步驟
1、定義topology,若用java語言,使用TopologyBuilder來定義
2、使用StormSubmitter來提交topology到集群中,所需參數需要topology名字,topology的參數配置,topology本身
例:
Config conf = new Config();
conf.setNumWorkers(20);
conf.setMaxSpoutPending(5000);
StormSubmitter.submitTopology("mytopology", conf, topology);
3、創建jar包使用storm 客戶端命令,jar包包含你的所有的代碼
4、提交topology,為jar包指定參數
storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3
實例:


1 public static void main(String[] args) throws Exception {

2 TopologyBuilder builder = new TopologyBuilder();

3 builder.setSpout("random", new RandomWordSpout(), 2);

4 builder.setBolt("transfer", new TransferBolt(), 4).shuffleGrouping("random");

5 builder.setBolt("writer", new WriterBolt(), 4).fieldsGrouping("transfer", new Fields("word"));

6 Config conf = new Config();

7 conf.setNumWorkers(4);// 設置啟動4個Worker

8 conf.setNumAckers(1); // 設置一個ack線程

9 conf.setDebug(true); // 設置打印所有發送的消息及系統消息

10 StormSubmitter.submitTopology("test", conf, builder.createTopology());

11 }



二、公共配置
Config.TOPOLOGY_WORKERS :設置執行topology的worker的數量
Config.TOPOLOGY_ACKER_EXECUTORS:
Config.TOPOLOGY_MAX_SPOUT_PENDING
Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS:默認是30s
Config.TOPOLOGY_SERIALIZATIONS


三、殺死topology
storm kill stormname


四、更新一個正在運行的topology
 殺死一個正在運行的topology,提交一個新的topology,計劃使用storm swap命令


五、監控topology使用Storm UI或者集群上的工作日志

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女