You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by Mohammad Mustaqeem <3m...@gmail.com> on 2013/04/11 08:03:23 UTC

Which java code(file) generates the heartbeat from the datanode and which code(file) listen that heartbeat on the namenode?

Which java code(file) generates the heartbeat from the datanode and
which code(file) listen that heartbeat on the namenode?
-- 
*With regards ---*
*Mohammad Mustaqeem*,
M.Tech (CSE)
MNNIT Allahabad
9026604270

Re: Which java code(file) generates the heartbeat from the datanode and which code(file) listen that heartbeat on the namenode?

Posted by Chris Nauroth <cn...@hortonworks.com>.
No problem.  Glad to help.  :-)

In the last email, I mentioned the sendHeartbeat method in
NameNodeRpcServer.java.  This is the method that handles receiving a
heartbeat from a datanode.  Even though the method is named "send" instead
of "receive", this is the right place to look.  The reason is that this is
an implementation of a method defined in the DatanodeProtocol interface,
and the protocol's naming convention is from the perspective of the
datanode rather than the namenode.

Block placement decisions are encapsulated behind a BlockPlacementPolicy
interface.  Custom implementations are possible, and the default
implementation is BlockPlacementPolicyDefault.  You'll find code in there
that checks the network topology to decide where to place blocks.  These
files are in
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement.

--Chris


On Fri, Apr 12, 2013 at 3:08 AM, Mohammad Mustaqeem
<3m...@gmail.com>wrote:

> Chris, thank you :)
> I am using branch 2.
> Can you tell me which code receives the heartbeat?
> and which code selects the random rack for replication?
>
>
> On Fri, Apr 12, 2013 at 12:25 AM, Chris Nauroth <cnauroth@hortonworks.com
> >wrote:
>
> > Hello Mohammad,
> >
> > Which version of the codebase?
> >
> > If it's trunk or branch-2, then for the datanode side, I recommend
> starting
> > from
> >
> >
> hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java.
> >  Look for a method named sendHeartBeat.  On the namenode side, look at
> >
> >
> hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java.
> >  Look for a method named sendHeartbeat.  (Notice the slight difference in
> > capitalization of letter 'b'.)
> >
> > If it's a different branch, let me know, and I'd be happy to provide help
> > on the specifics of that branch.
> >
> > Hope this helps,
> > --Chris
> >
> >
> > On Wed, Apr 10, 2013 at 11:03 PM, Mohammad Mustaqeem <
> > 3m.mustaqeem@gmail.com
> > > wrote:
> >
> > > Which java code(file) generates the heartbeat from the datanode and
> > > which code(file) listen that heartbeat on the namenode?
> > > --
> > > *With regards ---*
> > > *Mohammad Mustaqeem*,
> > > M.Tech (CSE)
> > > MNNIT Allahabad
> > > 9026604270
> > >
> >
>
>
>
> --
> *With regards ---*
> *Mohammad Mustaqeem*,
> M.Tech (CSE)
> MNNIT Allahabad
> 9026604270
>

Re: Which java code(file) generates the heartbeat from the datanode and which code(file) listen that heartbeat on the namenode?

Posted by Mohammad Mustaqeem <3m...@gmail.com>.
Chris, thank you :)
I am using branch 2.
Can you tell me which code receives the heartbeat?
and which code selects the random rack for replication?


On Fri, Apr 12, 2013 at 12:25 AM, Chris Nauroth <cn...@hortonworks.com>wrote:

> Hello Mohammad,
>
> Which version of the codebase?
>
> If it's trunk or branch-2, then for the datanode side, I recommend starting
> from
>
> hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java.
>  Look for a method named sendHeartBeat.  On the namenode side, look at
>
> hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java.
>  Look for a method named sendHeartbeat.  (Notice the slight difference in
> capitalization of letter 'b'.)
>
> If it's a different branch, let me know, and I'd be happy to provide help
> on the specifics of that branch.
>
> Hope this helps,
> --Chris
>
>
> On Wed, Apr 10, 2013 at 11:03 PM, Mohammad Mustaqeem <
> 3m.mustaqeem@gmail.com
> > wrote:
>
> > Which java code(file) generates the heartbeat from the datanode and
> > which code(file) listen that heartbeat on the namenode?
> > --
> > *With regards ---*
> > *Mohammad Mustaqeem*,
> > M.Tech (CSE)
> > MNNIT Allahabad
> > 9026604270
> >
>



-- 
*With regards ---*
*Mohammad Mustaqeem*,
M.Tech (CSE)
MNNIT Allahabad
9026604270

Re: Which java code(file) generates the heartbeat from the datanode and which code(file) listen that heartbeat on the namenode?

Posted by Chris Nauroth <cn...@hortonworks.com>.
Hello Mohammad,

Which version of the codebase?

If it's trunk or branch-2, then for the datanode side, I recommend starting
from
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java.
 Look for a method named sendHeartBeat.  On the namenode side, look at
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java.
 Look for a method named sendHeartbeat.  (Notice the slight difference in
capitalization of letter 'b'.)

If it's a different branch, let me know, and I'd be happy to provide help
on the specifics of that branch.

Hope this helps,
--Chris


On Wed, Apr 10, 2013 at 11:03 PM, Mohammad Mustaqeem <3m.mustaqeem@gmail.com
> wrote:

> Which java code(file) generates the heartbeat from the datanode and
> which code(file) listen that heartbeat on the namenode?
> --
> *With regards ---*
> *Mohammad Mustaqeem*,
> M.Tech (CSE)
> MNNIT Allahabad
> 9026604270
>