|
Just setting sun.net.spi.nameservice.nameservers worked for direct lookup but not for reverse lookup, at least when I first looked at it. This new patch does the job without using an external library, just using JNDI directly to query the DNS server. The new class has a new name (DNS.java) , and a new location (net) . A new package.html file was created as well. Finally, now network interface and nameserver are independently configurable for datanodes and tasktrackers. The names of the new properties have been changed to
net.dns.datanode.interface Do we really think we'll want to configure these separately for the tasktracker and datanode? If so, then these properties should probably be named something like mapred.tasktracker.dns.interface, and grouped with mapred & dfs options.
For us there were real reasons why this was necessary. The NameNode (which cares about the host names for the DataNodes) and the JobTracker (which cares about the hostnames of the TaskTrackers) are on different networks. It seems that configuring these independently gives the right level of flexibility. Any reason why we'd want to keep them necessarily aligned? I'd be fine with changing the names of the properties.
Okay, then, yes, let's rename these to be mapred.* config parameters.
Also, lots of the lines are longer than 80 columns. Can you please re-format those? Here's a new patch, with reformatted column-size and new names for properties.
mapred.tasktracker.dns.interface I just committed this. The patch had some spurious changes to imports, and indented four spaces-per-level rather than two. I also moved some duplicated code into the DNS utility class. Thanks, Lorenzo!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A few nits with the code: