Flink基礎簡介和安裝部署

文章目錄

    • 一、Flink基礎簡介
      • 1、什么是Flink
      • 2、Flink流處理特性
      • 3、Flink四大基石
      • 4、Flink中的角色
    • 二、Flink集群搭建
      • 1、Local模式
        • ①上傳Flink安裝包
        • ②啟動交互窗口
        • ③提交任務測試
        • ④訪問WebUI頁面查看
        • ④退出停止集群

一、Flink基礎簡介

1、什么是Flink

Flink是?個分布式,高性能,隨時可?的以及準確的流處理計算框架,Flink可以對無界數據(流處理)和有界數據(批處理)進?有狀態計算的分布式,?性能的計算框架。

?界數據流:數據流是有?個開始但是沒有結束;
有界數據流:數據流是有?個明確的開始和結束,數據流是有邊界的。

2、Flink流處理特性

1.支持高吞吐、低延遲、高性能的流處理
2.支持帶有事件時間的窗口(Window)操作
3.支持有狀態計算的 Exactly-once 語義
4.支持高度靈活的窗口(Window)操作,支持基于 time、count、session,以及 data-driven 的窗口操作
5.支持具有 Backpressure(背壓) 功能的持續流模型
6.支持基于輕量級分布式快照(Snapshot)實現的容錯
7.一個運行時同時支持 Batch on Streaming 處理和 Streaming 處理
8.Flink 在 JVM 內部實現了自己的內存管理
9.支持迭代計算; 
10.程序自動優化:避免特定情況下 Shuffle、排序等昂貴操作,中間結果有必要進行緩存

3、Flink四大基石

checkpoint,state,time,window

checkpoint:
基于chandy-lamport算法實現分布式計算任務的?致性語義;state:
flink中的狀態機制,flink 天生支持state,state可以認為程序的中間計算結果或者是歷史計算結果;time:
flink中?持基于事件時間和處理時間進?計算,spark streaming只能按照process time進?處理;基于事件時間的計算我們可以解決數據延遲和亂序等問題。window:
flink提供了更多豐富的window,基于時間,基于數量,session window,同樣?持滾動和滑動窗
?的計算。

4、Flink中的角色

JobManager: 負責資源申請,任務分發,任務調度執行,checkpoint的協調執行;
TaskManager: 負責任務的執行,基于Dataflow(Spark中DAG)劃分出的Task;與JobManager保持?跳,匯報任務狀態。

二、Flink集群搭建

Local: 單機模式,自測學習使用
Standalone:Flink?帶集群,資源管理由Flink集群管理
Flink on Yarn: 把資源管理交給yarn實現。

1、Local模式

①上傳Flink安裝包

準備服務器, 上傳安裝包 flink-1.7.2-bin-hadoop27-scala_2.11.tgz 然后解壓到指定目錄,注意修改所屬用戶和用戶組

注意: 服務器需要配置JDK8的環境tar -zxvf flink-1.7.2-bin-hadoop27-scala_2.11.tgz
mv flink-1.7.2 flink
chown -R root:root flink

如下圖所示:
在這里插入圖片描述

②啟動交互窗口

進入Flink的bin目錄下啟動shell交互式窗口

cd /develop/flink
bin/start-scala-shell.sh local

如下圖所示
在這里插入圖片描述

③提交任務測試

注意: 提前創建一個測試文件/root/words.txt,隨便寫入一些文本作為測試文件

benv.readTextFile("/root/words.txt").flatMap(_.split("")).map((_,1)).groupBy(0).sum(1).print()

在這里插入圖片描述

④訪問WebUI頁面查看
http://192.168.88.88:8081

在這里插入圖片描述

④退出停止集群
bin/stop-cluster.sh

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898803.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898803.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898803.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【2025】基于ssm+jsp的二手商城系統設計與實現(源碼、萬字文檔、圖文修改、調試答疑)

基于SSMJSP的二手商城系統設計與實現系統功能結構圖: 課題背景 隨著經濟的發展和人們生活水平的提高,二手交易市場日益活躍。人們對于閑置物品的處理方式逐漸從傳統的廢品回收轉變為通過二手交易平臺進行再利用。這種交易模式不僅能夠幫助用戶節省開支&a…

幻影星空亮相CAAPA北京展 引領文旅產業升級轉型

3月19日,中國游藝機游樂園協會(CAAPA)主辦的2025中國(北京)國際游樂設施設備博覽會及2025北京國際旅游休閑娛樂產業博覽會在北京盛大啟幕。在這場行業盛會上,廣州卓遠旗下的“幻影星空”品牌以創新性的虛擬…

銀河麒麟桌面版包管理器(二)

以下內容摘自《銀河麒麟操作系統進階應用》一書 APT包管理器 APT是Debian及其派生系統的包管理器,構建在dpkg之上,以其強大的依賴性處理能力和豐富的軟件倉庫而聞名。APT具有自動解決依賴關系、提供易于使用的命令行工具(如apt-get、apt-ca…

【STM32實物】基于STM32的掃地機器人/小車控制系統設計

基于STM32的掃地機器人/小車控制系統設計 演示視頻: 基于STM32的掃地機器人小車控制系統設計 簡介:掃地機器人系統采用分層結構設計,主要包括底層硬件控制層、中間數據處理層和上層用戶交互層。底層硬件控制層負責對各個硬件模塊進行控制和數據采集,中間數據處理層負責對采…

STM32收發數據包中間件——ProtoFlow,更方便的打包解包助手

引言 在嵌入式開發中,數據包封裝是不可或缺的一環。手動編寫協議不僅耗時,還容易出錯。ProtoFlow 的出現,就是為了讓數據包封裝變得簡單、高效、可靠。它不僅占用資源少,還能適配多種場景,是你項目的理想助手。 項目地…

Xcode16.1使用MonkeyDev運行Tiktok報錯分析

問題1: Build input files cannot be found: /usr/lib/libc.dylib, /usr/lib/libstdc.dylib. Did you forget to declare these files as outputs of any script phases or custom build rules which produce them? 解決辦法:在TARGETS的dylib中的Bui…

R語言交互項-formula

R語言交互項-formula 交互項的模型交互項的幾種情形連續變量和連續變量連續變量和分類變量分類變量和分類變量總結交互項的模型 統計中的交互和相關是完全不同的兩個概念,交互項是指兩個或者多個變量對因變量的協同效應,關注變量對因變量的聯合影響,比如變量X對Y的影響是否因…

圖解AUTOSAR_SWS_IPDUMultiplexer

AUTOSAR IPDUMultiplexer模塊詳解 PDU復用器模塊架構與實現分析 目錄 1. IPDU Multiplexer概述2. 模塊配置模型 2.1 配置結構概述2.2 配置類詳解2.3 配置關系說明3. 架構設計 3.1 模塊位置與接口3.2 內部組件結構3.3 接口交互模式4. 操作序列 4.1 PDU傳輸流程4.2 PDU傳輸流程詳…

手機怎么換網絡IP有什么用?操作指南與場景應用?

在數字化時代,手機已經成為我們日常生活中不可或缺的一部分,無論是工作、學習還是娛樂,手機都扮演著至關重要的角色。而在手機的使用過程中,網絡IP地址作為設備在互聯網上的唯一標識符,其重要性和作用不容忽視。本文將…

CH32V208GBU6沁恒協議棧BUG:在主機Write的同一包notify會造成主機一直Write不成功

從事嵌入式單片機的工作算是符合我個人興趣愛好的,當面對一個新的芯片我即想把芯片盡快搞懂完成項目賺錢,也想著能夠把自己遇到的坑和注意事項記錄下來,即方便自己后面查閱也可以分享給大家,這是一種沖動,但是這個或許并不是原廠希望的,盡管這樣有可能會犧牲一些時間也有哪天原…

unsloth微調QwQ32B(4bit)

unsloth微調QwQ32B(4bit) GPU: 3090 24G unsloth安裝部署 pip 安裝 pip install unsloth --index https://pypi.mirrors.usrc.edu.cn/simplesource /etc/network_turbopip install --force-reinstall --no-cache-dir --no-deps githttps://github.com/unslothai/unsloth.git?…

JavaScript案例0322

以下是一些涵蓋不同高級JavaScript概念和應用的案例,每個案例都有詳細解釋: 案例1:實現 Promise/A 規范的手寫 Promise class MyPromise {constructor(executor) {this.state pending;this.value undefined;this.reason undefined;this.o…

Dify 0.15.3 輸入變量無法被重新賦值問題-解決方法

目錄 一、問題描述 二、解決方法 2.1 原因 2.2 修改源碼 2.3 重新打包 dify-api 鏡像 2.4 修改 docker-compose.yaml 文件 2.5 重啟啟動鏡像 一、問題描述 Dify 0.15.3 是一個比較穩定的版本,Dify 1.0 是一個大版本更新,目前還有很多 Bug。但是&a…

SQL Server查詢計劃操作符(7.3)——查詢計劃相關操作符(11)

7.3. 查詢計劃相關操作符 98)Table Scan:該操作符從查詢計劃參數列確定的表中獲取所有數據行。如果其參數列中出現WHERE:()謂詞,則只返回滿足該謂詞的數據行。該操作符為邏輯操作符和物理操作符。該操作符具體如圖7.3-98節點1所示。 圖 7.3-…

數據庫練習2

目錄 1.向heros表中新增一列信息,添加一些約束,并嘗試查詢一些信息 2.課堂代碼練習 插入語句 INSERT INTO 刪除語句DELETE和TRUNCATE 更新語句UPDATE和replace 查詢語句SELECT 條件查詢 select語句中的特殊情況 ???查詢排序 order by 分組查詢…

Java架構師成長之路

概述 本教程主要從6個方面,全面講解Java技術棧的知識。 1.性能調優 深入理解MySQL底層原理、索引邏輯,數據結構與算法。使用Explain進行優化分析MVCC原理剖析日志機制解析 2.框架源碼 掌握Spring底層原理帶你手寫一個Spring解析IOC、AOP源碼、以及事…

資金管理策略思路

詳細描述了完整交易策略的實現細節,主要包括輸入參數、變量定義、趨勢判斷、入場與出場條件、止損與止盈設置等多個方面。 輸入參數(Input): EntryFrL (.6):多頭入場的前一日波動范圍的倍數。 EntryFrS (.3)&#xff1…

k8s--集群內的pod調用集群外的服務

關于如何讓同一個局域網內的Kubernetes服務的Pod訪問同一局域網中的電腦上的服務。 可能的解決方案包括使用ClusterIP、NodePort、Headless Service、HostNetwork、ExternalIPs,或者直接使用Pod網絡。每種方法都有不同的適用場景,需要逐一分析。 例如&…

數據模型,數據建模,組件,核心價值,使用,意義

數據模型 一組由符號,文本組成的集合, 用以準確表達信息景觀, 達到有效交流,溝通的目的 數據建模 是發現,分析和確定數據需求的過程,是一種稱為數據模型的精確形式表示和傳遞這些需求 數據模型的組件 實體, 關系, 屬性和域 數據模型的核心價值 交流性 精確性 數據模型的…

【QA】外觀模式在Qt中有哪些應用?

1. QWidget及其布局管理系統 外觀模式體現 QWidget 是Qt中所有用戶界面對象的基類,而布局管理系統(如 QVBoxLayout、QHBoxLayout、QGridLayout 等)就像是一個外觀類。客戶端代碼(開發者編寫的界面代碼)通常不需要直接…