数据湖仓一体(六)安装flink

news/2024/9/11 3:45:14/ 标签: flink, 大数据, 数据湖

上传安装包到/opt/software目录并解压

[bigdata@node106 software]$ tar -zxvf flink-1.17.2-bin-scala_2.12.tgz -C /opt/services/

重命名文件

[bigdata@node106 services]$ mv flink-1.17.2-bin-scala_2.12 flink-1.17.2

配置环境变量

[bigdata@node106 ~]$ sudo vim /etc/profile.d/bigdata_env.sh
export FLINK_HOME=/opt/services/flink-1.17.2
export $PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin:$KAFKA_HOME/bin:$SEA_HOME/bin:$HIVE_HOME/bin:$SPARK_HOME/bin:$FLINK_HOME/bin

分发环境变量

[bigdata@node106 bin]$ sudo ./bin/xsync /etc/profile.d/bigdata_env.sh

刷新环境变量,5台机器上执行

[bigdata@node106 ~]$ source /etc/profile

配置flink-conf.yaml

taskmanager.numberOfTaskSlots: 4
execution.checkpointing.interval: 1min
execution.checkpointing.externalized-checkpoint-retention: RETAIN_ON_CANCELLATION
execution.checkpointing.max-concurrent-checkpoints: 1
execution.checkpointing.min-pause: 0
state.backend: rocksdb
state.checkpoints.dir: hdfs://mycluster:8020/flink-checkpoints
state.savepoints.dir: hdfs://mycluster:8020/flink-savepoints
state.backend.incremental: true
jobmanager.archive.fs.dir: hdfs://mycluster:8020/flink-history
historyserver.web.address: node107
historyserver.web.port: 8082
historyserver.archive.fs.dir: hdfs://mycluster:8020/flink-history
historyserver.archive.fs.refresh-interval: 10000

配置sql-client-init.sql

CREATE CATALOG hoodie_catalog with ('type' = 'hudi','default-database' = 'default','catalog.path' = '/user/hudi/warehouse','hive.conf.dir' = '/opt/services/spark-3.3.1/conf','mode' = 'hms' 
);
use catalog hoodie_catalog;
load module hive with ('hive-version'='3.1.3');
set sql-client.execution.result-mode=tableau;
set table.dynamic-table-options.enabled=true;
set table.exec.sink.not-null-enforcer=drop;

上传jar包到lib目录下

[bigdata@node106 software]$ cp /opt/services/hadoop-3.3.5/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.5.jar /opt/services/flink-1.17.2/lib/
[bigdata@node106 software]$ cp /opt/services/hadoop-3.3.5/share/hadoop/common/lib/guava-27.0-jre.jar /opt/services/flink-1.17.2/lib/
[bigdata@node106 software]$ cp mysql-connector-java-8.0.18.jar /opt/services/flink-1.17.2/lib/
[bigdata@node106 software]$ cp flink-sql-connector-hive-3.1.3_2.12-1.17.1.jar /opt/services/flink-1.17.2/lib/
[bigdata@node106 software]$ cp hudi-flink1.17-bundle-0.14.1.jar /opt/services/flink-1.17.2/lib/

替换jar包

[bigdata@node106 conf]$ mv /opt/services/flink-1.17.2/opt/flink-table-planner_2.12-1.17.2.jar  /opt/services/flink-1.17.2/lib/flink-table-planner_2.12-1.17.2.jar  
[bigdata@node106 conf]$ mv /opt/services/flink-1.17.2/lib/flink-table-planner-loader-1.17.2.jar  /opt/services/flink-1.17.2/opt/flink-table-planner-loader-1.17.2.jar

hdfs上创建文件夹

[bigdata@node106 conf]$ hdfs dfs -mkdir /flink-history 
[bigdata@node106 conf]$ hdfs dfs -mkdir /flink-checkpoint
[bigdata@node106 conf]$ hdfs dfs -mkdir /flink-savepoints

编写flink.sh脚本

[bigdata@node106 bin]$ vim flink.sh 
#!/bin/bashif [ $# -lt 1 ]
thenecho "No Args Input...[start,stop]"exit ;
fi
case $1 in
"start")echo ==================== 启动flink history服务 =========================ssh node106 "$FLINK_HOME/bin/historyserver.sh start";;
"stop")echo ==================== 关闭flink history服务 =========================ssh node106 "$FLINK_HOME/bin/historyserver.sh stop"
;;
*)echo "Input Args Error...[start,stop]"
;;
esac

授权

[bigdata@node106 bin]$ chmod +x flink.sh

分发到其他机器

[bigdata@node106 bin]$ xsync  flink.sh 

copy到其他机器

[bigdata@node107 bin]$ scp -r bigdata@node106:/opt/services/flink-1.17.2/ /opt/services/flink-1.17.2/   
[bigdata@node108 bin]$ scp -r bigdata@node106:/opt/services/flink-1.17.2/ /opt/services/flink-1.17.2/

启动历史服务

[bigdata@node106 bin]$ flink.sh start 

启动yarn-session

[bigdata@node106 flink-1.17.2]$ bin/yarn-session.sh -d

启动flink-sql

[bigdata@node106 flink-1.17.2]$ bin/sql-client.sh embedded  -i  /opt/services/flink-1.17.2/conf/sql-client-init.sql   -s yarn-session


http://www.ppmy.cn/news/1475418.html

相关文章

Elasticsearch:Node.js ECS 日志记录 - Morgan

这是之前系列文章: Elasticsearch:Node.js ECS 日志记录 - Pino Elasticsearch:Node.js ECS 日志记录 - Winston 中的第三篇文章。在今天的文章中,我将描述如何使用 Morgan 包针对 Node.js 应用进行日子记录。此 Morgan Node.j…

threejs

1.场景清空,释放内容 // 假设你已经有一个Three.js的场景对象scene// 函数:清空场景中的所有对象 function clearScene(scene) {while(scene.children.length > 0){const object scene.children[0];if(object.isMesh) {// 如果有几何体和材质&#…

2024年上半年信息系统项目管理师——综合知识真题题目及答案(第1批次)(2)

2024年上半年信息系统项目管理师 ——综合知识真题题目及答案(第1批次)(2) 第21题:在一个大型信息系统项目中,项目经理发现尽管已经建立了沟通机制,但团队间的沟通依然不畅,项目风险…

免费开源工具—— Clarity Al:一键图像放大/增强,Magnific平替!

今天给大家推荐一款图像增强工具——Clarity AI ,免费且开源,快来看看吧! 1、效果展示 MagnificAl是一款基于人工智能技术的图像处理工具,主要功能包括图像放大、像素级AI重绘、灵活的设置调整以及多种优化场景。它能够支持最高放大至16倍,甚…

电脑 DNS 缓存是什么?如何清除?

DNS(Domain Name System,域名系统)是互联网的重要组成部分,负责将人类易记的域名转换为机器可读的 IP 地址,从而实现网络通信。DNS 缓存是 DNS 系统中的一个关键机制,通过临时存储已解析的域名信息&#xf…

PG大会周五于杭州举办;Pika发布4.0;阿里云MySQL上线Zero-ETL集成能力

重要更新 1. PostgreSQL中国技术大会举行12日(周五)于杭州举办,是PostgreSQL社区年度的大会,举办地点:杭州君尚云郦酒店(杭州市上城区临丁路1188号),感兴趣的可以考虑现场参加 ( [1]…

iCloud数据宝库:全方位掌握笔记应用数据存储

iCloud数据宝库:全方位掌握笔记应用数据存储 在数字化时代,我们的日常生活和工作中产生了大量的笔记数据,这些数据的安全性、可访问性和同步性至关重要。苹果的iCloud服务提供了一个强大而便捷的解决方案,允许用户在所有设备上存…

向量索引【草稿】

用「向量」化数据表示「概念」。 向量表达:概念上更为接近的点在空间中更为聚集,而概念上更为不同的点,则距离更远。 向量数学表达:以坐标原点为起点,这些坐标点重点。 在语言上应用–词向量。 一个训练恰当的词向量集合,将和指代的事物之间的向量集合十分接近。有利于自…

智能家居装修怎么布线?智能家居网络与开关插座布置

打造全屋智能家居。计划的智能家居方案以米家系列为主,智能家居联网方案以无线为主。装修前为了装备智能家居做了很多准备工作,本文深圳侨杰智能分享一个智能家居装修和布线方面的心得与实战知识。希望能对大家的装修有所帮助。 ​1.关于网络 如果房子比…

VUE export import

在Vue.js项目中,export 和 import 是ES6(ECMAScript 2015)模块系统的一部分,用于在JavaScript文件中导出和导入模块(比如组件、函数、变量等)。这对于组织大型项目中的代码、提高代码的可复用性和可维护性非…

什么是面向对象编程

什么是面向对象编程?(OOP) ● 面向对象编程是一种基于对象概念的编程范式;(所谓的编程范式,就是代码风格,我们“如何”编写和组织代码); ● 我们使用对象来模拟&#xf…

新版k8s拉取镜像失败问题

新版版从k8s从1.23后放弃使用docker容器作为的默认运行时了,而是采用的containerd,使用时不在使用docker拉取镜像,这就带来了一系列的问题。在k8s1.24之后用户可以选择docker或者选择contained作为容器运行时,如果不指定使用的doc…

Postman 中的 API 安全性测试:最佳实践与技巧

在当今快速发展的数字化世界中,API(应用程序编程接口)已成为软件系统之间通信的桥梁。然而,随着API使用的增加,安全风险也随之上升。本文将详细介绍如何在 Postman 中进行 API 的安全性测试,帮助开发者和测…

循环结构(一)——for语句【互三互三】

文章目录 🍁 引言 🍁 一、语句格式 🍁 二、语句执行过程 🍁 三、语句格式举例 🍁四、例题 👉【例1】 🚀示例代码: 👉【例2】 【方法1】 🚀示例代码: 【方法2】…

一类账户认证API在Java、Python、PHP中的使用教程

随着金融科技的快速发展,一类账户认证在金融服务中扮演着越来越重要的角色。对于个人和企业而言,拥有一个高级别的账户不仅能提高交易效率,还能享受到更多优惠和服务。然而,这也带来了账户安全的挑战和风险。 为了确保账户的真实…

Java基础之集合

集合和数组的类比 数组: 长度固定可以存基本数据类型和引用数据类型 集合: 长度可变只能存引用数据类型存储基本数据类型要把他转化为对应的包装类 ArrayList集合 ArrayList成员方法 添加元素 删除元素 索引删除 查询 遍历数组

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第二十六章 安装超级终端软件

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

PHP智慧社区小区物业管理系统小程序源码

让生活更便捷,社区更和谐✨ 🏡【开篇:智慧生活,从社区开始】🏡 在快节奏的现代生活中,寻找一份便捷与舒适成为了我们共同的追求。小区,作为我们日常生活的温馨港湾,其管理水平和服…

Web知识库应用程序LibreKB

什么是 LibreKB ? LibreKB 是一款知识库 Web 应用程序。免费、开源、自托管,基于 PHP/MySQL。 官方并没有 Docker 镜像,老苏这次图省事,并没有像往常一样构建一个镜像,而是基于 Docker 搭建了一个 LAMP 环境&#xff0…

Error: EBUSY: resource busy or locked, rmdir...npm install执行报错

Error: EBUSY: resource busy or locked, rmdir...npm install执行报错 你一个文件夹目录开了两个cmd命令行(或者powershell),关掉一个就好了。