hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Payne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-1875) MiniDFSCluster hard-codes dfs.datanode.address to localhost
Date Sat, 04 Jun 2011 00:52:47 GMT

    [ https://issues.apache.org/jira/browse/HDFS-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13044154#comment-13044154
] 

Eric Payne commented on HDFS-1875:
----------------------------------

Thanks for your review, Matt.

I have submitted a new patch that should address the conerns raised in your comment above.

   1. MiniDFSCluster 
   * I reverted the original function javadocs header and created a new one for the new startDataNodes()
method.

   2. TestDFSAddressConfig 
   * Nice catch on this one. I added HADOOP-7001 to the list for merge into yahoo-trunk, and
it has now been merged.

   3. With the previous patch, there were some cases where DataNodeCluster was getting errors
with conflicting ports. So, in the new patch, I added a command-line parameter (-checkDataNodeAddrConfig)
that will implement the new functionality. That is, with the new parameter, it will use the
dfs.datanode.address.* values from the config, if set. Otherwise, if the -checkDataNodeAddrConfig
parameter is not set, it will keep the existing behavior.

I have tested the behaviors with and without the parameter, and the results are as expected.


> MiniDFSCluster hard-codes dfs.datanode.address to localhost
> -----------------------------------------------------------
>
>                 Key: HDFS-1875
>                 URL: https://issues.apache.org/jira/browse/HDFS-1875
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 0.22.0
>            Reporter: Eric Payne
>            Assignee: Eric Payne
>             Fix For: 0.23.0
>
>         Attachments: HDFS-1875.patch, HDFS-1875.patch
>
>
> When creating RPC addresses that represent the communication sockets for each simulated
DataNode, the MiniDFSCluster class hard-codes the address of the dfs.datanode.address port
to be "127.0.0.1:0"
> The DataNodeCluster test tool uses the MiniDFSCluster class to create a selected number
of simulated datanodes on a single host. In the DataNodeCluster setup, the NameNode is not
simulated but is started as a separate daemon.
> The problem is that if the write requrests into the simulated datanodes are originated
on a host that is not the same host running the simulated datanodes, the connections are refused.
This is because the RPC sockets that are started by MiniDFSCluster are for "localhost" (127.0.0.1)
and are not accessible from outside that same machine.
> It is proposed that the MiniDFSCluster.setupDatanodeAddress() method be overloaded in
order to accommodate an environment where the NameNode is on one host, the client is on another
host, and the simulated DataNodes are on yet another host (or even multiple hosts simulating
multiple DataNodes each).
> The overloaded API would add a parameter that would be used as the basis for creating
the RPS sockets. By default, it would remain 127.0.0.1

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message