...
- control.sh command to create/remove/list resources.
- control.sh command to register class path from server node resource.
In strict environments it often prohibited for process to modify it's code (jars).
So, regular flow with the "Ignite, please deploy files from the local disk to cluster" not working.
We must provide a way to register and validate IgniteClassPath from server node local disks. - system view to list available instances.
Other systems approach:
Apache Spark
Provides a special tool - spark-submit to deploy and execute jobs inside cluster.
It supports --jars argument to list jar files required by job. (1)
Apache Tomcat (2)
J2EE spec itself provide a clear way to:
- pack dependencies to single WAR file
- update application versions by deploying new WAR file to servlet container.
- Well known directories /WEB-INF/classes, /WEB-INF/libs contains all applcation dependencies that added to classpath.
- Tools to deploy/undeploy application provided, also.
Apache Flink (3) (4)
Provides an options to specify job classpath during starttime.
Example:
$ ./bin/flink run -C /path/to/dependency.jar -c com.example.MyJob my-flink-job.jar
Risks and Assumptions
We assume that p2p and deployment SPI will be removed from Ignite.
...
// Links to discussions on the devlist, if applicable.
Reference Links
- https://spark.apache.org/docs/latest/submitting-applications.html
- https://tomcat.apache.org/tomcat-11.0-doc/deployer-howto.html
- https://nightlies.apache.org/flink/flink-docs-stable/docs/ops/debugging/debugging_classloading/
- https://nightlies.apache.org/
...
- flink/flink-docs-release-2.2/docs/ops/rest_api/
Tickets
// Links or report with relevant JIRA tickets.