Seatunel 集群部署

櫰木2年前技术文章2284

1、基础环境准备

  1. java 1.8 并配置java home

  2. 操作系统:centos7.9

  3. 下载安装包:https://www.apache.org/dyn/closer.lua/seatunnel/2.3.3/apache-seatunnel-2.3.3-bin.tar.gz

2、安装包部署

集群中的每个节点都按照以下方式进行部署

  1. 配置环境变量

    echo "export SEATUNNEL_HOME=/opt/seatunnel" >> /etc/profile
    echo "export PATH=$PATH:$SEATUNNEL_HOME/bin" >> /etc/profile
  1. 添加用户

    useradd seatunnel
  1. 解压安装包,配置软链

    tar -xzvf apache-seatunnel-2.3.3-bin.tar.gz  -C /opt
    ln -s /opt/apache-seatunnel-2.3.3  /opt/seatunnel

3、集群配置

  1. 配置seatunnel服务。切换到/opt/seatunnel/config目录

  2. 编辑调整seatunel.yaml配置文件

    vim seatunnel.yaml
    seatunnel:
      engine:
        history-job-expire-minutes: 1440
        backup-count: 1
        queue-type: blockingqueue
        print-execution-info-interval: 60
        print-job-metrics-info-interval: 60
        slot-service:
          dynamic-slot: true
        checkpoint:
          interval: 10000
          timeout: 60000
          storage:
            type: hdfs
            max-retained: 3
            plugin-config:
              namespace: /tmp/seatunnel/checkpoint_snapshot
              storage.type: hdfs
              fs.defaultFS: hdfs://mycluster
              seatunnel.hadoop.dfs.nameservices: mycluster
              seatunnel.hadoop.dfs.ha.namenodes.mycluster: nn1,nn2
              seatunnel.hadoop.dfs.namenode.rpc-address.mycluster.nn2: hadoop002:8020
              seatunnel.hadoop.dfs.namenode.rpc-address.mycluster.nn1: hadoop001:8020

checkpoint 配置使用hdfs存储,并通过nameservice进行操作。通过查看core-site.xml和hdfs-site.xml查看nameservice相关配置

  1. 配置高可用配置

  2. 编辑调整hazelcast.yaml 配置文件

    vim hazelcast.yaml
    hazelcast:
      cluster-name: seatunnel
      network:
        rest-api:
          enabled: true
          endpoint-groups:
            CLUSTER_WRITE:
              enabled: true
            DATA:
              enabled: true
        join:
          tcp-ip:
            enabled: true
            member-list:
              - hadoop001
              - hadoop002
              - hadoop003
        port:
          auto-increment: false
          port: 5801
      properties:
        hazelcast.invocation.max.retry.count: 20
        hazelcast.tcp.join.port.try.count: 30
        hazelcast.logging.type: log4j2
        hazelcast.operation.generic.thread.count: 50

member-list     集群节点列表

cluster-name: seatunnel  集群名称

4、启动集群

  1. 启动集群

    #切换到seatunnel用户
    su - seatunnel
    #启动seatunnel
    cd /opt/seatunnel
    #创建日志目录
    mkdir -p /opt/seatunnel/logs
    /bin/seatunnel-cluster.sh -d 
    #停止seatunnel
    ./bin/stop-seatunnel-cluster.sh

检测是否启动成功

ss -tunlp | grep 5801

image.png

5、测试服务

  1. 配置客户端配置

    vim /opt/seatunnel/config/hazelcast-client.yaml
    hazelcast-client:
      cluster-name: seatunnel
      properties:
        hazelcast.logging.type: log4j2
      network:
        cluster-members:
          - hadoop001:5801
          - hadoop002:5801
          - hadoop003:5801

cluster-name 需要和集群配置文件中一致

cluster-members 集群清单需要和集群节点中一致

  1. 运行测试命令

cd /opt/seatunnel
./bin/seatunnel.sh --config config/v2.batch.config.template

不出现报错则表示成功



相关文章

kubernetes HPA

kubernetes HPA

Horizontal Pod Autoscaling 可以根据 CPU 利用率自动伸缩一个 ReplicaSet、Deployment 或者中的 Pod 数量cat hpa-deploy.yaml a...

大数据组件--Hive与Impala的异同

大数据组件--Hive与Impala的异同

一、同数据存储:使用相同的存储数据池都支持把数据存储于HDFS, HBase。元数据:两者使用相同的元数据。SQL语法:基本类似。二、异1)、底层运行使用的技术hive底层默认使用mapreduce引...

MongoDB的索引(一)

一、TTL索引1、语法db.eventlog.createIndex( { "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 } )2、TTL索引...

Kubernetes安全--securityContext介绍

securityContext是用来控制容器内的用户权限,你想用什么用户去执行程序或者执行操作等等。1. securityContext介绍安全上下文(Security Context)定义 Pod...

Kafka 手动调整分区副本存储

Kafka 手动调整分区副本存储

              在生产环境中,每台服务器的配置和性能不一致,但是Kafka只会根据自己的代码规则创建对应的分区副本,就会导致个别服务器存储压力较大。所有需要手动调整分区副本的存储。测试:创...

Dockerfile全面指南:从基础到进阶,掌握容器化构建的核心工具

Dockerfile全面指南:从基础到进阶,掌握容器化构建的核心工具

引言        Dockerfile 是构建 Docker 镜像的核心文件。它定义了如何将应用程序及其依赖打包成一个可以跨平台运行的容器。本篇博客将从基础概...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。