測試環境搭建整套大數據系統(七:集群搭建kafka(2.13)+flink(1.13.6)+dinky(0.6)+iceberg)

一:搭建kafka。

1. 三臺機器執行以下命令。

cd /opt
wget wget https://dlcdn.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar zxvf kafka_2.13-3.6.1.tgz
cd kafka_2.13-3.6.1/config
vim server.properties

修改以下倆內容
1.三臺機器分別給予各自的broker_id。
在這里插入圖片描述

2. 配置zk。

在這里插入圖片描述

3. 啟動測試。

3.1 后臺啟動。
第一步:啟動zk。
第二步:執行啟動命令

nohup /opt/kafka_2.13-3.6.1/bin/kafka-server-start.sh /opt/kafka_2.13-3.6.1/config/server.properties > /dev/null 2>&1 &

3.2 測試。
在一臺機器上執行創建topic命令。

/opt/kafka_2.13-3.6.1/bin/kafka-topics.sh --create --topic my-topic-kraft --bootstrap-server localhost:9092

在另外一臺機器上執行查看topic命令。

/opt/kafka_2.13-3.6.1/bin/kafka-topics.sh --list --bootstrap-server localhost:9092

在這里插入圖片描述

二:搭建flink。

1. 三臺機器下載flink。

cd /opt
https://www.apache.org/dyn/closer.lua/flink/flink-1.13.6/flink-1.13.6-bin-scala_2.12.tgz

2.修改配置參數。

  1. 三臺機器都修改 flink-conf.yaml
cd /opt/flink-1.13.6/conf
vim flink-conf.yaml

填寫主節點地址
在這里插入圖片描述

zk地址修改
在這里插入圖片描述

high-availability.storageDir: hdfs://10.15.250.196/flink/ha/
state.checkpoints.dir: hdfs://10.15.250.196/flink-checkpoints
  1. 修改 masters
vim masters

在這里插入圖片描述
3. 修改works

vim works

其他倆臺機器地址填寫到此處。
在這里插入圖片描述
4. 添加jar包到lib目錄下。

3.啟動flink。

cd /opt/flink-1.13.6/bin
./start-cluster.sh

查看頁面,ip位主節點,端口8081

在這里插入圖片描述

三:dinky

1. mysql初始化。

mysql -uroot -p123456
create database dinky;
grant all privileges on dinky.* to 'dinky'@'%' identified by 'dinky' with grant option;
flush privileges;

2:上傳dinky。

上傳安裝包至目錄/opt

tar -zxvf  dlink-release-0.6.6.tar.gz
mv  dlink-release-0.6.6.tar.gz dinky
cd dinky
#首先登錄 mysql
mysql  -udinky -pdinky
mysql>use dinky;
mysql>source /opt/dinky/sql/dlink.sql

3. 配置mysql。

cd config/
vim application.yml
spring:datasource:url: jdbc:mysql://xxxx:3306/dinky?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRet
rieval=true    username: dinkypassword: dinky

4. 添加jar包。

mkdir /opt/dlink/plugins

在這里插入圖片描述

5. 啟動服務。

cd /opt/dinky
sh auto.sh start 1.13
sh auto.sh stop
jps

在這里插入圖片描述
地址:http://192.168.50.60:8888/#/datastudio
賬號:admin
密碼:admin

四:實時計算小案例。

1. flink申請yarn資源。

 /opt/flink-1.13.6/bin/yarn-session.sh -n 4 -tm 1024m -s 2 &

2. kafka生成topic

 /opt/kafka_2.13-3.6.1/bin/kafka-topics.sh --create --topic my-topic-kraft --bootstrap-server localhost:9092

3. dinky編寫sql,造數據實時寫入kafka

set execution.checkpointing.interval = 30s;
set state.checkpoints.dir=hdfs://192.168.50.60:8020/cluster/flink/checkpointes_;
set state.savepoints.dir=hdfs://192.168.50.60:8020/cluster/flink/savepointkes_;CREATE TABLE source_table (age INT, sex STRING, t_insert_time AS localtimestamp,WATERMARK FOR t_insert_time AS t_insert_time ) WITH ('connector' = 'datagen', 'rows-per-second'='5','fields.age.min'='1','fields.age.max'='1000','fields.sex.length'='10');CREATE TABLE KafkaTable (`age` int,`sex` STRING,t_insert_time TIMESTAMP
) WITH ('connector' = 'kafka','topic' = 'my-topic-kraft','properties.bootstrap.servers' = '192.168.50.60:9092',--'properties.group.id' = 'testGroup','scan.startup.mode' = 'earliest-offset','format' = 'json'
);
insert into KafkaTable
select age,sex,t_insert_time from source_table;

4. 抽取kafka中數據,進行累加計算,插入到mysql

set execution.checkpointing.interval = 30s;
SET execution.type = streaming;
set state.checkpoints.dir=hdfs://192.168.50.60:8020/cluster/flink/checkpointes_;
set state.savepoints.dir=hdfs://192.168.50.60:8020/cluster/flink/savepointkes_;CREATE TABLE MyUserTable (window_end_time TIMESTAMP,create_time TIMESTAMP,window_proctime_time TIMESTAMP,age int,count_sum bigint,PRIMARY KEY (age) NOT ENFORCED) WITH ('connector' = 'jdbc','url' = 'jdbc:mysql://192.168.50.60:3306/test','table-name' = 'test_kafka','username' = 'root','password' = '123456','sink.buffer-flush.max-rows' = '1');-- select * from MyUserTable;
CREATE TABLE KafkaTable (`age` int,`sex` STRING,t_insert_time TIMESTAMP,`ts1` as CAST(t_insert_time AS TIMESTAMP_LTZ(3)),WATERMARK FOR ts1 AS ts1 - INTERVAL '5' SECOND   -- 在t_s上定義5 秒延遲的 watermark
) WITH ('connector' = 'kafka','topic' = 'my-topic-kraft','properties.bootstrap.servers' = '192.168.50.60:9092',--'properties.group.id' = 'testGroup','scan.startup.mode' = 'earliest-offset','format' = 'json'
);--insert into MyUserTable
selectwindow_end as window_end_time,window_start as create_time,PROCTIME() as window_proctime_time,age,count(*) as count_sum
FROM TABLE(CUMULATE(TABLE KafkaTable, DESCRIPTOR(ts1), INTERVAL '5' MINUTES, INTERVAL '1' DAY))
group bywindow_end,window_start,age
;

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

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

相關文章

git操作學習記錄,簡單易上手

配置git 的賬戶郵箱 $ git config --global user.name "Firstname Lastname" $ git config --global user.email "your_emailexample.com"代碼回溯 git rest --hard [commit哈希值]git log命令只能查看以當前狀態為終點的歷史日志 git reflog命令&#x…

Python+neo4j構建豆瓣電影知識圖譜

文章目錄 數據來源數據整理導入節點和關系導入使用Subgraph批量導入節點和關系 多標簽實體和實體去重 數據來源 http://www.openkg.cn/dataset/douban-movie-kg 該網址擁有豐富的中文知識圖譜數據集,OpenKG(Open Knowledge Graph),可供研究人員使用研究…

【golang】25、圖片操作

用 “github.com/fogleman/gg” 可以畫線, 框 用 “github.com/disintegration/imaging” 可以變換顏色 一、渲染 1.1 框和字 import "github.com/fogleman/gg"func DrawRectangles(inPath string, cRects []ColorTextRect, fnImgNameChange FnImgNameChange) (st…

Python爬蟲——Urllib庫-3

目錄 ajax的get請求 獲取豆瓣電影第一頁的數據并保存到本地 獲取豆瓣電影前十頁的數據 ajax的post請求 總結 ajax的get請求 獲取豆瓣電影第一頁的數據并保存到本地 首先可以在瀏覽器找到發送數據的接口 那么我們的url就可以在header中找到了 再加上UA這個header 進行請…

Facebook的元宇宙實踐:數字化社交的新前景

近年來,元宇宙(Metaverse)這一概念備受矚目,被認為是數字化社交的未來趨勢之一。而在眾多科技巨頭中,Facebook(現更名為Meta)一直處于元宇宙發展的前沿。在本文中,我們將深入探討Fac…

萬字帶你走過數據庫的這激蕩的三年

本文收集了卡內基梅隆大學計算機科學系數據庫學副教授 Andy Pavlo 從 2021 到 2023 連續三年對數據庫領域的回顧,希望通過連續三年的回顧讓你對數據庫領域的技術發展有所了解。 關于 Andy Pavlo:卡內基梅隆大學計算機科學系數據庫學副教授,數…

vuepress項目側邊欄菜單配置使用

第一種菜單配置,自定義菜單名稱 {text: 菜單名稱,// 是否折疊collapsible: true,children: [{text: "自定義md菜單名稱",sidebarDepth: 2,link: "/xxx/aa.md",children: [],}],},第二種菜單配置 標題自動生成菜單,使用需要搭配sideb…

c語言求矩陣的局部極大值

給定M行N列的整數矩陣A,如果A的非邊界元素A[i][j]大于相鄰的上下左右4個元素,那么就稱元素A[i][j]是矩陣的局部極大值。本題要求給定矩陣的全部局部極大值及其所在的位置。 輸入格式: 輸入在第一行中給出矩陣A的行數M和列數N(3≤…

C語言創建結構體時 什么時候需要C++引用 什么情況下下不需要引用

在C語言中,結構體通常通過傳遞指針來實現對結構體的修改。當在函數中需要修改結構體的內容,并且希望這些修改在調用函數后仍然保持,可以考慮使用指針。引用是C中的一種特殊機制,用于更方便地傳遞參數,但在純粹的C語言中…

《springcloud alibaba》 三 sentinel流量控制

目錄 sentinel準備流控規則 qpspom.xmlapllication.yml啟動類controller查看結果流控提示不太友好 流控規則 線程數全局異常處理pom.xmlapplication.yml啟動類實體類controller類異常類測試 關聯流控模式關聯jmeter 鏈路servicecontroller代碼調整 流控效果Warm UP 熔斷降級規則…

[Flutter]用16進制顏色字符串初始化Color

使用: // 使用Color的靜態方法 fromARGB() 來創建顏色對象。透明度為 255(完全不透明) Color a Color.fromARGB(255, 42, 35, 72); // 使用八位的十六進制數來表示顏色,其中前兩位表示透明度,后六位表示紅色、綠色和…

本科畢業設計:計及并網依賴性的分布式能源系統優化研究。(C語言實現)(內包含NSGA II優化算法)(二)

目錄 前言 1、sofc函數 2、光伏板函數 3、集熱場函數 4、sofc電跟隨策略函數 5、二分法找sofc運行點函數 6、目標函數:成本 7、目標函數:二氧化碳排放量 8、目標函數:并網依賴性 前言 本篇文章介紹的是我的畢業設計,我將C…

JavaScript DOM操作筆記記錄回憶總結

一、什么是DOM? 1、通過 HTML DOM,可訪問 JavaScript HTML 文檔的所有元素。 2、當網頁被加載時,瀏覽器會創建頁面的文檔對象模型(Document Object Model) 二、操作DOM 1、在操作DOM之前,我們需要先獲取到…

DOM 創建節點、添加節點和刪除節點

創建元素節點 document.createElement(‘標簽名’) 創建文本節點document.createTextNode ( 內容 ) 根據傳入的標簽名創建出一個空的元素對象創建出來的默認不顯示,要成為別人的子元素才能顯示,所以要結合appendChild使用 添加節點(后面&am…

團體程序設計天梯賽 L2-001 緊急救援(迪杰斯特拉算法)

L2-001 緊急救援 分數 25 作為一個城市的應急救援隊伍的負責人,你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連接城市的快速道路。每個城市的救援隊數量和每一條連接兩個城市的快速道路長度都標在地圖上。當其他城市有緊急求助電話給你的時候&…

python筆記_運算符

A,算術運算符 運算符描述舉例結果加011-減2-11*乘1*11/除1/11%取模(取余)6%51(余1)//除,且向下取整 3//2 -1//2 1 -1 **返回x的y次冪2**01 取模運算公式 a % b a - a // b * b print(-10%…

【復現】藍凌OA SQL注入漏洞_61

目錄 一.概述 二 .漏洞影響 三.漏洞復現 1. 漏洞一: 四.修復建議: 五. 搜索語法: 六.免責聲明 一.概述 藍凌智能OA是由深圳市藍凌軟件股份有限公司開發,是一款針對中小企業的移動化智能辦公產品,融合了釘釘數字…

C習題002:澡堂洗澡【僅供參考】

問題 輸入樣例 在這里給出一組輸入。例如&#xff1a; 2 5 1 3 3 2 3 3 輸出樣例 在這里給出相應的輸出。例如&#xff1a; No代碼長度限制 16 KB 時間限制 400 ms 內存限制 64 MB 棧限制 8192 KB 代碼 #include<stdio.h> int main() {int N,W,s,t,p;int arr_s[…

遞歸算法題練習(數的計算、帶備忘錄的遞歸、計算函數值)

遞歸的介紹 概念:遞歸是指函數直接或間接調用自身的過程。 解釋遞歸的兩個關鍵要素: 基本情況(遞歸終止條件):遞歸函數中的一個條件&#xff0c;當滿足該條件時&#xff0c;遞歸終止&#xff0c;避免無限遞歸。可以理解為直接解決極小規模問題的方法。遞歸表達式(遞歸調用):遞…

k8s 中 namspace deployment pod services 之間的關系

在Kubernetes&#xff08;K8s&#xff09;中&#xff0c;Namespace&#xff08;命名空間&#xff09;是一種用于將集群內部資源劃分為不同邏輯組的機制。Deployment、Pod和Service是Kubernetes中常見的資源&#xff0c;它們之間的關系如下&#xff1a; Namespace&#xff08;命…