当前位置: 首页 > news >正文

Apache SeaTunnel 2.3.5 Zeta-Server集群环境搭建与使用

file

作者 | 月影幽篁

在当前数据驱动的业务环境中,快速且高效的数据处理能力至关重要。Apache SeaTunnel以其卓越的性能和灵活性,成为数据工程师和开发者的首选工具之一。本文将介绍如何在集群环境中搭建Apache SeaTunnel 2.3.5版本的 Zeta-Server,并概述其使用方法。

SeaTunnel二进制包下载

下载地址:https://seatunnel.apache.org/zh-CN/download

SeaTunnel环境变量配置

编辑/etc/profile文件,添加如下配置:

export SEATUNNEL_HOME=${seatunnel install path}
export PATH=$PATH:$SEATUNNEL_HOME/bin

SeaTunnel Zeta Server配置

JVM配置

SeaTunnel Zeta Server的jvm配置文件路径为${SEATUNNEL_HOME}/config/jvm_options,可以在这里调整JVM相关配置。

引擎配置

一定要编辑的几个配置:

  • cluster-name SeaTunnel Engine 节点使用 cluster-name 来确定另一个节点是否与自己在同一集群中。如果两个节点之间的集群名称不同,SeaTunnel 引擎将拒绝服务请求。

  • 网络 基于 Hazelcast, 一个 SeaTunnel Engine 集群是由运行 SeaTunnel Engine 服务器的集群成员组成的网络。 集群成员自动加入一起形成集群。这种自动加入是通过集群成员使用的各种发现机制来相互发现的。

请注意,集群形成后,集群成员之间的通信始终通过 TCP/IP 进行,无论使用的发现机制如何。 示例:

hazelcast:cluster-name: seatunnelnetwork:join:tcp-ip:enabled: truemember-list:- hostname1port:auto-increment: falseport: 5801properties:hazelcast.logging.type: log4j2
  • 类加载器缓存模式(classloader-cache-mode) 此配置主要解决不断创建和尝试销毁类加载器所导致的资源泄漏问题。 如果您遇到与元空间溢出相关的异常,您可以尝试启用此配置。 为了减少创建类加载器的频率,在启用此配置后,SeaTunnel 在作业完成时不会尝试释放相应的类加载器,以便它可以被后续作业使用,也就是说,当运行作业中使用的 Source/Sink 连接器类型不是太多时,它更有效。 默认值是 false。示例:
seatunnel:engine:classloader-cache-mode: true
  • 历史作业过期配置(history-job-expire-minutes) 每个完成的作业的信息,如状态、计数器和错误日志,都存储在 IMap 对象中。随着运行作业数量的增加,内存会增加,最终内存将溢出。因此,您可以调整 history-job-expire-minutes 参数来解决这个问题。此参数的时间单位是分钟。默认值是 1440 分钟,即一天。示例:
seatunnel:engine:history-job-expire-minutes: 1440

更多配置可以参考官方文档:https://seatunnel.apache.org/zh-CN/docs/2.3.5/seatunnel-engine/deployment#4-%E9%85%8D%E7%BD%AE-seatunnel-engine

Client配置

JVM配置

SeaTunnel Client的jvm配置文件路径为${SEATUNNEL_HOME}/config/jvm_client_options,可以在这里调整JVM相关配置,在使用bin/seatunnel.sh --config xxx.conf提交任务时会启动一个java进程,可以使用此配置来控制java进程参数。

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## JVM Heap
-Xms1g
-Xmx1g# JVM Dump
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/icarbon_saas/bigdata/seatunnel/dump/zeta-client

引擎客户端配置

引擎客户端配置文件路径为:${SEATUNNEL_HOME}/config/hazelcast-client.yaml

  • cluster-name 客户端必须与 SeaTunnel Engine 具有相同的 cluster-name。否则,SeaTunnel Engine 将拒绝客户端的请求。

  • cluster-members 需要将所有 SeaTunnel Engine 服务器节点的地址添加到这里。示例:

hazelcast-client:cluster-name: seatunnelproperties:hazelcast.logging.type: log4j2network:cluster-members:- hostname1:5801

启动Seatunnel Engine

${SEATUNNEL_HOME}/bin/seatunnel-cluster.sh -d

本文由 白鲸开源科技 提供发布支持!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【安卓】调用摄像头和相册
  • Ubuntu18.04 配置EtherCAT主站IGH SOEM
  • css实现水滴效果图
  • MPU6050详细介绍
  • 初始化React Native项目
  • 独立开发者系列(42)——MYSQL语句使用和进阶
  • SQL Server 2022的游标
  • 20240813在荣品RK3588S-AHD开发板的预置Android13中挂载ext4格式的256GB的TF卡
  • 【智能家居设备集成】智能家居设备的集成与互联互通
  • Revit二次开发_使用InnoSetup打包插件
  • Vue2.0 项目实战篇\部署篇
  • B3-111-A 小型挂轨式巡检机器人:智能巡检的突破之
  • MyBatis 配置与测试方式
  • 【纯干货级教程】YOLOv7如何添加注意力机制?
  • 排序算法之折半插入排序
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • cookie和session
  • CSS中外联样式表代表的含义
  • Django 博客开发教程 16 - 统计文章阅读量
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • HTML5新特性总结
  • Iterator 和 for...of 循环
  • JavaScript的使用你知道几种?(上)
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • maya建模与骨骼动画快速实现人工鱼
  • MYSQL 的 IF 函数
  • webpack+react项目初体验——记录我的webpack环境配置
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 我从编程教室毕业
  • 在Unity中实现一个简单的消息管理器
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​Java基础复习笔记 第16章:网络编程
  • ​ssh免密码登录设置及问题总结
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #### golang中【堆】的使用及底层 ####
  • #{}和${}的区别?
  • #FPGA(基础知识)
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (5)STL算法之复制
  • (Python) SOAP Web Service (HTTP POST)
  • (solr系列:一)使用tomcat部署solr服务
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (多级缓存)缓存同步
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (推荐)叮当——中文语音对话机器人
  • (一)VirtualBox安装增强功能
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .Net IOC框架入门之一 Unity
  • .NET 中让 Task 支持带超时的异步等待
  • .NetCore发布到IIS