Member since
02-17-2022
19
Posts
4
Kudos Received
2
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
10365 | 03-03-2022 08:32 AM | |
11299 | 02-21-2022 12:06 PM |
03-23-2025
04:42 AM
@spserd Looking at your issue with Spark on Kubernetes, I see a clear difference between the client and cluster deployment modes that's causing the "system" authentication problem. the issue is when running in client mode with spark-shell, you're encountering an authorization issue where Spark is trying to create executor pods as "system" instead of using your service account "spark-sa", despite providing the token. Possible Solution For client mode, you need to add a specific configuration to tell Spark to use the token for executor pod creation --conf spark.kubernetes.authenticate.executor.serviceAccountName=spark-sa So your updated command should look like this ./bin/spark-shell \ --master k8s://https://my-k8s-cluster:6443 \ --deploy-mode client \ --name spark-shell-poc \ --conf spark.executor.instances=1 \ --conf spark.kubernetes.container.image=my-docker-hub/spark_poc:v1.4 \ --conf spark.kubernetes.container.image.pullPolicy=IfNotPresent \ --conf spark.kubernetes.namespace=dynx-center-resources \ --conf spark.driver.pod.name=dynx-spark-driver \ --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark-sa \ --conf spark.kubernetes.authenticate.executor.serviceAccountName=spark-sa \ --conf spark.kubernetes.authenticate.submission.oauthToken=$K8S_TOKEN The key is that in client mode, you need to explicitly configure the executor authentication because the driver is running outside the cluster and needs to delegate this permission. If this still doesn't work, ensure your service account has appropriate ClusterRole bindings that allow it to create and manage pods in the specified namespace. Happy hadooping
... View more
12-27-2022
08:59 AM
Hello - I'm facing a connection issue with my Flink setup. My Flink cluster has 3 nodes with the exact configuration. In that task manager and job manager are not connecting/communicating with each other in a cluster. However, zookeeper was connected/communicating with each other. When it is configured as standalone setup, everything works however when the high-availability is set to zookeeper, the task manager and job manager does not communicate with each other. I can confirm the processes task manager and job manager is running however the job manager port 8081 is not begin to listen in 2 of the nodes. One of the node has this port began listening and I can able to view the UI from the browser. I can see 1 task manager which is running in the same node listed under available slots. Flink: 1.14.4 Zookeeper: 3.4.14 Appreciate any inputs/help on this. -Prabu.
... View more
Labels:
- Labels:
-
Apache Flink
09-12-2022
07:40 AM
Hi @araujo, My apologies for coming back late. The job reads from 2 Kafka sources and send the data to Kinesis stream (sink). Thanks, Prabu.
... View more
03-04-2022
06:18 AM
1 Kudo
Hello @araujo - Yes. That is the issue. From Java 11, we may need to explicitly set the keystore type. Thanks, Prabu
... View more
02-21-2022
03:56 PM
@spserd , You're right. The Kafka 0.10 and 0.11 connectors are very old have been discontinued. Cheers, André
... View more
02-18-2022
06:04 AM
Thanks Andre. Appreciate your help!
... View more