<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 部署應用程序 ## Requirements 運行一個Spark Streaming應用程序,有下面一些步驟 - 有管理器的集群-這是任何Spark應用程序都需要的需求,詳見[部署指南](../../deploying/README.md) - 將應用程序打為jar包-你必須編譯你的應用程序為jar包。如果你用[spark-submit](../../deploying/submitting-applications.md)啟動應用程序,你不需要將Spark和Spark Streaming打包進這個jar包。 如果你的應用程序用到了高級源(如kafka,flume),你需要將它們關聯的外部artifact以及它們的依賴打包進需要部署的應用程序jar包中。例如,一個應用程序用到了`TwitterUtils`,那么就需要將`spark-streaming-twitter_2.10` 以及它的所有依賴打包到應用程序jar中。 - 為executors配置足夠的內存-因為接收的數據必須存儲在內存中,executors必須配置足夠的內存用來保存接收的數據。注意,如果你正在做10分鐘的窗口操作,系統的內存要至少能保存10分鐘的數據。所以,應用程序的內存需求依賴于使用 它的操作。 - 配置checkpointing-如果stream應用程序需要checkpointing,然后一個與Hadoop API兼容的容錯存儲目錄必須配置為檢查點的目錄,流應用程序將checkpoint信息寫入該目錄用于錯誤恢復。 - 配置應用程序driver的自動重啟-為了自動從driver故障中恢復,運行流應用程序的部署設施必須能監控driver進程,如果失敗了能夠重啟它。不同的集群管理器,有不同的工具得到該功能 - Spark Standalone:一個Spark應用程序driver可以提交到Spark獨立集群運行,也就是說driver運行在一個worker節點上。進一步來看,獨立的集群管理器能夠被指示用來監控driver,并且在driver失敗(或者是由于非零的退出代碼如exit(1), 或者由于運行driver的節點的故障)的情況下重啟driver。 - YARN:YARN為自動重啟應用程序提供了類似的機制。 - Mesos: Mesos可以用[Marathon](https://github.com/mesosphere/marathon)提供該功能 - 配置write ahead logs-在Spark 1.2中,為了獲得極強的容錯保證,我們引入了一個新的實驗性的特性-預寫日志(write ahead logs)。如果該特性開啟,從receiver獲取的所有數據會將預寫日志寫入配置的checkpoint目錄。 這可以防止driver故障丟失數據,從而保證零數據丟失。這個功能可以通過設置配置參數`spark.streaming.receiver.writeAheadLogs.enable`為true來開啟。然而,這些較強的語義可能以receiver的接收吞吐量為代價。這可以通過 并行運行多個receiver增加吞吐量來解決。另外,當預寫日志開啟時,Spark中的復制數據的功能推薦不用,因為該日志已經存儲在了一個副本在存儲系統中。可以通過設置輸入DStream的存儲級別為`StorageLevel.MEMORY_AND_DISK_SER`獲得該功能。 ## 升級應用程序代碼 如果運行的Spark Streaming應用程序需要升級,有兩種可能的方法 - 啟動升級的應用程序,使其與未升級的應用程序并行運行。一旦新的程序(與就程序接收相同的數據)已經準備就緒,舊的應用程序就可以關閉。這種方法支持將數據發送到兩個不同的目的地(新程序一個,舊程序一個) - 首先,平滑的關閉(`StreamingContext.stop(...)`或`JavaStreamingContext.stop(...)`)現有的應用程序。在關閉之前,要保證已經接收的數據完全處理完。然后,就可以啟動升級的應用程序,升級 的應用程序會接著舊應用程序的點開始處理。這種方法僅支持具有源端緩存功能的輸入源(如flume,kafka),這是因為當舊的應用程序已經關閉,升級的應用程序還沒有啟動的時候,數據需要被緩存。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看