1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Flink 參數(shù)配置和常見(jiàn)參數(shù)調(diào)優(yōu)

        共 3162字,需瀏覽 7分鐘

         ·

        2020-08-07 15:48

        點(diǎn)擊上方藍(lán)色字體,選擇“設(shè)為星標(biāo)

        回復(fù)”資源“獲取更多資源

        大數(shù)據(jù)技術(shù)與架構(gòu)
        點(diǎn)擊右側(cè)關(guān)注,大數(shù)據(jù)開(kāi)發(fā)領(lǐng)域最強(qiáng)公眾號(hào)!

        暴走大數(shù)據(jù)
        點(diǎn)擊右側(cè)關(guān)注,暴走大數(shù)據(jù)!

        Flink參數(shù)配置

        • jobmanger.rpc.address jm的地址。

        • jobmanager.rpc.port jm的端口號(hào)。

        • jobmanager.heap.mb jm的堆內(nèi)存大小。不建議配的太大,1-2G足夠。

        • taskmanager.heap.mb tm的堆內(nèi)存大小。大小視任務(wù)量而定。需要存儲(chǔ)任務(wù)的中間值,網(wǎng)絡(luò)緩存,用戶(hù)數(shù)據(jù)等。

        • taskmanager.numberOfTaskSlots slot數(shù)量。在yarn模式使用的時(shí)候會(huì)受到yarn.scheduler.maximum-allocation-vcores值的影響。此處指定的slot數(shù)量如果超過(guò)yarn的maximum-allocation-vcores,flink啟動(dòng)會(huì)報(bào)錯(cuò)。在yarn模式,flink啟動(dòng)的task manager個(gè)數(shù)可以參照如下計(jì)算公式:

        num_of_tm = ceil(parallelism / slot) ?即并行度除以slot個(gè)數(shù),結(jié)果向上取整。

        • parallelsm.default 任務(wù)默認(rèn)并行度,如果任務(wù)未指定并行度,將采用此設(shè)置。

        • web.port Flink web ui的端口號(hào)。

        • jobmanager.archive.fs.dir 將已完成的任務(wù)歸檔存儲(chǔ)的目錄。

        • history.web.port 基于web的history server的端口號(hào)。

        • historyserver.archive.fs.dir history server的歸檔目錄。該配置必須包含jobmanager.archive.fs.dir配置的目錄,以便history server能夠讀取到已完成的任務(wù)信息。

        • historyserver.archive.fs.refresh-interval 刷新存檔作業(yè)目錄時(shí)間間隔

        • state.backend 存儲(chǔ)和檢查點(diǎn)的后臺(tái)存儲(chǔ)??蛇x值為rocksdb filesystem hdfs。

        • state.backend.fs.checkpointdir 檢查點(diǎn)數(shù)據(jù)文件和元數(shù)據(jù)的默認(rèn)目錄。

        • state.checkpoints.dir 保存檢查點(diǎn)目錄。

        • state.savepoints.dir save point的目錄。

        • state.checkpoints.num-retained 保留最近檢查點(diǎn)的數(shù)量。

        • state.backend.incremental 增量存儲(chǔ)。

        • akka.ask.timeout Job Manager和Task Manager通信連接的超時(shí)時(shí)間。如果網(wǎng)絡(luò)擁擠經(jīng)常出現(xiàn)超時(shí)錯(cuò)誤,可以增大該配置值。

        • akka.watch.heartbeat.interval 心跳發(fā)送間隔,用來(lái)檢測(cè)task manager的狀態(tài)。

        • akka.watch.heartbeat.pause 如果超過(guò)該時(shí)間仍未收到task manager的心跳,該task manager 會(huì)被認(rèn)為已掛掉。

        • taskmanager.network.memory.max 網(wǎng)絡(luò)緩沖區(qū)最大內(nèi)存大小。

        • taskmanager.network.memory.min 網(wǎng)絡(luò)緩沖區(qū)最小內(nèi)存大小。

        • taskmanager.network.memory.fraction 網(wǎng)絡(luò)緩沖區(qū)使用的內(nèi)存占據(jù)總JVM內(nèi)存的比例。如果配置了taskmanager.network.memory.maxtaskmanager.network.memory.min,本配置項(xiàng)會(huì)被覆蓋。

        • fs.hdfs.hadoopconf hadoop配置文件路徑(已被廢棄,建議使用HADOOP_CONF_DIR環(huán)境變量

        • yarn.application-attempts job失敗嘗試次數(shù),主要是指job manager的重啟嘗試次數(shù)。該值不應(yīng)該超過(guò)yarn-site.xml中的yarn.resourcemanager.am.max-attemps的值。

        Flink HA(Job Manager)的配置

        • high-availability: zookeeper 使用zookeeper負(fù)責(zé)HA實(shí)現(xiàn)

        • high-availability.zookeeper.path.root: /flink flink信息在zookeeper存儲(chǔ)節(jié)點(diǎn)的名稱(chēng)

        • high-availability.zookeeper.quorum: zk1,zk2,zk3 zookeeper集群節(jié)點(diǎn)的地址和端口

        • high-availability.storageDir:?hdfs://nameservice/flink/ha/?job manager元數(shù)據(jù)在文件系統(tǒng)儲(chǔ)存的位置,zookeeper僅保存了指向該目錄的指針。

        Flink metrics 監(jiān)控相關(guān)配置

        • metrics.reporters: prom

        • metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter

        • metrics.reporter.prom.port: 9250-9260

        Kafka相關(guān)調(diào)優(yōu)配置

        • linger.ms/batch.size 這兩個(gè)配置項(xiàng)配合使用,可以在吞吐量和延遲中得到最佳的平衡點(diǎn)。batch.size是kafka producer發(fā)送數(shù)據(jù)的批量大小,當(dāng)數(shù)據(jù)量達(dá)到batch size的時(shí)候,會(huì)將這批數(shù)據(jù)發(fā)送出去,避免了數(shù)據(jù)一條一條的發(fā)送,頻繁建立和斷開(kāi)網(wǎng)絡(luò)連接。但是如果數(shù)據(jù)量比較小,導(dǎo)致遲遲不能達(dá)到batch.size,為了保證延遲不會(huì)過(guò)大,kafka不能無(wú)限等待數(shù)據(jù)量達(dá)到batch.size的時(shí)候才發(fā)送。為了解決這個(gè)問(wèn)題,引入了linger.ms配置項(xiàng)。當(dāng)數(shù)據(jù)在緩存中的時(shí)間超過(guò)linger.ms時(shí),無(wú)論緩存中數(shù)據(jù)是否達(dá)到批量大小,都會(huì)被強(qiáng)制發(fā)送出去。

        ack 數(shù)據(jù)源是否需要kafka得到確認(rèn)。all表示需要收到所有ISR節(jié)點(diǎn)的確認(rèn)信息,1表示只需要收到kafka leader的確認(rèn)信息,0表示不需要任何確認(rèn)信息。該配置項(xiàng)需要對(duì)數(shù)據(jù)精準(zhǔn)性和延遲吞吐量做出權(quán)衡。

        Kafka topic分區(qū)數(shù)和Flink并行度的關(guān)系

        • Flink kafka source的并行度需要和kafka topic的分區(qū)數(shù)一致。最大化利用kafka多分區(qū)topic的并行讀取能力。

        Yarn相關(guān)調(diào)優(yōu)配置

        • yarn.scheduler.maximum-allocation-vcores

        • yarn.scheduler.minimum-allocation-vcores

        Flink單個(gè)task manager的slot數(shù)量必須介于這兩個(gè)值之間

        • yarn.scheduler.maximum-allocation-mb

        • yarn.scheduler.minimum-allocation-mb

        Flink的job manager 和task manager內(nèi)存不得超過(guò)container最大分配內(nèi)存大小。

        yarn.nodemanager.resource.cpu-vcores yarn的虛擬CPU內(nèi)核數(shù),建議設(shè)置為物理CPU核心數(shù)的2-3倍,如果設(shè)置過(guò)少,會(huì)導(dǎo)致CPU資源無(wú)法被充分利用,跑任務(wù)的時(shí)候CPU占用率不高。

        歡迎點(diǎn)贊+收藏+轉(zhuǎn)發(fā)朋友圈素質(zhì)三連



        文章不錯(cuò)?點(diǎn)個(gè)【在看】吧!??

        瀏覽 37
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本丝袜脚交视频 | 成人免费A片视频观看 | 免费A视频 | 久久99精品久久久久久水蜜桃 | 欧美国产三级 | 日本黄色一区二区三区 | 末成年女A片一区二区 | 操大鸡巴| 又长又粗又爽视频 | 国精产品一区一区三区有限公司杨 |