SeaTunnel集群安装

环境准备

服务器节点

节点名称

IP

bigdata1

192.168.1.250

bigdata4

192.168.1.251

bigdata5

192.168.1.252

Java环境(三个节点都需要)

  • java1.8+

注意:在安装SeaTunnel集群时,最好是现在一个节点上将所有配置都修改完,之后通过SCP命令传到其它的节点上,更为方便些。使用scp命令要保证服务器之间SSH是可以通讯的。

scp命令示例

# 如下:将192.168.1.250服务器上/opt/seatunnel目录下的seatunnel安装包拷贝到192.168.1.251上
# 在192.168.1.250节点上执行,
scp /opt/seatunnel/apache-seatunnel-2.3.3-bin.tar.gz [email protected]:/opt/seatunnel/

安装(三个节点都要执行)

# 创建用于安装SeaTunnel的目录(三个节点都要执行)
mkdir -p /opt/seatunnel
# 将下载好的安装包拷贝到服务器上(三个节点都要执行)
apache-seatunnel-2.3.3-bin.tar.gz
# 安装SeaTunnel (三个节点都要执行)
tar -zxvf apache-seatunnel-2.3.3-bin.tar.gz
# 进入到SeaTunnel安装目录下(三个节点都要执行)
cd /opt/seatunnel/apache-seatunnel-2.3.3

下载连接器(三个节点都要执行)

# 进入到SeaTunnel安装目录下(三个节点都要执行)
cd /opt/seatunnel/apache-seatunnel-2.3.3
# 下载SeaTunnel 连接器(三个节点都要执行)
sh bin/install-plugin.sh

配置环境变量(三个节点都要执行)

# 配置环境变量,打开环境变量文件
vim /etc/profile

# 在环境变量文件最后添加如下配置
export SEATUNNEL_HOME=/opt/seatunnel/apache-seatunnel-2.3.3
export PATH=$PATH:$SEATUNNEL_HOME/bin

# 重新加载环境变量文件
source /etc/profile

配置SeaTunnel Engine JVM(三个节点都要执行)

# 进入到SeaTunnel安装目录下(三个节点都要执行)
cd /opt/seatunnel/apache-seatunnel-2.3.3
# 打开SeaTunnel 集群模式启动脚本文件
vim bin/seatunnel-cluster.sh
# 在文件首行添加JAVA虚拟机配置信息,如下图
JAVA_OPTS="-Xms2G -Xmx2G"

配置结果

SeaTunnel集群安装_第1张图片

创建连接器对应的目录和下载数据库连接驱动

创建jdbc连接器对应的目录

# 创建连接器对应的目录,用于存放数据库连接驱动
[root@localhost apache-seatunnel-2.3.3]# mkdir -p plugins/jdbc/lib/
# 将下载的数据库连接包上传到该目录下
[root@localhost lib]# pwd
/data/apache-seatunnel-2.3.3/plugins/jdbc/lib
[root@localhost lib]# ls
mysql-connector-java-8.0.28.jar  ojdbc8.jar  postgresql-42.6.0.jar

数据库连接包下载地址:

数据库

下载地址

mysql

Maven Repository: mysql » mysql-connector-java

oracle

Maven Repository: com.oracle.database.jdbc » ojdbc8

postgresql

Maven Repository: org.postgresql » postgresql

doris

Maven Repository: mysql » mysql-connector-java

配置SeaTunnel(三个节点都要配置)

配置$SEATUNNEL_HOME/config/seatunnel.yaml文件

seatunnel:
  engine:
    backup-count: 1
    print-execution-info-interval: 10
    slot-service:
      dynamic-slot: true
    checkpoint:
        interval: 300000
        timeout: 10000
        max-concurrent: 1
        tolerable-failure: 2

配置$SEATUNNEL_HOME/config/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:
          - 192.168.1.205
          - 192.168.1.208
          - 192.168.1.209
    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

配置$SEATUNNEL_HOME/config/hazelcast-client.yaml文件

hazelcast-client:
  cluster-name: seatunnel
  properties:
    hazelcast.logging.type: log4j2
  network:
    cluster-members:
      - 192.168.1.250:5801
      - 192.168.1.251:5801
      - 192.168.1.252:5801

创建日志存放目录

# 创建logs目录,如果存在忽略此步骤
mkdir -p $SEATUNNEL_HOME/logs

启动服务

# 在每一个节点上执行启动命令
nohup $SEATUNNEL_HOME/bin/seatunnel-cluster.sh 2>&1 &

# 常用命令:停止集群
$SEATUNNEL_HOME/bin/stop-seatunnel-cluster.sh

配置开放端口号(两种方式)

#-------------iptables-----------------
#开打端口号开放配置文件
vim /etc/sysconfig/iptables
# 添加一行
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5801 -j ACCEPT
# 重启启动防火墙
systemctl restart iptables.service

#------------firewall-------------------
# 依次执行下面命令
firewall-cmd --zone=public --add-port=5801/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

查看日志文件

tail -100f $SEATUNNEL_HOME/logs/seatunnel-engine-server.log

测试集群执行任务命令

sh $SEATUNNEL_HOME/bin/seatunnel.sh --config $SEATUNNEL_HOME/config/v2.batch.config.template

执行结果如下:

SeaTunnel集群安装_第2张图片

安装完毕。

你可能感兴趣的:(SeaTunnel)