<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 組件介紹 | 名稱 | 解析 | |---|---| | Event | 一個數據單元,帶有一個可選的消息頭,其實就是一條消息,一個日志(kafka的消息沒有消息頭,因此flume消息進入kafka后,消息頭就丟失了) | | Flow | 數據流,Event從源點到達目的點的遷移的抽象 | | Client | 操作位于源點處的Event,將其發送到Flume Agent | | Agent | 一個獨立的Flume進程,包含組件Source,Channel,Sink | | Source | 用來獲取Event并寫入Channel | | Channel | 中轉Event的一個臨時存儲,保存有Source組件傳遞過來的Event,可以認為是一個隊列 | | Sink | 從Channel中讀取并移除Event,將Event傳遞到Flow Pipeline中的下一個Agent或者其他存儲系統 | # 采集系統組件解析 **source** 1. Avro Source ? ? 偵聽 Avro 端口并從外部 Avro 客戶端流接收事件。當與另一個(上一跳)Flume 代理的內置 Avro Sink 配對時,它可以創建分層收集拓撲。 2. Taildir Source ?? ?在 Flume1.7 之前如果想要監控一個文件新增的內容,我們一般采用的 source 為 exec tail ,但是這會有一個弊端,就是當你的服務器宕機重啟后,此時數據讀取還是從頭開始,這 顯然不是我們想看到的! 在 Flume1.7 沒有出來之前我們一般的解決思路為:當讀取一條 記錄后,就把當前的記錄的行號記錄到一個文件中,宕機重啟時,我們可以先從文件中獲取 到最后一次讀取文件的行數,然后繼續監控讀取下去。保證數據不丟失、不重復。 ?? ?在Flume1.7時新增了一個source 的類型為taildir,它可以監控一個目錄下的多個文件, 并且實現了實時讀取記錄保存的斷點續傳功能。 ?? ?但是 Flume1.7 中如果文件重命名,那么會被當成新文件而被重新采集 **Channel** 1. Memory Channel ?? ?Memory Channel 把 Event 保存在內存隊列中,該隊列能保存的 Event 數量有最大值上限。 由于 Event 數據都保存在內存中,Memory Channel 有最好的性能,不過也有數據可能會丟 失的風險,如果 Flume 崩潰或者重啟,那么保存在 Channel 中的 Event 都會丟失。同時由于 內存容量有限,當 Event 數量達到最大值或者內存達到容量上限,Memory Channel 會有數 據丟失。 2. File Channel File Channel 把 Event 保存在本地硬盤中,比 Memory Channel 提供更好的可靠性和可恢 復性,不過要操作本地文件,性能要差一些。 3. Kafka Channel ?? ?Kafka Channel 把 Event 保存在 Kafka 集群中,能提供比 File Channel 更好的性能和比Memory Channel 更高的可靠性 **Sink** 1. Avro Sink ?? ?Avro Sink 是 Flume 的分層收集機制的重要組成部分。 發送到此接收器的 Flume 事件變 為 Avro 事件,并發送到配置指定的主機名/端口對。事件將從配置的通道中按照批量配置的 批量大小取出。 2.?Kafka Sink ?? ?Kafka Sink 將會使用 FlumeEvent header 中的 topic 和 key 屬性來將 event 發送給 Kafka。 如果 FlumeEvent 的 header 中有 topic 屬性,那么此 event 將會發送到 header 的 topic 屬性指 定的 topic 中。如果 FlumeEvent 的 header 中有 key 屬性,此屬性將會被用來對此 event 中的 數據指定分區,具有相同 key 的 event 將會被劃分到相同的分區中,如果 key 屬性 null,那 么 event 將會被發送到隨機的分區中。 ?? ?可以通過自定義攔截器來設置某個 event 的 header 中的 key 或者 topic 屬性 # source組件 ![](https://box.kancloud.cn/192ccd63b3ef8ba59b152d9d184ccef3_775x532.png) ![](https://box.kancloud.cn/32396056f6b56e2e5a0c1972bb9487ca_773x124.png) # channel組件 ![](https://box.kancloud.cn/f016017c6bf95abb8922c0158062e131_774x424.png) Channel參數 ~~~ capacity:默認該通道中最大的可以存儲的event數量,容量 trasactionCapacity:每次最大可以從source中拿到或者送到sink中的event數量,事務容量 keep-alive:event添加到通道中或者移出的允許時間 ~~~ # sink組件 ![](https://box.kancloud.cn/e4ccfd7b490da9786511bd363da8f68a_772x679.png) Flume支持眾多的source、channel、sink類型,詳細手冊可參考官方文檔 `http://flume.apache.org/FlumeUserGuide.html`
                  <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>

                              哎呀哎呀视频在线观看