Closed zhang5059T closed 3 months ago
I just set up a Standalone cluster. The Spark version is 3.3.0. I found that Seatunnel can run normally, but when I submit tasks through the spark-operator method, this error occurs. Now, I'm not quite sure whether it is caused by the version problem of Scala.
It seems to be an issue with the Spark Operator itself. Could you try using this image and configuring a non-seatunnel task to see if the problem persists?
Hi @Carl-Zhou-CN Thank you for your answer.
I am able to run the official demo program without any issues. I noticed that there is a Scala package within the seatunnel-spark-3-starter.jar file, and I suspect that it might be causing the problem. After looking at the code, I found that only scala.Tuple2 is used in Seatunnel. Is there an alternative solution to replace it?
I saw that the versions of scala.version and scala.binary.version in the packaging pom of Spark 3.3.0 are the same as those of Seatunnel.
Hi, @zhang5059T It seems to be more than that
Oh, exactly. I overlooked a lot just now.
Now, apart from this direction, it seems that I have no other ideas to handle this problem.Could you give me some suggestions?
Oh, exactly. I overlooked a lot just now.
Now, apart from this direction, it seems that I have no other ideas to handle this problem.Could you give me some suggestions?
What happens if you manually delete the scala package in seatunnel-spark-3-starter.jar
I directly delete the Scala package in seatunnel-spark-3-starter.jar ,It still reports an error the same way. That error.
@CheneyYin Can you please help take a look at this?
This is the submitted command output in the log.
/opt/spark/bin/spark-submit
--class org.apache.seatunnel.core.starter.spark.SeaTunnelSpark
--master k8s://https://192.18.0.1:443
--deploy-mode cluster
--conf spark.kubernetes.namespace=spark-operator
--conf spark.app.name=spark-seatunnel
--conf spark.kubernetes.driver.pod.name=spark-seatunnel-driver
--jars http://x.x.x.x:9000/spark/seatunnel/ojdbc8-23.4.0.24.05.jar,http://x.x.x.x:9000/spark/seatunnel/seatunnel-transforms-v2.jar,http://x.x.x.x:9000/spark/seatunnel/seatunnel-hadoop3-3.1.4-uber.jar
--conf spark.kubernetes.container.image=172.18.172.12/datawork/spark3.3.0-seatunnal2.3.5:v2-r2
--conf spark.kubernetes.container.image.pullPolicy=Always
--conf spark.kubernetes.submission.waitAppCompletion=false
--conf spark.kubernetes.driver.label.sparkoperator.k8s.io/app-name=spark-seatunnel
--conf spark.kubernetes.driver.label.sparkoperator.k8s.io/launched-by-spark-operator=true
--conf spark.kubernetes.driver.label.sparkoperator.k8s.io/submission-id=f5a15d17-ca8f-48cf-8fa1-4052dc3e81f8
--conf spark.driver.cores=1
--conf spark.kubernetes.driver.limit.cores=1200m
--conf spark.driver.memory=512m
--conf spark.kubernetes.authenticate.driver.serviceAccountName=spark-release-spark-operator
--conf spark.kubernetes.driver.label.version=3.3.0
--conf spark.kubernetes.executor.label.sparkoperator.k8s.io/app-name=spark-seatunnel
--conf spark.kubernetes.executor.label.sparkoperator.k8s.io/launched-by-spark-operator=true
--conf spark.kubernetes.executor.label.sparkoperator.k8s.io/submission-id=f5a15d17-ca8f-48cf-8fa1-4052dc3e81f8
--conf spark.executor.instances=1 --conf spark.executor.cores=1
--conf spark.executor.memory=512m
--conf spark.kubernetes.executor.label.version=3.3.0
http://x.x.x.x:9000/spark/seatunnel/seatunnel-spark-3-starter.jar
--config /data/v2.oracle.conf
Hi @Carl-Zhou-CN I have a doubt. In the case given in the official documentation, the --deploy-mode is in client mode. So how should I submit it in cluster mode? I tried to directly change it to cluster, but it throws an exception saying that the config file cannot be found. I copied the config file to all the worker nodes, and ran it using the absolute path, but it still throws the exception of not finding the config file. I also put the config file in MinIO, but it didn't work either.
./bin/start-seatunnel-spark-3-connector-v2.sh
--master spark://master.cluster.local:7077
--deploy-mode cluster
-–executor-memory 4g
--config /home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf
./bin/start-seatunnel-spark-3-connector-v2.sh
--master spark://master.cluster.local:7077
--deploy-mode cluster
-–executor-memory 4g
--config http://x.x.x.x:9000/minio/spark/seatunnel/v2.oracle2.conf
./bin/start-seatunnel-spark-3-connector-v2.sh
--master spark://master.cluster.local:7077
--deploy-mode cluster -–executor-memory 4g
--files /home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf
--config /home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf
${SPARK_HOME}/bin/spark-submit
--class "org.apache.seatunnel.core.starter.spark.SeaTunnelSpark"
--name "SeaTunnel" --master "spark://master.cluster.local:7077"
--deploy-mode "cluster"
--jars "/home/zcp/seatunnelworkspace/seatunnel/lib/seatunnel-transforms-v2.jar,/home/zcp/seatunnelworkspace/seatunnel/lib/seatunnel-hadoop3-3.1.4-uber.jar,/home/zcp/seatunnelworkspace/seatunnel/lib/ojdbc8-23.4.0.24.05.jar,/home/zcp/seatunnelworkspace/seatunnel/lib/mysql-connector-java-8.0.30.jar,/home/zcp/seatunnelworkspace/seatunnel/connectors/connector-jdbc-2.3.5.jar"
--files "/home/zcp/seatunnelworkspace/seatunnel/plugins.tar.gz,/home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf"
--conf "parallelism=8"
/home/zcp/seatunnelworkspace/seatunnel/starter/seatunnel-spark-3-starter.jar
--config "/home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf"
--master "spark://master.cluster.local:7077"
--deploy-mode "cluster"
--name "SeaTunnel"
24/06/19 22:31:32 ERROR SeaTunnel: Fatal Error,
24/06/19 22:31:32 ERROR SeaTunnel: Please submit bug report in https://github.com/apache/seatunnel/issues
24/06/19 22:31:32 ERROR SeaTunnel: Reason:ErrorCode:[COMMON-22], ErrorDescription:[SeaTunnel read file 'v2.oracle2.conf' failed, because it not existed.]
24/06/19 22:31:32 ERROR SeaTunnel: Exception StackTrace:org.apache.seatunnel.common.exception.SeaTunnelRuntimeException: ErrorCode:[COMMON-22], ErrorDescription:[SeaTunnel read file 'v2.oracle2.conf' failed, because it not existed.]
at org.apache.seatunnel.common.exception.CommonError.fileNotExistFailed(CommonError.java:78)
at org.apache.seatunnel.core.starter.utils.FileUtils.checkConfigExist(FileUtils.java:66)
at org.apache.seatunnel.core.starter.spark.command.SparkTaskExecuteCommand.execute(SparkTaskExecuteCommand.java:50)
at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40)
at org.apache.seatunnel.core.starter.spark.SeaTunnelSpark.main(SeaTunnelSpark.java:35)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.spark.deploy.worker.DriverWrapper$.main(DriverWrapper.scala:63)
at org.apache.spark.deploy.worker.DriverWrapper.main(DriverWrapper.scala)
24/06/19 22:31:32 ERROR SeaTunnel:
===============================================================================
24/06/19 22:31:32 INFO ShutdownHookManager: Shutdown hook called
24/06/19 22:31:32 INFO ShutdownHookManager: Deleting directory /tmp/spark-c5113a48-4ce5-496f-878c-0f6e8f069f65
Could you please give a case of execution in cluster mode?
This is what I tried on yarn
./bin/start-seatunnel-spark-3-connector-v2.sh --master yarn --deploy-mode cluster -–executor-memory 4g --config config/v2.batch.config.template
Hi @Carl-Zhou-CN I have a doubt. In the case given in the official documentation, the --deploy-mode is in client mode. So how should I submit it in cluster mode? I tried to directly change it to cluster, but it throws an exception saying that the config file cannot be found. I copied the config file to all the worker nodes, and ran it using the absolute path, but it still throws the exception of not finding the config file. I also put the config file in MinIO, but it didn't work either.
CMD
./bin/start-seatunnel-spark-3-connector-v2.sh --master spark://master.cluster.local:7077 --deploy-mode cluster -–executor-memory 4g --config /home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf
./bin/start-seatunnel-spark-3-connector-v2.sh --master spark://master.cluster.local:7077 --deploy-mode cluster -–executor-memory 4g --config http://x.x.x.x:9000/minio/spark/seatunnel/v2.oracle2.conf
./bin/start-seatunnel-spark-3-connector-v2.sh --master spark://master.cluster.local:7077 --deploy-mode cluster -–executor-memory 4g --files /home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf --config /home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf
Spark commit cmd
${SPARK_HOME}/bin/spark-submit --class "org.apache.seatunnel.core.starter.spark.SeaTunnelSpark" --name "SeaTunnel" --master "spark://master.cluster.local:7077" --deploy-mode "cluster" --jars "/home/zcp/seatunnelworkspace/seatunnel/lib/seatunnel-transforms-v2.jar,/home/zcp/seatunnelworkspace/seatunnel/lib/seatunnel-hadoop3-3.1.4-uber.jar,/home/zcp/seatunnelworkspace/seatunnel/lib/ojdbc8-23.4.0.24.05.jar,/home/zcp/seatunnelworkspace/seatunnel/lib/mysql-connector-java-8.0.30.jar,/home/zcp/seatunnelworkspace/seatunnel/connectors/connector-jdbc-2.3.5.jar" --files "/home/zcp/seatunnelworkspace/seatunnel/plugins.tar.gz,/home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf" --conf "parallelism=8" /home/zcp/seatunnelworkspace/seatunnel/starter/seatunnel-spark-3-starter.jar --config "/home/zcp/seatunnelworkspace/seatunnel/config/v2.oracle2.conf" --master "spark://master.cluster.local:7077" --deploy-mode "cluster" --name "SeaTunnel"
Exception
24/06/19 22:31:32 ERROR SeaTunnel: Fatal Error, 24/06/19 22:31:32 ERROR SeaTunnel: Please submit bug report in https://github.com/apache/seatunnel/issues 24/06/19 22:31:32 ERROR SeaTunnel: Reason:ErrorCode:[COMMON-22], ErrorDescription:[SeaTunnel read file 'v2.oracle2.conf' failed, because it not existed.] 24/06/19 22:31:32 ERROR SeaTunnel: Exception StackTrace:org.apache.seatunnel.common.exception.SeaTunnelRuntimeException: ErrorCode:[COMMON-22], ErrorDescription:[SeaTunnel read file 'v2.oracle2.conf' failed, because it not existed.] at org.apache.seatunnel.common.exception.CommonError.fileNotExistFailed(CommonError.java:78) at org.apache.seatunnel.core.starter.utils.FileUtils.checkConfigExist(FileUtils.java:66) at org.apache.seatunnel.core.starter.spark.command.SparkTaskExecuteCommand.execute(SparkTaskExecuteCommand.java:50) at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40) at org.apache.seatunnel.core.starter.spark.SeaTunnelSpark.main(SeaTunnelSpark.java:35) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.spark.deploy.worker.DriverWrapper$.main(DriverWrapper.scala:63) at org.apache.spark.deploy.worker.DriverWrapper.main(DriverWrapper.scala) 24/06/19 22:31:32 ERROR SeaTunnel: =============================================================================== 24/06/19 22:31:32 INFO ShutdownHookManager: Shutdown hook called 24/06/19 22:31:32 INFO ShutdownHookManager: Deleting directory /tmp/spark-c5113a48-4ce5-496f-878c-0f6e8f069f65
Could you please give a case of execution in cluster mode?
It looks like --files did not take effect, the files were not copied to the appropriate place
Yes, no matter how I set it, this configuration file has not taken effect. I'm not sure if it can not be submitted as the cluster mode.
Yes, no matter how I set it, this configuration file has not taken effect. I'm not sure if it can not be submitted as the cluster mode.
Hi, did you solve it in the end? I also encountered the same problem
Search before asking
What happened
环境说明
使用 spark-operator 来跑Seatunnel项目。
SeaTunnel Version
2.3.5
SeaTunnel Config
Running Command
SparkApplication 资源
Error Exception
Zeta or Flink or Spark Version
spark
3.3.0
seatunnel
2.3.5
Java or Scala Version
spark -scala
Scala 2.12.15
java
openjdk 11.0.13
Screenshots
No response
Are you willing to submit PR?
Code of Conduct