相关包的下载地址
Apache SeaTunnel | Apache SeaTunnel
Apache Flink: Downloads
解压(注意下载scala_2.11)
tar -zxvf flink-1.13.6-bin-scala_2.11.tgz -C ../module/
sudo vi /etc/profile.d/my_env.sh
修改配置如下
HADOOP_HOME=/home/bigdata/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`
#FLINK_HOME
export FLINK_HOME=/home/bigdata/module/flink-1.13.6
export PATH=$PATH:$FLINK_HOME/bin
source /etc/profile.d/my_env.sh
可选配置:更具自己的需求配置启动的资源分配
vim flink-conf.yaml
jobmanager.memory.process.size: 1600m
taskmanager.memory.process.size: 1728m
taskmanager.numberOfTaskSlots: 8
parallelism.default: 1
提交一个Demo测试是否能够提交到集群
hadoop jar /home/bigdata/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount -Dmapreduce.job.queuename=low /testdata /testoutdata/tentt
运行的时候一定要确定找的namenode的地址是活动的状态,如果是staby的话就会出现连接异常的情况。
连接拒绝异常原因
1.nameNode地址不是active的namenode。
2.指定的输出文件夹存在。
./bin/flink run -m yarn-cluster \
-yjm 1024 \
-ytm 1024 \
-yqu high \
./examples/batch/WordCount.jar \
-input hdfs://master1:8020/testdata \
-output hdfs://master1:8020/testoutdata/finktest
上面是flink的workcount ,下面是包冲突异常(flink和hadoop的包冲突异常)
./bin/start-seatunnel-flink-connector-v2.sh \
-m yarn-cluster \
-yjm 2024 \
-ytm 4096 \
-ynm testseatunnel \
-yqu high \
--config ./config/seatunnel.streaming.conf.template
yarn logs -applicationId application_1670892172838_0129
上面如果直接提交到yarn的话,那么会有guava包冲突的异常,如下
解决办法,把hadoop的包复制到flink的lib里面,flink就会自动加载对应的高版本的guava包
cp /home/bigdata/module/hadoop-3.1.3/share/hadoop/hdfs/lib/guava-27.0-jre.jar .
特殊方法编译flink源码
flink SQL报错java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLj_51CTO博客_flink sql报错窗口
第二种方法启动flink的yarn-seassion模式
./yarn-session.sh -nm test -qu default
然后提交到flink指定集群中
./bin/start-seatunnel-flink-connector-v2.sh \
> -m node3:46630\
> --config ./config/seatunnel.streaming.conf.template
-bash: ./bin/start-seatunnel-flink-connector-v2.sh: No such file or directory