Ah, I got this failure to find commons-cli the first time I tried to run
it. I got around it by adding the hadoop common lib dir under the
additional_cp property (the path will be different on your VM):
"site.global.additional_cp":
"/usr/local/share/hadoop/share/hadoop/common/lib/*"

On Mon, May 1, 2017 at 9:45 AM, Foolish Ewe <foolish...@hotmail.com> wrote:

> Although it was not mentioned in my most recent correspondence, I was
> using the shade plugin to build an uber jar for slider in my most recent
> attempts.  After seeing some hints at http://stackoverflow.com/
> questions/8594707/jersey-exception-severe-a-message-
> body-reader-for-java-class, I looked at that interaction and disabled the
> uber jar creation.  I'm not sure why the uberjars failed here. Based on the
> test, I think that the json deserialization issue is resolved in the AM,
> but the jmemcache now has unresolved runtime dependencies (even when
> building jmemcached as an uberjar using the assembly plugin) and is failing.
>
>
> The jmemcached container reports in errors-2.txt (errors-1.txt is empty):
>
> 017-04-29 07:06:10,960 - Error while executing command 'start':
> Traceback (most recent call last):
>   File "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root/appcache/application_1493430076245_0007/filecache/
> 71/slider-agent.tar.gz/slider-agent/resource_management/libraries/script/script.py",
> line 116, in execute
>     method(env)
>   File "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root/appcache/application_1493430076245_0007/filecache/
> 108/jmemcached-1.0.1.zip/package/scripts/memcached.py", line 43, in start
>     poll_after = 5
>   File "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root/appcache/application_1493430076245_0007/filecache/
> 71/slider-agent.tar.gz/slider-agent/resource_management/core/base.py",
> line 148, in __init__
>     self.env.run()
>   File "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root/appcache/application_1493430076245_0007/filecache/
> 71/slider-agent.tar.gz/slider-agent/resource_management/core/environment.py",
> line 149, in run
>     self.run_action(resource, action)
>   File "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root/appcache/application_1493430076245_0007/filecache/
> 71/slider-agent.tar.gz/slider-agent/resource_management/core/environment.py",
> line 115, in run_action
>     provider_action()
>   File "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root/appcache/application_1493430076245_0007/filecache/
> 71/slider-agent.tar.gz/slider-agent/resource_management/core/providers/system.py",
> line 260, in action_run
>     raise ex
> Fail: Execution of '/usr/lib/jvm/java//bin/java -Xmx256m -Xms128m
> -classpath /var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root/appcache/application_1493430076245_0007/container_
> 1493430076245_0007_01_000002/app/install/*: com.thimbleware.jmemcached.Main
> --memory=200M --port=11211' returned 1. Error: A JNI error has occurred,
> please check your installation and try again
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/commons/cli/CommandLineParser
>         at java.lang.Class.getDeclaredMethods0(Native Method)
>         at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
>         at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
>         at java.lang.Class.getMethod0(Class.java:3018)
>         at java.lang.Class.getMethod(Class.java:1784)
>         at sun.launcher.LauncherHelper.validateMainClass(
> LauncherHelper.java:544)
>         at sun.launcher.LauncherHelper.checkAndLoadMain(
> LauncherHelper.java:526)
> Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.
> CommandLineParser
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>         ... 7 more
>
> command-1.txt reads:
>
> {
>     "clusterName": "jmemcached",
>     "componentName": "MEMCACHED",
>     "hostname": "quickstart.cloudera",
>     "hostLevelParams": {
>         "java_home": "/usr/lib/jvm/java/",
>         "container_id": "container_1493430076245_0007_01_000002",
>         "package_list": "[{\"type\":\"tarball\",\"
> name\":\"files/jmemcached-1.0.1.tar\"}]"
>     },
>     "commandType": "EXECUTION_COMMAND",
>     "roleCommand": "INSTALL",
>     "serviceName": "jmemcached",
>     "role": "MEMCACHED",
>     "commandParams": {
>         "record_config": "false",
>         "service_package_folder": "${AGENT_WORK_ROOT}/work/app/
> definition/package",
>         "script": "scripts/memcached.py",
>         "schema_version": "2.0",
>         "command_timeout": "600",
>         "script_type": "PYTHON"
>     },
>     "taskId": 1,
>     "public_hostname": "quickstart.cloudera",
>     "appmaster_hostname": "quickstart.cloudera",
>     "commandId": "1-1",
>     "configurations": {
>         "global": {
>             "security_enabled": "false",
>             "additional_cp": "",
>             "app_container_id": "container_1493430076245_0007_01_000002",
>             "listen_port": "11211",
>             "xms_val": "128m",
>             "app_root": "/var/lib/hadoop-yarn/cache/
> yarn/nm-local-dir/usercache/root/appcache/application_
> 1493430076245_0007/container_1493430076245_0007_01_000002/app/install",
>             "app_log_dir": "/var/log/hadoop-yarn/containers/application_
> 1493430076245_0007/container_1493430076245_0007_01_000002",
>             "xmx_val": "256m",
>             "pid_file": "/var/lib/hadoop-yarn/cache/
> yarn/nm-local-dir/usercache/root/appcache/application_
> 1493430076245_0007/container_1493430076245_0007_01_000002/
> app/run/component.pid",
>             "memory_val": "200M",
>             "app_container_tag": "1",
>             "app_pid_dir": "/var/lib/hadoop-yarn/cache/
> yarn/nm-local-dir/usercache/root/appcache/application_
> 1493430076245_0007/container_1493430076245_0007_01_000002/app/run",
>             "app_install_dir": "/var/lib/hadoop-yarn/cache/
> yarn/nm-local-dir/usercache/root/appcache/application_
> 1493430076245_0007/container_1493430076245_0007_01_000002/app/install",
>             "app_input_conf_dir": "/var/lib/hadoop-yarn/cache/
> yarn/nm-local-dir/usercache/root/appcache/application_
> 1493430076245_0007/container_1493430076245_0007_01_000002/propagatedconf"
>         }
>     }
> }
>
>
> With best regards:
>
>
> Bill
>
> ________________________________
> From: Foolish Ewe <foolish...@hotmail.com>
> Sent: Friday, April 28, 2017 6:56 PM
> To: dev@slider.incubator.apache.org
> Subject: Re: Slider fails to launch the memcached container in my version
> of the example, Registration Response gets a Error 415 Unsupported Media
> Type
>
> Thanks for the quick response Billie.  I've done a fresh run, I'm still
> seeing the same issue.
>
>
> I suspect that the json deserialization is not occurring, and that the
> deserializer is not being found at run time.
>
>
> For the current run, I've made a small change to the appConfig.json to
> remove the agent.ini, but didn't change the --manager lines.
>
> [root@quickstart mybuild]# cat ./incubator-slider/app-
> packages/memcached/appConfig.json
>
> {
>
>   "schema": "http://example.org/specification/v2.0.0";,
>
>   "metadata": {
>
>   },
>
>   "global": {
>
>     "application.def": ".slider/package/jmemcached/jmemcached-1.0.1.zip",
>
>     "java_home": "/usr/lib/jvm/java/",
>
>     "site.global.additional_cp": "",
>
>     "site.global.xmx_val": "256m",
>
>     "site.global.xms_val": "128m",
>
>     "site.global.memory_val": "200M",
>
>     "site.global.listen_port": "11211"
>
>   },
>
>   "components": {
>
>     "slider-appmaster": {
>
>       "jvm.heapsize": "256M"
>
>     }
>
>   }
>
> }
>
>
> The python version is:
>
> [root@quickstart mybuild]# python -V
>
> Python 2.7.5
>
>
>
> So that we can isolate relevant data based on log time stamps, the
> slider-agent.log shows the first failure at:
>
> INFO 2017-04-28 18:45:48,109 Controller.py:138 - Registering with the
> server at https://quickstart.cloudera:36837/ws/v1/slider/agents/
> container_1493405038155_0001_01_000002___MEMCACHED/register with data
> '{"actualState": 0, "logFolders": {}, "agentVersion": "1",
> "allocatedPorts": {}, "timestamp": 1493405148109, "expectedState": 0,
> "tags": "", "responseId": -1, "publicHostname": "quickstart.cloudera",
> "label": "container_1493405038155_0001_01_000002___MEMCACHED"}'
> INFO 2017-04-28 18:45:48,109 security.py:89 - SSL Connect being called..
> connecting to the server
> INFO 2017-04-28 18:45:48,181 security.py:51 - SSL connection established.
> Two-way SSL authentication is turned off on the server.
> INFO 2017-04-28 18:45:48,194 Controller.py:140 - Registration response =
> '<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html;
> charset=ISO-8859-1"/>\n<title>Error 415 Unsupported Media
> Type</title>\n</head>\n<body><h2>HTTP ERROR 415</h2>\n<p>Problem
> accessing /ws/v1/slider/agents/container_1493405038155_0001_
> 01_000002___MEMCACHED/register. Reason:\n<pre>    Unsupported Media
> Type</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
>                                       \n<br/>
>                   \n<br/>
> \n<br/>                                                \n<br/>
>                                   \n<br/>
>               \n<br/>
> \n<br/>                                                \n<br/>
>                                   \n<br/>
>               \n<br/>
> \n<br/>                                                \n<br/>
>                                   \n<br/>
>               \n<br/>
> \n<br/>                                                \n<br/>
>                                   \n<br/>
>               \n<br/>
> \n<br/>
> \n\n</body>\n</html>\n'
>
>
>
>
> The AM logs have slider have slider-err.txt which has repeated reports
> corresponding to the SEVERE message at the end:
>
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in [jar:file:/var/lib/hadoop-
> yarn/cache/yarn/nm-local-dir/usercache/root/appcache/
> application_1493405038155_0001/filecache/74/slider.jar!/org/slf4j/impl/
> StaticLoggerBinder.class]
> SLF4J: Found binding in [jar:file:/var/lib/hadoop-
> yarn/cache/yarn/nm-local-dir/usercache/root/appcache/
> application_1493405038155_0001/filecache/20/slider-core-
> 0.60.0-incubating.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in [jar:file:/var/lib/hadoop-
> yarn/cache/yarn/nm-local-dir/usercache/root/appcache/
> application_1493405038155_0001/filecache/27/slf4j-
> log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> SLF4J Error Codes<http://www.slf4j.org/codes.html#multiple_bindings>
> www.slf4j.org
> SLF4J warning or error messages and their meanings No SLF4J providers were
> found. This warning, i.e. not an error, message is reported when no SLF4J
> ...
>
>
>
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> Apr 28, 2017 6:45:39 PM com.sun.jersey.api.core.PackagesResourceConfig
> init
> INFO: Scanning for root resource and provider classes in the packages:
>   org.apache.slider.server.appmaster.web.rest.agent
> Apr 28, 2017 6:45:41 PM com.sun.jersey.api.core.ScanningResourceConfig
> logClasses
> INFO: Root resource classes found:
>   class org.apache.slider.server.appmaster.web.rest.agent.AgentWebServices
> Apr 28, 2017 6:45:41 PM com.sun.jersey.api.core.ScanningResourceConfig
> init
> INFO: No provider classes found.
> Apr 28, 2017 6:45:42 PM 
> com.sun.jersey.server.impl.application.WebApplicationImpl
> _initiate
> INFO: Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17
> AM'
> Apr 28, 2017 6:45:48 PM com.sun.jersey.spi.inject.Errors
> processErrorMessages
> WARNING: The following warnings have been detected with resource and/or
> provider classes:
>   WARNING: A sub-resource method, public javax.ws.rs.core.Response
> org.apache.slider.server.appmaster.web.rest.agent.AgentResource.endpointRoot(),
> with URI template, "/", is treated as a resource method
> Apr 28, 2017 6:45:48 PM com.sun.jersey.spi.container.ContainerRequest
> getEntity
> SEVERE: A message body reader for Java class org.apache.slider.server.
> appmaster.web.rest.agent.Register, and Java type class
> org.apache.slider.server.appmaster.web.rest.agent.Register, and MIME
> media type application/json was not found.
> The registered message body readers compatible with the MIME media type
> are:
> */* ->
>   com.sun.jersey.core.impl.provider.entity.FormProvider
>   com.sun.jersey.core.impl.provider.entity.StringProvider
>   com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
>   com.sun.jersey.core.impl.provider.entity.FileProvider
>   com.sun.jersey.core.impl.provider.entity.InputStreamProvider
>   com.sun.jersey.core.impl.provider.entity.DataSourceProvider
>   com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
>   com.sun.jersey.core.impl.provider.entity.ReaderProvider
>   com.sun.jersey.core.impl.provider.entity.DocumentProvider
>   com.sun.jersey.core.impl.provider.entity.SourceProvider$
> StreamSourceReader
>   com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader
>   com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader
>   com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General
>   com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General
>   com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General
>   com.sun.jersey.core.impl.provider.entity.EntityHolderReader
>
>
>
> The AM Logs for slider.log reports:
>
> 2017-04-28 18:45:45,398 [main] INFO  agent.AgentClientProvider -
> Validating app definition .slider/package/jmemcached/jmemcached-1.0.1.zip
> 2017-04-28 18:45:45,416 [AmExecutor-006] INFO  state.AppState - Reviewing
> RoleStatus{name='MEMCACHED', key=1, minimum=0, maximum=1, desired=1,
> actual=0, requested=0, releasing=0, failed=0, started=0, startFailed=0,
> completed=0, failureMessage=''} : expected 1
> 2017-04-28 18:45:45,417 [AmExecutor-006] INFO  state.AppState - MEMCACHED:
> Asking for 1 more nodes(s) for a total of 1
> 2017-04-28 18:45:45,422 [AmExecutor-006] INFO  state.AppState - Container
> ask is Capability[<memory:256, vCores:1>]Priority[1073741825] and label =
> null
> 2017-04-28 18:45:46,805 [AMRM Heartbeater thread] INFO
> impl.AMRMClientImpl - Received new token for : quickstart.cloudera:42111
> 2017-04-28 18:45:46,806 [AMRM Callback Handler Thread] INFO
> appmaster.SliderAppMaster - onContainersAllocated(1)
> 2017-04-28 18:45:46,808 [AMRM Callback Handler Thread] INFO
> state.AppState - Assigning role MEMCACHED to container
> container_1493405038155_0001_01_000002, on quickstart.cloudera:42111,
> 2017-04-28 18:45:46,811 [AMRM Callback Handler Thread] INFO
> appmaster.SliderAppMaster - Diagnostics: RoleStatus{name='slider-appmaster',
> key=0, minimum=0, maximum=1, desired=1, actual=1, requested=0, releasing=0,
> failed=0, started=1, startFailed=0, completed=0, failureMessage=''}
> RoleStatus{name='MEMCACHED', key=1, minimum=0, maximum=1, desired=1,
> actual=1, requested=0, releasing=0, failed=0, started=0, startFailed=0,
> completed=0, failureMessage=''}
>
> 2017-04-28 18:45:46,826 [RoleLaunchService-007] INFO
> agent.AgentProviderService - Build launch context for Agent
> 2017-04-28 18:45:46,830 [RoleLaunchService-007] INFO
> agent.AgentProviderService - AGENT_WORK_ROOT set to $PWD
> 2017-04-28 18:45:46,830 [RoleLaunchService-007] INFO
> agent.AgentProviderService - AGENT_LOG_ROOT set to <LOG_DIR>
> 2017-04-28 18:45:46,830 [RoleLaunchService-007] INFO
> agent.AgentProviderService - PYTHONPATH set to ./infra/agent/slider-agent/
> 2017-04-28 18:45:46,846 [RoleLaunchService-007] INFO
> agent.AgentProviderService - Using ./infra/agent/slider-agent/agent/main.py
> for agent.
> 2017-04-28 18:45:46,852 [RoleLaunchService-007] INFO
> appmaster.RoleLaunchService - Starting container with command: python
> ./infra/agent/slider-agent/agent/main.py --label
> container_1493405038155_0001_01_000002___MEMCACHED --zk-quorum
> localhost:2181 --zk-reg-path 
> /registry/users/root/services/org-apache-slider/jmemcached
> > <LOG_DIR>/slider-agent.out 2>&1 ;
> 2017-04-28 18:45:46,852 [RoleLaunchService-007] INFO
> appmaster.RoleLaunchService - Container launch delay for MEMCACHED set to 0
> seconds
> 2017-04-28 18:45:46,906 [AmExecutor-006] WARN  appmaster.SliderAppMaster -
> No delegation tokens obtained and set for launch context
> 2017-04-28 18:45:46,984 
> [org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl
> #0] INFO  impl.NMClientAsyncImpl - Processing Event EventType:
> START_CONTAINER for Container container_1493405038155_0001_01_000002
> 2017-04-28 18:45:46,987 
> [org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl
> #0] INFO  impl.ContainerManagementProtocolProxy - Opening proxy :
> quickstart.cloudera:42111
> 2017-04-28 18:45:47,066 
> [org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl
> #0] INFO  appmaster.SliderAppMaster - Started Container
> container_1493405038155_0001_01_000002
> 2017-04-28 18:45:47,228 
> [org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl
> #0] INFO  appmaster.SliderAppMaster - Deployed instance of role MEMCACHED
> onto container_1493405038155_0001_01_000002
> 2017-04-28 18:45:47,229 [AmExecutor-006] INFO  appmaster.SliderAppMaster -
> Registering component container_1493405038155_0001_01_000002
> 2017-04-28 18:45:47,232 
> [org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl
> #1] INFO  impl.NMClientAsyncImpl - Processing Event EventType:
> QUERY_CONTAINER for Container container_1493405038155_0001_01_000002
> 2017-04-28 18:45:47,232 
> [org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl
> #1] INFO  impl.ContainerManagementProtocolProxy - Opening proxy :
> quickstart.cloudera:42111
> 2017-04-28 18:45:47,243 [AmExecutor-006] INFO
> zk.RegistryOperationsService - Bound at /users/root/services/org-
> apache-slider/jmemcached/components/container-1493405038155-0001-01-000002
> : ServiceRecord{description='MEMCACHED'; external endpoints: {}; internal
> endpoints: {}, attributes: {"yarn:id"="container-1493405038155-0001-01-000002"
> "yarn:persistence"="container" }}
> 2017-04-28 18:47:44,870 [Thread-37] WARN  agent.HeartbeatMonitor -
> Component ComponentInstanceState{containerIdAsString='
> container_1493405038155_0001_01_000002', state=INIT, failuresSeen=0,
> lastHeartbeat=1493405146852, containerState=UNHEALTHY,
> componentName='MEMCACHED'} marked UNHEALTHY. Last heartbeat received at
> 1493405146852 approx. 118017 ms. back.
> 2017-04-28 18:48:44,872 [Thread-37] WARN  agent.HeartbeatMonitor -
> Component ComponentInstanceState{containerIdAsString='
> container_1493405038155_0001_01_000002', state=INIT, failuresSeen=0,
> lastHeartbeat=1493405146852, containerState=HEARTBEAT_LOST,
> componentName='MEMCACHED'} marked HEARTBEAT_LOST. Last heartbeat received
> at 1493405146852 approx. 178020 ms. back.
> 2017-04-28 18:48:44,873 [AmExecutor-006] INFO  appmaster.SliderAppMaster -
> containerLostContactWithProvider: container 
> container_1493405038155_0001_01_000002
> lost
> 2017-04-28 18:48:44,875 [AmExecutor-006] INFO  appmaster.SliderAppMaster -
> Container released; triggering review
> 2017-04-28 18:48:44,875 [AmExecutor-006] INFO  state.AppState - Reviewing
> RoleStatus{name='MEMCACHED', key=1, minimum=0, maximum=1, desired=1,
> actual=1, requested=0, releasing=1, failed=0, started=1, startFailed=0,
> completed=0, failureMessage=''} : expected 1
> 2017-04-28 18:48:45,282 [AMRM Callback Handler Thread] INFO
> appmaster.SliderAppMaster - onContainersCompleted([1]
> 2017-04-28 18:48:45,282 [AMRM Callback Handler Thread] INFO
> appmaster.SliderAppMaster - Container Completion for 
> containerID=container_1493405038155_0001_01_000002,
> state=COMPLETE, exitStatus=-100, diagnostics=Container released by
> application
> 2017-04-28 18:48:45,283 [AMRM Callback Handler Thread] INFO
> state.AppState - Container was queued for release :
> container_1493405038155_0001_01_000002
> 2017-04-28 18:48:45,283 [AMRM Callback Handler Thread] INFO
> state.AppState - decrementing role count for role MEMCACHED to 0;
> releasing=0, completed=0
> 2017-04-28 18:48:45,737 [AMRM Callback Handler Thread] INFO
> state.AppState - Removing node ID container_1493405038155_0001_01_000002
> 2017-04-28 18:48:45,738 [AmExecutor-006] INFO  appmaster.SliderAppMaster -
> Unregistering component container_1493405038155_0001_01_000002
>
>
>
>
>
> ________________________________
> From: Billie Rinaldi <billie.rina...@gmail.com>
> Sent: Friday, April 28, 2017 3:23 PM
> To: dev@slider.incubator.apache.org
> Subject: Re: Slider fails to launch the memcached container in my version
> of the example, Registration Response gets a Error 415 Unsupported Media
> Type
>
> I tried spinning up a memcached app and did not encounter this issue. I
> don't really see anything wrong with your configuration. We do not
> recommend trying to use a custom agent.ini, so I'd remove that. Also you
> don't have to specify --manager localhost:8032 in the Slider create command
> when Slider is reading that info from the yarn-site.xml. I don't expect
> those changes to affect the issue you're seeing, though. What version of
> Python are you using? What does the AM log say?
>
> On Thu, Apr 27, 2017 at 5:47 PM, Foolish Ewe <foolish...@hotmail.com>
> wrote:
>
> > Hello All:
> >
> >
> > First, thanks to Billie Rinaldi for the previous help, however I am still
> > trying to get the memcached example to work in my slider environment and
> I
> > could use some guidance as to whether there is some configuration error
> or
> > an actual slider issue.
> >
> > Informally it looks like the application master container is launched but
> > the container that is supposed to launch memcached is failing at
> > registration time, in particular, after adding some logging, I wee that
> the
> > Registration Response is as follows:
> >
> > INFO 2017-04-27 21:58:40,722 Controller.py:140 - Registration response =
> > '<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html;
> > charset=ISO-8859-1"/>\n<title>Error 415 Unsupported Media
> > Type</title>\n</head>\n<body><h2>HTTP ERROR 415</h2>\n<p>Problem
> > accessing /ws/v1/slider/agents/container_1493330089109_0001_
> 01_000002___MEMCACHED/register.
> > Reason:\n<pre>    Unsupported Media Type</pre></p><hr /><i><small>Powered
> > by Jetty://</small></i><br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n\n</body>\n</html>\n'
> >
> >
> >
> >
> > Here is a more detailed description of what I did and my configuration.
> I
> > run the following commands in a single node docker instance (effectively
> on
> > a logical edge node):
> >
> > To install the package I run the command:
> >
> > /usr/lib/slider/bin/slider install-package --package
> > /tmp/mybuild/incubator-slider/app-packages/memcached/
> jmemcached-1.0.1.zip
> > --name jmemcached --debug --replacepkg
> >
> > To launch the package I run the command:
> >
> > /usr/lib/slider/bin/slider create jmemcached --template
> > /tmp/mybuild/incubator-slider/app-packages/memcached/appConfig.json
> > --resources /tmp/mybuild/incubator-slider/app-packages/memcached/
> resources-default.json
> > --manager localhost:8032 --debug
> >
> > Where the configuration files read:
> >
> > [root@quickstart mybuild]# cat /tmp/mybuild/incubator-slider/
> > app-packages/memcached/appConfig.json
> >
> > {
> >
> >   "schema": "http://example.org/specification/v2.0.0";,
> >
> >   "metadata": {
> >
> >   },
> >
> >   "global": {
> >
> >     "agent.conf": "artifacts/agent/conf/agent.ini",
> >
> >     "application.def": ".slider/package/jmemcached/
> jmemcached-1.0.1.zip",
> >
> >     "java_home": "/usr/lib/jvm/java/",
> >
> >     "site.global.additional_cp": "",
> >
> >     "site.global.xmx_val": "256m",
> >
> >     "site.global.xms_val": "128m",
> >
> >     "site.global.memory_val": "200M",
> >
> >     "site.global.listen_port": "11211"
> >
> >   },
> >
> >   "components": {
> >
> >     "slider-appmaster": {
> >
> >       "jvm.heapsize": "256M"
> >
> >     }
> >
> >   }
> >
> > }
> >
> > [root@quickstart mybuild]# cat /tmp/mybuild/incubator-slider/
> > app-packages/memcached/resources-default.json
> >
> > {
> >
> >   "schema" : "http://example.org/specification/v2.0.0";,
> >
> >   "metadata" : {
> >
> >   },
> >
> >   "global" : {
> >
> >   },
> >
> >   "components": {
> >
> >     "slider-appmaster": {
> >
> >     },
> >
> >     "MEMCACHED": {
> >
> >       "yarn.role.priority": "1",
> >
> >       "yarn.component.instances": "1",
> >
> >       "yarn.memory": "256"
> >
> >     }
> >
> >   }
> >
> > }
> >
> > [root@quickstart mybuild]# cat ./incubator-slider/app-package
> > s/memcached/metainfo.xml
> >
> > <?xml version="1.0"?>
> >
> > <!--
> >
> >    Licensed to the Apache Software Foundation (ASF) under one or more
> >
> >    contributor license agreements.  See the NOTICE file distributed with
> >
> >    this work for additional information regarding copyright ownership.
> >
> >    The ASF licenses this file to You under the Apache License, Version
> 2.0
> >
> >    (the "License"); you may not use this file except in compliance with
> >
> >    the License.  You may obtain a copy of the License at
> >
> >
> >        http://www.apache.org/licenses/LICENSE-2.0
> Apache License 2.0 - Apache Software Foundation<http://www.apache.
> org/licenses/LICENSE-2.0>
> www.apache.org
> Apache License Version 2.0, January 2004 http://www.apache.org/licenses/
> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions
> ...
>
>
>
> Apache License 2.0 - Apache Software Foundation<http://www.apache.
> org/licenses/LICENSE-2.0>
> Apache License 2.0 - Apache Software Foundation<http://www.apache.
> org/licenses/LICENSE-2.0>
> www.apache.org
> Apache License Version 2.0, January 2004 http://www.apache.org/licenses/
> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions
> ...
>
>
>
> www.apache.org<http://www.apache.org>
> Welcome to The Apache Software Foundation!<http://www.apache.org/>
> www.apache.org
> Open. The Apache Software Foundation. provides support for the Apache
> Community of open-source software projects, which provide software products
> for the public good.
>
>
>
> Apache License Version 2.0, January 2004 http://www.apache.org/licenses/
> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions
> ...
> Apache Licenses - Apache Software Foundation<http://www.apache.
> org/licenses/>
> www.apache.org
> The Apache Software Foundation uses various licenses to distribute
> software and documentation, to accept regular contributions from
> individuals and corporations, and ...
>
>
>
>
>
>
> >
> >
> >    Unless required by applicable law or agreed to in writing, software
> >
> >    distributed under the License is distributed on an "AS IS" BASIS,
> >
> >    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> >
> >    See the License for the specific language governing permissions and
> >
> >    limitations under the License.
> >
> > -->
> >
> >
> > <metainfo>
> >
> >   <schemaVersion>2.0</schemaVersion>
> >
> >   <application>
> >
> >     <name>MEMCACHED</name>
> >
> >     <comment>Memcache is a network accessible key/value storage system,
> > often used as a distributed cache.</comment>
> >
> >     <!-- Changed version to see if I can get a hand built fat jar to
> work,
> > where I control dependencies
> >
> >     <version>1.0.0</version>
> >
> >     -->
> >
> >     <version>1.0.1-SNAPSHOT-jar-with-dependencies</version>
> >
> >     <exportedConfigs>None</exportedConfigs>
> >
> >     <exportGroups>
> >
> >       <exportGroup>
> >
> >         <name>Servers</name>
> >
> >         <exports>
> >
> >           <export>
> >
> >             <name>host_port</name>
> >
> >             <value>${MEMCACHED_HOST}:${site.global.listen_port}</value>
> >
> >           </export>
> >
> >         </exports>
> >
> >       </exportGroup>
> >
> >     </exportGroups>
> >
> >
> >     <components>
> >
> >       <component>
> >
> >         <name>MEMCACHED</name>
> >
> >         <category>MASTER</category>
> >
> >         <compExports>Servers-host_port</compExports>
> >
> >         <commandScript>
> >
> >           <script>scripts/memcached.py</script>
> >
> >           <scriptType>PYTHON</scriptType>
> >
> >         </commandScript>
> >
> >       </component>
> >
> >     </components>
> >
> >
> >     <osSpecifics>
> >
> >       <osSpecific>
> >
> >         <osType>any</osType>
> >
> >         <packages>
> >
> >           <package>
> >
> >             <type>tarball</type>
> >
> >             <name>files/jmemcached-1.0.1.tar</name>
> >
> >           </package>
> >
> >         </packages>
> >
> >       </osSpecific>
> >
> >     </osSpecifics>
> >
> >
> >   </application>
> >
> > </metainfo>
> >
> > I did some code diving and enhance the logging, based on earlier
> > observations:
> > In Controller.py I added some logging, in particular look at the
> > Registration Response and to determine if the registerUrl was well
> formed.
> >
> > self.registerUrl = self.server_url + SLIDER_PATH_AGENTS + self.label +
> > SLIDER_REL_PATH_REGISTER
> >
> > #Some code omitted
> >
> > while not self.isRegistered:
> >   try:
> >     data = json.dumps(self.register.build(
> >       self.componentActualState,
> >       self.componentExpectedState,
> >       self.actionQueue.customServiceOrchestrator.allocated_ports,
> >       self.actionQueue.customServiceOrchestrator.log_folders,
> >       self.tags,
> >       id))
> >     logger.info("Registering with the server at " + self.registerUrl +
> >                 " with data " + pprint.pformat(data))
> >     response = self.sendRequest(self.registerUrl, data)
> >     logger.info("Registration response = " + pprint.pformat(response))
> >     logger.info("Dumping dir(self) = " + pprint.pformat(dir(self)))
> >     logger.info("Dumping vars(self) = " + pprint.pformat(vars(self)))
> >     logger.info("Dumping vars(self.config" +
> > pprint.pformat(vars(self.config)))
> >     regResp = json.loads(response)
> >
> > The logs indicated several HTTP 415 error responses, that seemed to
> > prevent the launch.
> >
> > INFO 2017-04-27 21:58:40,606 Controller.py:138 - Registering with the
> > server at https://quickstart.cloudera:42131/ws/v1/slider/agents/contai
> > ner_1493330089109_0001_01_000002___MEMCACHED/register with data
> > '{"actualState": 0, "logFolders": {}, "agentVersion": "1",
> > "allocatedPorts": {}, "timestamp": 1493330320605, "expectedState": 0,
> > "tags": "", "responseId": -1, "publicHostname": "quickstart.cloudera",
> > "label": "container_1493330089109_0001_01_000002___MEMCACHED"}'
> >
> >
> > [ Lines removed to reduce log noise]
> >
> > INFO 2017-04-27 21:58:40,722 Controller.py:140 - Registration response =
> > '<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html;
> > charset=ISO-8859-1"/>\n<title>Error 415 Unsupported Media
> > Type</title>\n</head>\n<body><h2>HTTP ERROR 415</h2>\n<p>Problem
> > accessing /ws/v1/slider/agents/container_1493330089109_0001_
> 01_000002___MEMCACHED/register.
> > Reason:\n<pre>    Unsupported Media Type</pre></p><hr /><i><small>Powered
> > by Jetty://</small></i><br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n<br/>
> > \n<br/>                                                \n<br/>
> >                                   \n<br/>
> >               \n\n</body>\n</html>\n'
> > [Lines removed here to reduce log noise]
> > INFO 2017-04-27 21:58:40,724 Controller.py:143 - Dumping
> > vars(self.config{'label': 'container_1493330089109_0001_
> > 01_000002___MEMCACHED',
> >  'logroot': '/var/log/hadoop-yarn/containers/application_1493330089109_
> > 0001/container_1493330089109_0001_01_000002',
> >  'workroot': '/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/
> root
> > /appcache/application_1493330089109_0001/container_149333008
> > 9109_0001_01_000002'}
> > INFO 2017-04-27 21:58:40,725 Controller.py:185 - Unable to connect to:
> > https://quickstart.cloudera:42131/ws/v1/slider/agents/contai
> > ner_1493330089109_0001_01_000002___MEMCACHED/register
> > Traceback (most recent call last):
> >   File "/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/root
> > /appcache/application_1493330089109_0001/filecache/21/
> > slider-agent.tar.gz/slider-agent/agent/Controller.py", line 144, in
> > registerWithServer
> >     regResp = json.loads(response)
> >   File "/usr/lib64/python2.7/json/__init__.py", line 338, in loads
> >     return _default_decoder.decode(s)
> >   File "/usr/lib64/python2.7/json/decoder.py", line 366, in decode
> >     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
> >   File "/usr/lib64/python2.7/json/decoder.py", line 384, in raw_decode
> >     raise ValueError("No JSON object could be decoded")
> > ValueError: No JSON object could be decoded
> >
> >
> > I did some code diving and enhance the logging, where I put strings in a
> > python list and dump the information once the logging output is
> configured
> > (hence the multiple logged messages at line 265).
> > i.e, main.py has:
> >
> > def main():
> >   parser = OptionParser()
> >   parser.add_option("-v", "--verbose", dest="verbose", help="verbose log
> > output", default=False)
> >   parser.add_option("-l", "--label", dest="label", help="label of the
> > agent", default=None)
> >   parser.add_option("--zk-quorum", dest=Constants.ZK_QUORUM,
> > help="Zookeeper Quorum", default=None)
> >   parser.add_option("--zk-reg-path", dest=Constants.ZK_REG_PATH,
> > help="Zookeeper Registry Path", default=None)
> >   parser.add_option("--debug", dest="debug", help="Agent debug hint",
> > default="")
> >   (options, args) = parser.parse_args()
> >   preLogConfigStrs = ["after parse_args, args = " + pprint.pformat(args),
> >     "after parse_args, options = " + pprint.pformat(options),
> >     "after parse_args, vars(options) = " + pprint.pformat(vars(options)),
> >     "after parse_args, sys.argv = " + pprint.pformat(sys.argv)]
> >
> > #some code omitted
> >
> > logger.info("Using AGENT_WORK_ROOT = " + options.root_folder)
> > logger.info("Using AGENT_LOG_ROOT = " + options.log_folder)
> > logger.info("logFile = " + repr(logFile))
> > logger.info("Dumping data to log acquired before logging configuration
> > was complete")
> > for str in preLogConfigStrs:
> >   logger.info(str)
> >
> > Further inspection of the failed containers  launching jmemcached, shows
> > that the command line arguments have the
> >
> > INFO 2017-04-27 21:58:40,285 main.py:97 - Newloglevel=logging.DEBUG
> > INFO 2017-04-27 21:58:40,285 main.py:260 - Using AGENT_WORK_ROOT =
> > /var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/root/
> > appcache/application_1493330089109_0001/container_1493330089
> > 109_0001_01_000002
> > INFO 2017-04-27 21:58:40,285 main.py:261 - Using AGENT_LOG_ROOT =
> > /var/log/hadoop-yarn/containers/application_1493330089109_
> > 0001/container_1493330089109_0001_01_000002
> > INFO 2017-04-27 21:58:40,285 main.py:262 - logFile =
> > '/var/log/hadoop-yarn/containers/application_1493330089109_
> > 0001/container_1493330089109_0001_01_000002/./slider-agent.log'
> > INFO 2017-04-27 21:58:40,285 main.py:263 - Dumping data to log acquired
> > before logging configuration was complete
> > INFO 2017-04-27 21:58:40,285 main.py:265 - after parse_args, args = []
> > INFO 2017-04-27 21:58:40,285 main.py:265 - after parse_args, options =
> > <Values at 0x2bde2d8: {'debug': '', 'zk_quorum': 'localhost:2181',
> > 'zk_reg_path': '/registry/users/root/services
> > /org-apache-slider/jmemcached', 'verbose': False, 'label':
> > 'container_1493330089109_0001_01_000002___MEMCACHED'}>
> > INFO 2017-04-27 21:58:40,285 main.py:265 - after parse_args,
> vars(options)
> > = {'debug': '',
> >  'label': 'container_1493330089109_0001_01_000002___MEMCACHED',
> >  'verbose': False,
> >  'zk_quorum': 'localhost:2181',
> >  'zk_reg_path': '/registry/users/root/services
> > /org-apache-slider/jmemcached'}
> > INFO 2017-04-27 21:58:40,285 main.py:265 - after parse_args, sys.argv =
> > ['./infra/agent/slider-agent/agent/main.py',
> >  '--label',
> >  'container_1493330089109_0001_01_000002___MEMCACHED',
> >  '--zk-quorum',
> >  'localhost:2181',
> >  '--zk-reg-path',
> >  '/registry/users/root/services/org-apache-slider/jmemcached']
> >
> >
> > I'm still trying to get to the bottom of this, any ideas of what should
> be
> > done next?
> >
> >
> > With best regards:
> >
> >
> > Bill
> >
>

Reply via email to