01
检查点存储概念
HDFS (OSS,COS,S3,HDFS,LocalFile) LocalFile (本地),(已弃用: 使用HDFS(LocalFile)替代).
这或许是一个对你有用的开源项目,data-warehouse-learning 项目是一套基于 MySQL + Kafka + Hadoop + Hive + Dolphinscheduler + Doris + Seatunnel + Paimon + Hudi + Iceberg + Flink + Dinky + DataRT + SuperSet 实现的实时离线数仓(数据湖)系统,以大家最熟悉的电商业务为切入点,详细讲述并实现了数据产生、同步、数据建模、数仓(数据湖)建设、数据服务、BI报表展示等数据全链路处理流程。
https://gitee.com/wzylzjtn/data-warehouse-learning
https://github.com/Mrkuhuo/data-warehouse-learning
https://bigdatacircle.top/
项目演示:
02
检查点存储配置
seatunnel-server
模块的配置在seatunnel.yaml
文件中。
seatunnel:
engine:
checkpoint:
storage:
type: hdfs #检查点存储的插件名称,支持hdfs(S3, local, hdfs), 默认为localfile (本地文件), 但这种方式已弃用
# 插件配置
:
namespace: #检查点存储父路径,默认值为/seatunnel/checkpoint/
K1: V1 # 插件其它配置
K2: V2 # 插件其它配置
注意: namespace必须以"/"结尾。
01
OSS
阿里云OSS是基于hdfs-file,所以你可以参考Hadoop OSS文档来配置oss.
seatunnel:
engine:
checkpoint:
interval: 6000
timeout: 7000
storage:
type: hdfs
max-retained: 3
plugin-config:
storage.type: oss
oss.bucket: your-bucket
fs.oss.accessKeyId: your-access-key
fs.oss.accessKeySecret: your-secret-key
fs.oss.endpoint: endpoint address
阿里云OSS凭证提供程序实现见: (https://github.com/aliyun/aliyun-oss-java-sdk/tree/master/src/main/java/com/aliyun/oss/common/auth)
02
COS
腾讯云COS基于hdfs-file,所以你可以参考(https://hadoop.apache.org/docs/stable/hadoop-cos/cloud-storage/)来配置COS.
seatunnel:
engine:
checkpoint:
interval: 6000
timeout: 7000
storage:
type: hdfs
max-retained: 3
plugin-config:
storage.type: cos
cos.bucket: cosn://your-bucket
fs.cosn.credentials.provider: org.apache.hadoop.fs.cosn.auth.SimpleCredentialsProvider
fs.cosn.userinfo.secretId: your-secretId
fs.cosn.userinfo.secretKey: your-secretKey
fs.cosn.bucket.region: your-region
腾讯云COS相关配置可参考:(https://doc.fincloud.tencent.cn/tcloud/Storage/COS/846365/hadoop)
hadoop-cos-3.4.1.jar(https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-cos/3.4.1) cos_api-bundle-5.6.69.jar(https://mvnrepository.com/artifact/com.qcloud/cos_api-bundle/5.6.69) hadoop-shaded-guava-1.1.1.jar(https://mvnrepository.com/artifact/org.apache.hadoop.thirdparty/hadoop-shaded-guava/1.1.1)
03
S3
seatunnel:
engine:
checkpoint:
interval: 6000
timeout: 7000
storage:
type: hdfs
max-retained: 3
plugin-config:
storage.type: s3
s3.bucket: your-bucket
fs.s3a.access.key: your-access-key
fs.s3a.secret.key: your-secret-key
fs.s3a.aws.credentials.provider: org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider
如果您使用InstanceProfileCredentialsProvider,它支持在EC2 VM中运行时使用实例配置文件凭据,您可以检查(https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html). 您可以这样配置:
seatunnel:
engine:
checkpoint:
interval: 6000
timeout: 7000
storage:
type: hdfs
max-retained: 3
plugin-config:
storage.type: s3
s3.bucket: your-bucket
fs.s3a.endpoint: your-endpoint
fs.s3a.aws.credentials.provider: org.apache.hadoop.fs.s3a.InstanceProfileCredentialsProvider
04
HDFS
如果您使用HDFS,您可以这样配置:
seatunnel:
engine:
checkpoint:
storage:
type: hdfs
3 :
:
hdfs :
hdfs://localhost:9000 :
如果您使用kerberos,您可以这样配置:
kerberosPrincipal: your-kerberos-principal
kerberosKeytabFilePath: your-kerberos-keytab
如果HDFS是HA模式,您可以这样配置:
seatunnel:
engine:
checkpoint:
storage:
type: hdfs
3 :
:
hdfs :
hdfs://usdp-bing :
usdp-bing :
nn1,nn2 :
usdp-bing-nn1:8020 :
usdp-bing-nn2:8020 :
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider :
如果HDFS在hdfs-site.xml或core-site.xml中有其他配置,只需使用seatunnel.hadoop.前缀设置HDFS配置即可。
05
本地文件
seatunnel:
engine:
checkpoint:
interval: 6000
timeout: 7000
storage:
type: hdfs
3 :
:
hdfs :
file:/// # 请确保该目录具有写权限 :
03
开启高速缓存
当storage:type为hdfs时,默认关闭cache。如果您想启用它,请设置为disable.cache: false。
seatunnel:
engine:
checkpoint:
interval: 6000
timeout: 7000
storage:
type: hdfs
3 :
:
hdfs :
false :
hdfs:/// # Ensure that the directory has written permission :
或者
seatunnel:
engine:
checkpoint:
interval: 6000
timeout: 7000
storage:
type: hdfs
3 :
:
hdfs :
false :
file:/// :
04
进交流群群添加作者
推荐阅读系列文章
如果喜欢 请点个在看分享给身边的朋友