• Seatunnel及web搭建流程


    准备工作

    Java环境

    要求java8或者java11,并设置JAVA_HOME,如果JAVA_HOME无效,需要设置为有效状态。

    echo ${JAVA_HOME}

    创建安装软件目录

    sudo mkdir -p /opt/seatunnel/backend

    sudo mkdir -p /opt/seatunnel/web

    下载软件

    从https://seatunnel.apache.org/download/下载apache-seatunnel-2.3.3-bin.tar.gz

    以及apache-seatunnel-web-1.0.0-bin.tar.gz

    放置到准备好的目录

    安装seatunnel

    解压软件

    sudo tar -zxvf apache-seatunnel-2.3.3-bin.tar.gz -C /opt/seatunnel/backend

    sudo tar -zxvf apache-seatunnel-web-1.0.0-bin.tar.gz -C /opt/seatunnel/web/

    配置环境变量

    在/etc/profile.d/seatunnel.sh中配置环境变量

    然后执行source /etc/profile

    下载jar包

    Seatunnel里面的connector对应的jar包需要自己下载,在下载之前先看看其下载逻辑

    下载逻辑

    在执行自动下载jar包钱,进入apache-seatunnel-2.3.3,查看vim bin/install-plugin.sh内容

    主要逻辑如下:

    1. 使用mvnw进行下载
    2. 下载seatunnel-hadoop3-3.1.4-uber到lib文件夹下
    3. 下载在config/plugin_config配置的seatunnel的连接器到connectors/seatunnel文件下

    在下载之前,可以对config/plugin_config进行编辑,注释不需要的connector,可以添加需要的connector

    可vim connectors/plugin-mapping.properties查看所有支持的connector

    相关目录

    执行命令mkdir -p flink flink-sql spark seatunnel创建多个文件夹

    自动下载

    sh bin/install-plugin.sh

    执行命令即可,一般不推荐,因为从官网下载速度太慢,可以通过修改相关的代码进行手动加速下载。

    手动下载

    修改代码,通过阿里云的mvn源快速下载,然后将相关jar包复制到对应目录即可。

    详细可参考以下文章

    seatunnel及web安装常见问题与解决方法-CSDN博客

    注意:下载jar复制到两个文件夹,一个是lib文件夹,一个是connectors/seatunnel文件夹。

    运行

    测试

    进入主文件夹/opt/seatunnel/backend/apache-seatunnel-2.3.3执行命令:

    sudo ./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local

    观察到日志有如下信息表示运行测试成功

    启动服务

     nohup sh bin/seatunnel-cluster.sh 2>&1 &

    查看日志tail -f logs/seatunnel-engine-server.log 有类似信息打印出。

    必须启动seatunnel的server,web端服务才能正常运行。

    安装seatunnel-web

    准备工作

    在seatunnel的web端机器上需要部署seatunnel客户端,如果服务端与web端在同一台机器,则可跳过此步。跳过此步,因为测试环境都部署在同一台机器上。如有需要可以访问https://seatunnel.apache.org/docs/seatunnel-engine/deployment/#6-config-seatunnel-engine-client

    解压软件

    sudo tar -zxvf apache-seatunnel-web-1.0.0-bin.tar.gz -C /opt/seatunnel/web/

    初始化数据库

    修改配置

    将script/seatunnel_server_env.sh相关配置改为你的对应的数据库信息

    此处HOSTNAME,PORT等名称容易与系统其他名称冲突,加上前缀STWEB_

    给script/init_sql.sh相关变量加上前缀STWEB_

    执行初始化数据库命令

    执行命令sh init_sql.sh,无异常则执行成功。

    配置后端服务

    修改端口与数据源

    vim conf/application.yml修改端口号和数据源信息

    配置client信息

    sudo cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/config/hazelcast-client.yaml ./conf/

    配置支持的插件信息

    sudo cp /opt/seatunnel/backend/apache-seatunnel-2.3.3/connectors/plugin-mapping.properties ./conf/

    配置jar包

    配置jar包非常关键,否则会出现各种各样的问题,常见的有:

    1.没有数据源可以进行创建

    2.没有source或者sink进行选择

    3.配置好任务后无法执行

    配置元数据mysql的jar包

    将mysql-connector-java-8.0.15.jar包复制到

    /opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin/libs

    配置数据源jar包

    将相关jar包复制到/opt/seatunnel/web/apache-seatunnel-web-1.0.0-bin/libs

    注意事项

    元数据和数据源的jar包还需要要复制到后端lib文件夹/opt/seatunnel/backend/apache-seatunnel-2.3.3/lib

    否则在配置好web任务时,后台根本不执行!!!

    数据源jar包下载方式查看

    seatunnel及web安装常见问题与解决方法-CSDN博客 中如下部分

    启动服务

    sudo sh bin/seatunnel-backend-daemon.sh start

    访问ip:8081/ui,此端口为conf/application.yml中配置的端口

    默认用户名,密码为admin/admin

    登录进入后,点击数据源,创建数据源,可看到如下页面。

    配置任务

    Source端选择官方的seatunnel中的role表

    Sink端新建另一个库seatunnel_bak,新建一个与seatunnel中role一样的表

    运行实例

    任务运行成功后,查询目的数据库的数据,结果符合预期。

    select *,'org' flag from seatunnel.`role` 

    union all 

    select *,'dest' flag from seatunnel_bak.`role` 

    至此完成seatunnel及web的整体流程搭建与测试。

  • 相关阅读:
    第15章 秒杀商品隔离解决方案
    机场部队都在用的无人机干扰设备----- TFN MR09
    ARM汇编之乘法指令
    Java之反射机制
    TensorFlow入门(十七、神经元的拟合原理)
    12:STM32---RTC实时时钟
    《语音优先》智能语音技术驱动的交互界面设计与语音机器人设计(译者序)...
    Vue3 - 不再支持 IE11,到底为什么?
    【Vue】学习笔记-Vue中的Ajax配置代理
    Vue3新特性--学习笔记
  • 原文地址:https://blog.csdn.net/u013995172/article/details/134422053