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
> >>>>>
> >>
> >
>
>

Reply via email to