GitHub user ankurcha opened a pull request: https://github.com/apache/flink/pull/948
[FLINK-1984] Integrate Flink with Apache Mesos This pull requests adds a mesos scheduler and an executor (inspired from the work done in, now abandoned, PR #251). The highlights are as follows: * The mesos scheduler is starts a jobManager in a parallel thread based on the configuration provided using `--configDir` argument. * The mesos scheduler is not HA and should be used with marathon or similar service to ensure that there is always one instance running. This may be addressed in future patches. * The mesos scheduler uses the some new properties which can be set using the `conf/flink-conf.yaml`. The configuration directory can be specified using the `--confDir` command line argument and a list of configuration values is present in `flink-mesos/src/main/scala/org/apache/flink/mesos/scheduler/package.scala`. Example usage: ```bash mvn clean package -DskipTests -Pinclude-mesos java -Dlog4j.configuration=file:/vagrant/log4j.properties -cp *.jar org.apache.flink.mesos.scheduler.FlinkScheduler --conf-dir /vagrant ``` ```yaml # flink-conf.yaml flink.mesos.master: zk://127.0.0.1:2181/mesos flink.uberjar.location: file:///vagrant/flink-dist-0.10-SNAPSHOT.jar flink.mesos.taskmanagers.mem: 512 flink.mesos.taskmanagers.cpu: 0.5 taskmanager.logging.level: INFO streamingMode: streaming jobmanager.web.port: 8081 webclient.port: 8080 ``` ``` # log4j.properties log4j.rootLogger=INFO, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%-5p %d{ISO8601} [%t] %c{1}: %m%n # suppress the warning that hadoop native libraries are not loaded (irrelevant for the client) log4j.logger.org.apache.hadoop.util.NativeCodeLoader=OFF log4j.logger.org.apache.flink.mesos=DEBUG # suppress the irrelevant (wrong) warnings from the netty channel handler log4j.logger.org.jboss.netty.channel.DefaultChannelPipeline=ERROR, console ``` An easy way to test this is using https://github.com/mesosphere/playa-mesos to start a mesos cluster in virtualbox (using vagrant) and copying the uberjar to /vagrant and running the above command. The job manager web UI url is set as the mesos framework url. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ankurcha/flink flink-mesos Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/948.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #948 ---- commit 8a9e3791a2c3946f1adefe64845f16f89e092c77 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-20T08:45:41Z wip commit a937ff65d72a938814162de1e9d97640c566b3f1 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-25T19:18:42Z WIP - flink mesos integration initial commit commit 3f0237adb7b1f45a1fd80e025aa5b511f92a209c Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-25T19:33:57Z Add todo for config changes/issues commit d9c29e2a3174cb90626c9deccc1604e0e010d965 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-27T00:03:12Z Fix some stuff commit 9910f50c11c81631ff8bb351cdf394cda753ff98 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T01:41:20Z Add flink-mesos to dist, update scheduler and executor code commit 4f2d8fed5b2bf8f49eb4da7cd148e83016206330 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T03:14:16Z Clean up code + codestyle changes commit b1613a965a59f89aa2e9c96dcec52fc40847423a Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T07:12:55Z Clean up executor, adjust resource defaults commit 5d39b1524b9ec565c5be28abcd4f80fab928042b Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T20:56:24Z Remove status pinging and fix logging level in TaskManagerExecutor commit 3331596c957ad774ffca31bb2c959b22422560d2 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T22:33:54Z Code cleanup and refactoring of the conf classes commit 33f3597f1c2aa0c7582025d9c242d4aafd9cfa63 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T22:36:04Z Remove unused dependencies and plugins commit 36846a95a64b9700d37954a2d0176b222b6adbe0 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T22:40:50Z Use tab based indents in pom files commit 52904c8593377c349bccf599b863f2a40df0f562 Author: Ankur Chauhan <achau...@brightcove.com> Date: 2015-07-28T23:06:30Z Add comments for each of the properties ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---