docker安装flink

docker安装flink

5.1、拉取flink镜像,创建网络

docker pull flink
docker network create flink-network

5.2、创建 jobmanager

# 创建 JobManager 
docker run \-itd \--name=jobmanager \--publish 8081:8081 \--network flink-network \--env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" \flink:latest jobmanager 

5.3、创建 TaskManager

# 创建 TaskManager docker run \-itd \--name=taskmanager \--network flink-network \--env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" \flink:latest taskmanager 

5.4、访问公网ip

http://localhost:8081/

访问 http://150.158.119.225/:8081/

5.5 修改Task Slots

默认的Slots num是1,我们可以修改为5:
修改的目录是jobmanager和taskmanager的/opt/flink/confflink-conf.yaml文件:

修改taskmanager.numberOfTaskSlots:即可。
注意:默认的docker容器中没有vi/vim命令,可以使用docker cp命令,复制出来修改,然后在复制回去,如下:

docker cp taskmanager:/opt/flink/conf/flink-conf.yaml .
docker cp flink-conf.yaml taskmanager:/opt/flink/conf/

5.6、通过flinksql消费Kafka

Docker安装kafka 3.5
并且通过python,简单写一个生产者
Python生产、消费Kafka

5.7 导入flink-sql-connector-kafka jar

顾名思义,用于连接flinksql和kafka。
进入flink

docker exec -it jobmanager /bin/bash

进入 flink的bin目录

cd /opt/flink/bin

查看flink版本:

flink --version

根据自己的flink版本,下载对应的 flink-sql-connector-kafka jar包
https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-kafka
因为我是1.18.0,所以选择下图的版本包:

将下载的jar包,分别在jobmanager,taskmanager /opt/flink/lib目录下,注意,是两个都要放,如下图:

可以使用docker cp test.txt jobmanager:/opt/flink/lib命令,用户宿主机和docker容器文件传输。把test.txt换成对应的jar包即可

docker cp test.txt jobmanager:/opt/flink/lib
docker cp test.txt taskmanager:/opt/flink/lib

5.8 flinksql消费kafka

java结合日志

kafka.send("GatewayLog", JSONUtil.toJsonStr(gatewayLog));

GatewayLog是topic

yaml的服务配置

spring:kafka:bootstrap-servers: "10.10.10.155:9092"consumer:group-id: "teleGatewayGroup"

我在本地生成了一条log,将使用flinksql处理这个数据。

进入jobmanager中,执行

cd /opt/flink/bin
sql-client.sh

Flink SQL执行以下语句:

CREATE TABLE GatewayLog (platform VARCHAR,serviceId VARCHAR,targetServer VARCHAR,requestPath VARCHAR,requestMethod VARCHAR,schema VARCHAR,requestContentType VARCHAR,headers VARCHAR,requestBody VARCHAR,ip VARCHAR,startTime TIMESTAMP,endTime VARCHAR,executeTime VARCHAR,status VARCHAR,nickName VARCHAR,account VARCHAR,accountType VARCHAR,serviceName VARCHAR,orgCode VARCHAR
) WITH ('connector' = 'kafka','topic' = 'GatewayLog','properties.bootstrap.servers' = '150.158.119.225:9092','properties.group.id' = 'flinKGroup','scan.startup.mode' = 'earliest-offset','format' = 'json'
);select * from GatewayLog;

可以看到Flink在消费kafka数据,如下图:

中间缺少很多包。
在这里插入图片描述

flink-connector-kafka

https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kafka/3.1.0-1.18

依赖的kafka-clients

https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients/3.6.1

然后在Linux需要看权限问题。

chmod -R 777 /lib 

把文件夹都改成777 所有人。

然后执行

sql最好先改成varchar,变成成功。

最后select * from table

执行成功。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/700121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcgisForJS如何在线编辑ArcGIS Server发布的几何要素?

文章目录 0.引言1.ArcGIS创建几何要素2.ArcGIS Server发布几何要素3.ArcgisForJS在线编辑ArcGIS Server发布的几何要素 0.引言 ArcGIS For JS 是一种用于创建和编辑地理信息的 JavaScript 库,它允许用户在线编辑 ArcGIS Server 发布的几何要素。本文从ArcGIS创建几…

07 MyBatis之高级映射 + 懒加载(延迟加载)+缓存

1. 高级映射 例如有两张表, 分别为班级表和学生表 自然, 一个班级对应多个学生 像这种数据 , 应该如果如何映射到Java的实体类上呢? 这就是高级映射解决的问题 以班级和学生为例子 , 因为一个班级对应多个学生 , 因此学生表中必定有一个班级编号字段cid 但我们在学生的实体…

Yolov9全文翻译!

Yolo v9全文翻译 论文链接:👿 YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information 代码链接:👿 https://github.com/WongKinYiu/yolov9/tree/main 大量图片来袭!

为什么说抖店适合电商新手入局?门槛及运营玩法,今天一文详解!

大家好,我是电商小布。 现在,越来越多的人开始加入到了电商这个行业,原因就是看到了它发展的可能性。 而抖音小店这个项目,作为近几年发展势头非常猛的电商项目,成为了很多小伙伴们的首选。 为什么会这样呢&#xf…

抖音数据抓取工具|视频内容提取软件

引言部分: 介绍针对抖音视频下载需求开发的强大工具突出解决用户获取抖音视频繁琐问题的初衷 工具功能介绍: 详细描述工具功能,包括关键词搜索、自动批量抓取、选择性批量下载等提及基于C#开发的优势以及支持通过分享链接进行单个视频抓取…

10:部署Dashboard|部署Prometheus|HPA集群

部署Dashboard|部署Prometheus|HPA集群 Dashboard部署Dashboard上传镜像到私有仓库安装服务发布服务创建管理用户查看登录的Token信息 Prometheus步骤一:导入所有后续需要的镜像到私有镜像仓库(在master主机操作操作)步…

【区块链】智能交易模式下的数据安全流通模型

【区块链】智能交易模式下的数据安全流通模型 写在最前面**区块链智能交易模式概述****数据安全流通的挑战****数据安全流通模型的核心要素****实现数据安全流通的区块链技术****区块链智能交易模式下数据安全流通模型的设计原则****数据安全流通模型的应用案例分析****面临的挑…

ONLYOFFICE8.0——赋能办公

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-xdAoM2pHRmDFP0tF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

IDEA 重装我都会默默的下载这些好用的插件

本文已经收录公众号:面汤放盐 IDEA 重装我都会默默的下载这些好用的插件 (qq.com) 这几年用得最多的插件,分享给大家。工欲善其事,必先利其器!每一次电脑重装,更换工作,我都会默默地打开我的插件收藏单&a…

SpringBoot项目实现文件上传,MINIO+OSS阿里云

MINIO 安装以及部署 官网:MinIO | Code and downloads to create high performance object storage 下载后是一个minio.exe的文件,可以先创一个文件夹来存放数据以及文件 在文件的目录下cmd进入控制台 minio.exe server data 启动成功后控制台会打印账…

Raspbian命令行RTSP/RTP服务

Raspbian命令行RTSP/RTP服务 1. 源由2. Raspbian摄像头2.1 命令行启动RTP摄像头2.2 命令行启动RTSP摄像头 3. 示例3.1 测试RTP摄像头3.2 测试RTSP摄像头3.3 QGroundControl测试3.3.1 RTSP配置3.3.2 RTP配置 4. 总结5. 参考资料 1. 源由 鉴于实际测试发现RTP协议下,…

利用DevOps和ITSM的集成能促进IT技术

在当今这个快节奏和技术驱动的世界里,DevOps 和 IT 服务管理(ITSM)理念在培养心理健康和减少技术压力的工作环境中正在发挥重要作用。混合最佳实践,实现更好、更快、更安全的服务。 什么是DevOps? DevOps 专注于采用协…

多人协作记账账本小程序开源版开发

多人协作记账账本小程序开源版开发 支持多人协作的记账本小程序,可用于家庭,团队,组织以及个人的日常收支情况记录,支持周月年度统计 便捷记账 便捷的记账方式,支持多种记账类型,快捷切换账本等 多账本 支…

猫头虎分享已解决Bug || ValueError: Setting an array element with a sequence.

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

python 基础知识点(蓝桥杯python科目个人复习计划49)

今日复习内容:做复习题 例题1:希尔排序 题目描述: 希尔排序是直接插入排序算法的一种更高效的改进版本,但它是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出的改进方法之一: 1.插入排序在对几乎已经…

C++初阶:容器适配器priority_queue常用接口详解及模拟实现、仿函数介绍

介绍完了stack和queue的介绍以及模拟的相关内容后:C初阶:容器适配器介绍、stack和queue常用接口详解及模拟实现 接下来进行priority_queue的介绍以及模拟: 文章目录 1.priority_queue的介绍和使用1.1priority_queue的初步介绍1.2priority_que…

Spring 手动实现Spring底层机制

目录 一、前言 二、Spring底层整体架构 1.准备工作 : 2.架构分析 : (重要) 3.环境搭建 : 三、手动实现Spring容器结构 1.自定义注解 : 1.1 Component注解 1.2 Scope注解 2.自定义组件 : 3.自定义用于封装Bean信息的BeanDefinition类&a…

【MySQL系列 04】深入浅出索引

一、索引介绍 提到数据库索引,相信大家都不陌生,在日常工作中会经常接触到。比如某一个 SQL 查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之类的解决方案。 但到底什么是索引,索引又是如何工作的…

【多线程】volatile 关键字、wait 和 notify方法详解

volatile 、wait 和 notify 🌲volatile关键字🚩保证内存可见性🚩volatile 不保证原⼦性 🌳wait 和 notify方法🚩wait()🚩notify()🚩notifyAll()方法 ⭕wait 和 sleep 的对比( 面试题…

基础光学系列:(一)光学在机器视觉中的角色:原理、应用与学习途径

光学是一门研究光的产生、传播以及与物质相互作用的科学,对于机器视觉技术的发展至关重要。机器视觉利用计算机和相机系统模拟人类视觉,解释和理解图像,广泛应用于制造业、医疗、安全监控等领域。本文旨在探讨光的传播原理及其在机器视觉中的…