At some point, it is expected that the component host:port info ( i.e. component discovery) is available in registry - Right ?
On Wed, Jan 13, 2016 at 12:55 PM, Gour Saha <gs...@hortonworks.com> wrote: > It is actually the other way round. The AM does not know about the > components. The components lookup the registry to find the AM host:port > and then heartbeat into it. In one of the heartbeat cycle it sends all its > config info to AM. This design works well for AM fault tolerance as well. > > -Gour > > On 1/13/16, 12:40 PM, "Josh Elser" <josh.el...@gmail.com> wrote: > > >Yeah, I'm with you Manoj. It seems wrong to not see the exports for > >jmemcached. > > > >Gour -- am I missing something too? > > > >Manoj Samel wrote: > >> Shouldn't it also show component host:port in ZK when they are being > >> exported in registry ? I thought that was the idea of registry ... > >> > >> On Tue, Jan 12, 2016 at 10:25 PM, Gour Saha<gs...@hortonworks.com> > >>wrote: > >> > >>> The only host port that is in zk is that of the AM. > >>> > >>> -Gour > >>> > >>>> On Jan 12, 2016, at 6:21 PM, "Manoj Samel"<manojsamelt...@gmail.com> > >>> wrote: > >>>> Agreed. But I am not seeing even the host/port that is supposed to be > >>>>in > >>> ZK > >>>> Thanks, > >>>> > >>>> Manoj > >>>> > >>>>> On Tue, Jan 12, 2016 at 5:52 PM, Gour Saha<gs...@hortonworks.com> > >>> wrote: > >>>>> In case you are expecting the data to be in zk, then you should know > >>> that > >>>>> Slider stores a very small amount of metadata (primarily endpoints > >>>>>and > >>>>> resource paths to AM) using which you can retrieve the actual data. > >>>>>Most > >>>>> of the information is stored in AM runtime memory and not persisted > >>>>> anywhere. In case of AM failure all the AM state is rebuilt. > >>>>> > >>>>> -Gour > >>>>> > >>>>>> On 1/12/16, 5:24 PM, "Manoj Samel"<manojsamelt...@gmail.com> > wrote: > >>>>>> > >>>>>> Hi Gour, > >>>>>> > >>>>>> As you asked, the urls and their outputs > >>>>>> > >>>>>> http://host36:1025/ws/v1/slider/publisher/exports > >>>>>> > >>>>>> > >>> > >>>{"exports":{"container_log_dirs":{"description":"container_log_dirs","up > >>>da > >>>>>> ted":1452647463881,"updatedTime":"Wed > >>>>>> Jan 13 01:11:03 UTC > >>>>>> > >>> > >>>2016","entries":{},"empty":true},"container_work_dirs":{"description":"c > >>>on > >>>>>> tainer_work_dirs","updated":1452647463881,"updatedTime":"Wed > >>>>>> Jan 13 01:11:03 UTC 2016","entries":{},"empty":true}}} > >>>>>> > >>>>>> http://host36:1025/ws/v1/slider/publisher > >>>>>> > >>>>>> {"uris":{"slider":"http://host36:1025/ws/v1/slider/publisher/slider > >>>>> ","expo > >>>>>> rts":"http://host36:1025/ws/v1/slider/publisher/exports"}} > >>>>>> > >>>>>> http://host36:1025/ws/v1/slider/publisher/slider > >>>>>> > >>>>>> {"configurations":{"hdfs-site":{"description":"HDFS site > >>>>>> > >>> > >>>settings","updated":0,"entries":{},"empty":true},"yarn-site":{"descripti > >>>on > >>>>>> ":"YARN > >>>>>> site > >>>>>> > >>> > >>>settings","updated":0,"entries":{},"empty":true},"complete-config":{"des > >>>cr > >>>>>> iption":"Complete > >>>>>> slider application > >>>>>> > >>> > >>>settings","updated":0,"entries":{},"empty":true},"core-site":{"descripti > >>>on > >>>>>> ":"Core > >>>>>> site > >>>>>> > >>> > >>>settings","updated":0,"entries":{},"empty":true},"componentinstancedata" > >>>:{ > >>> > >>>"description":"ComponentInstanceData","updated":0,"entries":{},"empty":t > >>>ru > >>>>>> e}}} > >>>>>> > >>>>>> Thanks, > >>>>>> > >>>>>> Manoj > >>>>>> > >>>>>> > >>>>>>> On Tue, Jan 12, 2016 at 3:03 PM, Gour Saha<gs...@hortonworks.com> > >>> wrote: > >>>>>>> When you do the below get, you will see an api entry for > >>>>>>> "classpath:org.apache.slider.publisher.exports" > >>>>>>> > >>>>>>> get /registry/users/foo/services/org-apache-slider/<appname> > >>>>>>> > >>>>>>> Do a curl on the uri value. The uri will be in the format of > >>>>>>> http://host:port/ws/v1/slider/publisher/exports. Do you find the > >>>>>>>info > >>>>>>> you > >>>>>>> are looking for there? > >>>>>>> > >>>>>>> Also do a curl on the path ws/v1/slider/publisher and its > >>>>>>>sub-paths. > >>>>>>> What > >>>>>>> do you see? > >>>>>>> > >>>>>>> -Gour > >>>>>>> > >>>>>>> From: Manoj Samel<manojsamelt...@gmail.com<mailto: > >>>>>>> manojsamelt...@gmail.com>> > >>>>>>> Reply-To: "dev@slider.incubator.apache.org<mailto: > >>>>>>> dev@slider.incubator.apache.org>" > >>>>>>> <dev@slider.incubator.apache.org<mailto: > >>>>>>> dev@slider.incubator.apache.org>> > >>>>>>> Date: Tuesday, January 12, 2016 at 11:24 AM > >>>>>>> To: "dev@slider.incubator.apache.org<mailto: > >>>>>>> dev@slider.incubator.apache.org>" > >>>>>>> <dev@slider.incubator.apache.org<mailto: > >>>>>>> dev@slider.incubator.apache.org>> > >>>>>>> Subject: Re: Component level host:port export seen in AM but not > >>>>>>>in ZK > >>>>>>> > >>>>>>> Hi Josh, > >>>>>>> > >>>>>>> I have created a minimal use case using the jmemcached to reproduce > >>> the > >>>>>>> problem. The only change from OOB jmemcached is I am passing > >>> additional > >>>>>>> ports (not relevant for jmem but relevant for my ultimate use > >>>>>>>case), > >>>>>>> one of > >>>>>>> which I try to export. > >>>>>>> > >>>>>>> I have attached the 3 config files as well as a output file > >>>>>>>containing > >>>>>>> the > >>>>>>> slider-am URL output (which contains the component host:port) and > >>>>>>>ZK > >>>>>>> output > >>>>>>> (which does not contains component host:port). > >>>>>>> > >>>>>>> Thanks for looking into the issue& let me know if you need > >>>>>>>additional > >>>>>>> info > >>>>>>> > >>>>>>> Manoj > >>>>>>> > >>>>>>> On Sun, Jan 10, 2016 at 11:26 AM, Josh Elser > >>>>>>> <josh.el...@gmail.com<mailto: > >>>>>>> josh.el...@gmail.com>> wrote: > >>>>>>> Hey Manoj, > >>>>>>> > >>>>>>> I'm not sure at a glance, but it might be a bug in Slider's use of > >>>>>>>the > >>>>>>> registry? I'm not quite sure, I'd have to dig into the source to be > >>>>>>> sure. > >>>>>>> > >>>>>>> Do you have an example that I could run which exhibits this? > >>>>>>> > >>>>>>> > >>>>>>> Manoj Samel wrote: > >>>>>>> Any thoughts ? > >>>>>>> > >>>>>>> Thanks, > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> On Thu, Jan 7, 2016 at 10:25 AM, Manoj > >>>>>>>Samel<manojsamelt...@gmail.com > >>>>>>> <mailto:manojsamelt...@gmail.com>> > >>>>>>> wrote: > >>>>>>> > >>>>>>> Hi, > >>>>>>> > >>>>>>> Slider 0.80 with secured cluster. Registry is enabled *** without > >>>>>>>*** > >>>>>>> security > >>>>>>> > >>>>>>> Export is configured as follows > >>>>>>> > >>>>>>> 1. No application level export > >>>>>>> 2. Component level port allocated per container. In appConfig.json, > >>> *** > >>>>>>> "global" *** section > >>>>>>> "site.global.user1.http_port": > >>>>>>> "${user1.ALLOCATED_PORT}{PER_CONTAINER}", > >>>>>>> 3. Each component exports its own host/port (slider allocated). > >>>>>>> metainfo.xml > >>>>>>> <components> > >>>>>>> <component> > >>>>>>> <name>user1</name> > >>>>>>> <category>MASTER</category> > >>>>>>> <componentExports> > >>>>>>> <componentExport> > >>>>>>> <name>my_info</name> > >>>>>>> > >>>>>>><value>${THIS_HOST}:${user1.http_port}</value> > >>>>>>> </componentExport> > >>>>>>> </componentExports> > >>>>>>> <commandScript> > >>>>>>> <script>scripts/memcached.py</script> > >>>>>>> <scriptType>PYTHON</scriptType> > >>>>>>> </commandScript> > >>>>>>> </component> > >>>>>>> > >>>>>>> At runtime, in > >>>>>>> > >>> > http://am-host:1025/ws/v1/slider/publisher/slider/componentinstancedata > >>>>> , > >>>>>>> the host:port info can be seen as expected > >>>>>>> > >>>>>>> > >>>>>>> > >>> > >>>{"description":"ComponentInstanceData","updated":0,"entries":{"container > >>>_ > >>>>>>> 1452045276360_0005_01_000004.my_info":"host1:33786", > >>>>>>> .... > >>>>>>> > >>>>>>> However, when I look at ZK data, > >>>>>>> > >>>>>>> get > >>>>>>> > >>>>>>> > >>> > >>>/registry/users/foo/services/org-apache-slider/<appname>/components/cont > >>>a > >>>>>>> iner-1452045276360-0005-01-000004, > >>>>>>> I don't see the host:port info. It only shows > >>>>>>> > >>>>>>> { > >>>>>>> "type" : "JSONServiceRecord", > >>>>>>> "description" : "user1", > >>>>>>> "external" : [ ], > >>>>>>> "internal" : [ ], > >>>>>>> "yarn:id" : "container-1452045276360-0005-01-000004", > >>>>>>> "yarn:persistence" : "container" > >>>>>>> } > >>>>>>> > >>>>>>> Any thought what I may be missing ? > >>>>>>> > >>>>>>> Related question - looking @ > >>> > >>> > https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/regis > >>>t > >>>>>>> ry/yarn-registry.html, > >>>>>>> the spec and all examples of export list "protocol" > >>>>>>> > >>>>>>> e.g. REST, rmi etc. Its not clear if and how is that protocol to be > >>>>>>> specified in the component export section ? Can anyone give a > >>>>>>>example > >>> ? > >>>>>>> Thanks, > >>>>>>> > >>>>>>> Manoj > >>>>> > >> > > > >