Comments (8)
Kindly make the spark history server part of the operator.
I think targeting this operator as single point for spark on K8s eco system will add much better momentum for the development.
For example integrating spark operator to manage an external shuffle service on K8s.
Sorry for interrupting but I am so excited about the new development on this operator
from spark-operator.
Suggested Architecture
- SHS will exist as a wholly separate deployment from spark-operator, as a disjoint chart.
- In order to resolve the problem of dynamically pulling in dependencies/packages, an initcontainer shall be spun up which populates a volume with the union of the default
$SPARK_HOME/jars
and the result ofjava -Divy.cache.dir=$SPARK_HOME -Divy.home=$SPARK_HOME -jar $SPARK_HOME/jars/ivy-2.5.1.jar -dependency [PACKAGE]
. This populated volume shall be mounted in the SHS container as$SPARK_HOME/jars
$SPARK_HOME/conf/spark.conf
shall be mounted as a volume populated by a raw text block in the helm chart.- Log storage shall default to a PVC.
- If SHS is enabled, that does not necessarily imply that logging is enabled in your spark job configuration.
from spark-operator.
Did some initial work on this just to feel it out-- Got automatic resolution of packages working via initcontainers. It's a bit gross, but it works as a start.
Major TODO items:
- Add arbitrary volume/volumeMount support
- Add support for pulling jars, rather than solely packages
- Add a clean mechanism for mounting
spark-defaults.conf
- Create an example that works out of the box-- The hard part being a zero-barrier-to-entry Volume accessible across nodes.
- Docs updates
- General cleanup / hardening
from spark-operator.
Alternatively-- @yuchaoran2011 Do you think it would be worth reviving https://artifacthub.io/packages/helm/cloudnativeapp/spark-history-server and the associated chart and (potentially) having it live here, adjacent to but disconnected from the actual operator chart? I think the real problem here isn't so much that operator should be managing the history server directly, and more that history server, a valuable part of the spark ecosystem, doesn't have any good helm charts out in the wild. We're working on one as part of boozallen/aissemble#66 (https://github.com/boozallen/aissemble/pull/80/files), covered by our BAPL (not as permissive as, say, Apache) solely because we couldn't find an existing OSS solution that was up to date, maintained, and flexible.
from spark-operator.
I'm not sure if it's a good idea to have history server co-deployed with operator. A single history server can aggregate jobs managed by multiple Spark operator deployments across multiple k8s clusters
I think the real problem here isn't so much that operator should be managing the history server directly, and more that history server, a valuable part of the spark ecosystem, doesn't have any good helm charts out in the wild.
I agree. I haven't looked at the quality of https://artifacthub.io/packages/helm/cloudnativeapp/spark-history-server, but if it's something you have used, I'm for that idea
from spark-operator.
I'm not sure if it's a good idea to have history server co-deployed with operator. A single history server can aggregate jobs managed by multiple Spark operator deployments across multiple k8s clusters
I think the real problem here isn't so much that operator should be managing the history server directly, and more that history server, a valuable part of the spark ecosystem, doesn't have any good helm charts out in the wild.
I agree. I haven't looked at the quality of https://artifacthub.io/packages/helm/cloudnativeapp/spark-history-server, but if it's something you have used, I'm for that idea
Sounds reasonable to me. Wrt the helm chart I linked, I wasn't sure if you had specific thoughts, given that you're listed as the maintainer on artifacthub
from spark-operator.
Ah upon a closer look, now I remember that I initially created this chart many years ago. I haven't used it for a long time though and won't count on it still being production ready
from spark-operator.
I think there's both interest and clearly an unfilled need in the community for a production ready, standalone spark history chart that's well maintained. Would kubeflow and the spark operator maintainers be open to one being created in this repo, or would it be better housed somewhere totally separate?
from spark-operator.
Related Issues (20)
- [BUG] spark-operator-spark serviceaccount lacks necessary permissions HOT 2
- [QUESTION] spark-submit not called, and other questions HOT 6
- [BUG] Failed to pull image "gcr.io/spark-operator/spark:v3.1.1" HOT 5
- [ERROR] Error initializing SparkContext
- [QUESTION] configmap not found HOT 1
- Custom environment variables provided in Kubernetes spark job is not getting picked up HOT 2
- [BUG] spark.eventLog.enable and spark.eventLog.dir not working HOT 2
- [FEATURE] integrate this operator into training-operator
- [FEATURE] Upgrade default image to Spark 3.5.1
- [BUG] Executor state map becoming too large can result in failures to write the CR to etcd
- how works cache or persist with Spark Operator
- [BUG] Spark operator not create enough ingressURL when create batch sparkapplication
- [BUG] Unable to assign environment variables HOT 4
- [QUESTION] Error related with webhook HOT 3
- Helm chart references non-existent version `v1beta2-1.4.2-3.5.0` HOT 3
- [BUG] spark-operator v1beta2-1.4.2-3.5.0 install with helm timeout HOT 4
- Add support for livenessProbe and ReadinessProbe of driver and executor pods HOT 4
- [FEATURE] Custom log patterns
- [BUG] Not able to open additional port on executor HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spark-operator.