Hi Krish,
you don't have to set framework_authentication_file and zk_digest_credentials. The scheduler help text is misleading here as everything will work fine if you leave those empty. In addition, looks like you are misunderstanding the usage of the thermos_executor_path command line flag of the scheduler. It is supposed to point to the binary containing the generic Aurora executor (thermos_executor.pex). You only need the hello_world.aurora once your scheduler is up an running. It serves as an example input for the aurora command line client which can be used to scheduler jobs and services on an Aurora master. Have you tried to use the vagrant box? Just type 'vagrant up`in a checkout of the Aurora source code. It gives you a running scheduler to play with. Once you have understood how it works, you can start trying to install it on your own (by reverse-engineering the vagrant box). Hope this helps a little, Stephan ________________________________ From: Krish <[email protected]> Sent: Tuesday, October 20, 2015 11:39 AM To: Bill Farner Cc: [email protected]; Erb, Stephan Subject: Re: Stacktrace when running Apache Aurora Bill/Stephen, I still get a stacktrace when running the aurora scheduler CLI. I do not know what to specify for -framework_authentication_file & -zk_digest_credentials, and they are required arguments. I am not using any authentication on Mesos master, do I still need the framework_authentication_file parameter? rm -rf /db /backup_dir mesos-log initialize --path="/db" export JAVA_HOME=/usr/lib/jvm/java-8-oracle/ JAVA_OPTS="-Xmx1536m -Xms256m" /usr/local/aurora-scheduler/bin/aurora-scheduler -backup_dir=/backup_dir -cluster_name=tc -mesos_master_address=zk://localhost:2181/mesos/master -serverset_path=/scheduler/aurora -zk_endpoints=localhost:2181 -native_log_quorum_size=1 -vlog=SEVERE -logtostderr=false -native_log_file_path=/db -thermos_executor_path=/home/ubuntu/hello_world.aurora ... ... INFO: Binding org.apache.aurora.scheduler.http.Utilization to GuiceManagedCompon entProvider with the scope "PerRequest" Oct 20, 2015 9:27:40 AM org.apache.aurora.scheduler.cron.quartz.CronModule provi deTimeZone WARNING: Cron schedules are configured to fire according to timezone Greenwich M ean Time but system timezone is set to Coordinated Universal Time Oct 20, 2015 9:27:41 AM org.eclipse.jetty.server.AbstractConnector doStart INFO: Started [email protected]:43843<http://[email protected]:43843> E1020 09:27:41.290 THREAD1 org.apache.aurora.scheduler.SchedulerLifecycle$9.exec ute: Caught unchecked exception: com.google.inject.ProvisionException: Guice pro vision errors: 1) Error in custom provider, java.lang.IllegalArgumentException: Path cannot be null at org.apache.aurora.scheduler.log.mesos.MesosLogStreamModule.provideLog(Mesos LogStreamModule.java:117) at org.apache.aurora.scheduler.log.mesos.MesosLogStreamModule.provideLog(Mesos LogStreamModule.java:117) while locating org.apache.mesos.Log at org.apache.aurora.scheduler.log.mesos.MesosLogStreamModule.provideLogInterf ace(MesosLogStreamModule.java:152) while locating org.apache.aurora.scheduler.log.mesos.LogInterface 1 error com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, java.lang.IllegalArgumentException: Path cannot be null at org.apache.aurora.scheduler.log.mesos.MesosLogStreamModule.provideLog(Mesos LogStreamModule.java:117) at org.apache.aurora.scheduler.log.mesos.MesosLogStreamModule.provideLog(Mesos LogStreamModule.java:117) while locating org.apache.mesos.Log at org.apache.aurora.scheduler.log.mesos.MesosLogStreamModule.provideLogInterf ace(MesosLogStreamModule.java:152) while locating org.apache.aurora.scheduler.log.mesos.LogInterface 1 error at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987) at org.apache.aurora.scheduler.log.mesos.MesosLog.open(MesosLog.java:136 -- κρισhναν On Tue, Oct 20, 2015 at 6:14 AM, Bill Farner <[email protected]<mailto:[email protected]>> wrote: The typical flow is that you keep your .aurora file checked into git, and commit every time you deploy/update. When you change your file, you will instruct Aurora to update the live job (have a look at aurora update -h). Aurora will perform a rolling upgrade of your job to the new config. You'll use this same flow for updating your job's software as well as resizing the job. For (3), you could set up alerting for stats that the scheduler exports. Have a look here for monitoring background: https://github.com/apache/aurora/blob/master/docs/monitoring.md You'll find want to look at scheduler stats related to 'pending'. On Mon, Oct 19, 2015 at 12:16 PM, Krish <[email protected]<mailto:[email protected]>> wrote: Thanks for the pointer. Now I notice that the aurora-scheduler script has the --thermos_executor_path as a mandatory requirement. I have a couple of questions on how the thermos_executor/.aurora config file functions: 1. Do we have to statically define the file beforehand? 2. What happens when we want to dynamically change the config, say increasing the number of instances of a service required? Does aurora require a reboot then? 3. How do I get notified about the message mesos sends when it cannot schedule tasks for lack of resources? Should I depend on aurora for this or try to look for a hook into mesos? I think a little bit of context would help here. What I plan to check is to run a very basic job/task inside a docker container with aurora & wait for a 'resource not available' message from mesos, and accordingly call an api to spin up a new node in my cluster. -- κρισhναν On Mon, Oct 19, 2015 at 1:24 PM, Erb, Stephan <[email protected]<mailto:[email protected]>> wrote: I believe you are missing the thermos_executor options that have to be passed to the scheduler command line. See https://github.com/apache/aurora/blob/33d7e2170a86f54722a02a2dc9cb1e09fb52df25/examples/vagrant/upstart/aurora-scheduler.conf#L39 for an example Best Regards, Stephan ________________________________ From: Krish <[email protected]<mailto:[email protected]>> Sent: Monday, October 19, 2015 8:45 AM To: [email protected]<mailto:[email protected]> Subject: Re: Stacktrace when running Apache Aurora Hi, I am a n00b with apache aurora & trying to experiment some things on my local machine with zookeeper and mesos-master running locally. They have initialized properly. When I try to run aurora with the required options, I get the following error, & googing hasn't helped me much here. Appreciate any help. Thanks in advance. ... ... WARNING: Method [public void org.apache.aurora.scheduler.storage.log.SnapshotStoreImpl.applySnapshot(java.lang.Object)] is synthetic and is being intercepted by [com.twitter.common.inject.TimedInterceptor@604c5de8]. This could indicate a bug. The method may be intercepted twice, or may not be intercepted at all. Exception in thread "main" com.google.inject.CreationException: Guice creation errors: 1) An exception was caught and reported. Message: A value may only be retrieved from a variable that has a default or has been set. at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) 2) Could not find a suitable constructor in org.apache.aurora.scheduler.mesos.ExecutorSettings. Classes must have either one (a nd only one) constructor annotated with @Inject or a zero-argument constructor that is not private. at org.apache.aurora.scheduler.mesos.ExecutorSettings.class(ExecutorSettings.java:43) at org.apache.aurora.scheduler.app.SchedulerMain$3.configure(SchedulerMain.java:204) 2 errors at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106) at com.google.inject.Guice.createInjector(Guice.java:95) at com.google.inject.Guice.createInjector(Guice.java:83) at com.twitter.common.application.AppLauncher.configureInjection(AppLauncher.java:120) at com.twitter.common.application.AppLauncher.run(AppLauncher.java:87) at com.twitter.common.application.AppLauncher.launch(AppLauncher.java:181) at com.twitter.common.application.AppLauncher.launch(AppLauncher.java:142) at org.apache.aurora.scheduler.app.SchedulerMain.main(SchedulerMain.java:263) Caused by: java.lang.IllegalStateException: A value may only be retrieved from a variable that has a default or has been set. at com.google.common.base.Preconditions.checkState(Preconditions.java:176) at com.twitter.common.args.Arg.get(Arg.java:82) at org.apache.aurora.scheduler.app.SchedulerMain$3.configure(SchedulerMain.java:206) at com.google.inject.AbstractModule.configure(AbstractModule.java:59) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) at com.google.inject.util.Modules$2.configure(Modules.java:114) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) at com.google.inject.spi.Elements.getElements(Elements.java:101) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) ... 7 more Complete logs are present @http://pastebin.com/i72HvbYi. -- κρισhναν
