You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by su...@apache.org on 2012/04/06 15:40:27 UTC
svn commit: r1310320 - in
/hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs: ./
src/main/java/org/apache/hadoop/hdfs/ src/test/java/org/apache/hadoop/hdfs/
Author: suresh
Date: Fri Apr 6 13:40:26 2012
New Revision: 1310320
URL: http://svn.apache.org/viewvc?rev=1310320&view=rev
Log:
HDFS-3185. Add configuration of Journal Service Daemons. Contributed by Hari Mankude.
Added:
hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-3092.txt
Modified:
hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java
hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSUtil.java
Added: hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-3092.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-3092.txt?rev=1310320&view=auto
==============================================================================
--- hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-3092.txt (added)
+++ hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-3092.txt Fri Apr 6 13:40:26 2012
@@ -0,0 +1,16 @@
+Hadoop HDFS Change Log
+
+HDFS-3092 branch changes
+
+ INCOMPATIBLE CHANGES
+
+ NEW FEATURES
+ HDFS-3185. Add configuration of Journal Service Daemons.
+ (Hari Mankude via suresh)
+
+ IMPROVEMENTS
+
+ OPTIMIZATIONS
+
+ BUG FIXES
+
Modified: hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java?rev=1310320&r1=1310319&r2=1310320&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java (original)
+++ hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java Fri Apr 6 13:40:26 2012
@@ -198,6 +198,9 @@ public class DFSConfigKeys extends Commo
public static final String DFS_HOSTS = "dfs.hosts";
public static final String DFS_HOSTS_EXCLUDE = "dfs.hosts.exclude";
public static final String DFS_CLIENT_LOCAL_INTERFACES = "dfs.client.local.interfaces";
+
+ // This is a comma separated host:port list of addresses hosting the journal service
+ public static final String DFS_JOURNALNODE_ADDRESS_KEY = "dfs.journalnode.addresses";
// Much code in hdfs is not yet updated to use these keys.
public static final String DFS_CLIENT_BLOCK_WRITE_LOCATEFOLLOWINGBLOCK_RETRIES_KEY = "dfs.client.block.write.locateFollowingBlock.retries";
@@ -302,7 +305,7 @@ public class DFSConfigKeys extends Commo
"dfs.image.transfer.bandwidthPerSec";
public static final long DFS_IMAGE_TRANSFER_RATE_DEFAULT = 0; //no throttling
- //Keys with no defaults
+ // Keys with no defaults
public static final String DFS_DATANODE_PLUGINS_KEY = "dfs.datanode.plugins";
public static final String DFS_DATANODE_FSDATASET_FACTORY_KEY = "dfs.datanode.fsdataset.factory";
public static final String DFS_DATANODE_FSDATASET_VOLUME_CHOOSING_POLICY_KEY = "dfs.datanode.fsdataset.volume.choosing.policy";
Modified: hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java?rev=1310320&r1=1310319&r2=1310320&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java (original)
+++ hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java Fri Apr 6 13:40:26 2012
@@ -25,6 +25,7 @@ import java.net.InetSocketAddress;
import java.net.URI;
import java.net.URISyntaxException;
import java.security.SecureRandom;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
@@ -1055,4 +1056,26 @@ public class DFSUtil {
return null;
}
}
+
+
+ /**
+ * Returns list of InetSocketAddresses of journalnodes from the
+ * configuration.
+ *
+ * @param conf configuration
+ * @return list of InetSocketAddresses
+ */
+ public static Collection<InetSocketAddress> getJournalNodeAddresses(
+ Configuration conf) {
+ Collection<String> jnames = conf
+ .getTrimmedStringCollection(DFS_JOURNALNODE_ADDRESS_KEY);
+ Collection<InetSocketAddress> ret = new ArrayList<InetSocketAddress>();
+ for (String jname : emptyAsSingletonNull(jnames)) {
+ if (jname == null) {
+ continue;
+ }
+ ret.add(NetUtils.createSocketAddr(jname));
+ }
+ return ret;
+ }
}
Modified: hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSUtil.java?rev=1310320&r1=1310319&r2=1310320&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSUtil.java (original)
+++ hadoop/common/branches/HDFS-3092/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSUtil.java Fri Apr 6 13:40:26 2012
@@ -539,4 +539,34 @@ public class TestDFSUtil {
assertTrue(uris.contains(new URI("hdfs://" + NS2_NN_HOST)));
assertTrue(uris.contains(new URI("hdfs://" + NN_HOST)));
}
+
+ @Test
+ public void testJournalNodeConf() throws Exception {
+ HdfsConfiguration conf = new HdfsConfiguration(false);
+ String str1 = "localhost:50200";
+ String str2 = "localhost:50210";
+ InetSocketAddress isa1 = NetUtils.createSocketAddr(str1);
+ InetSocketAddress isa2 = NetUtils.createSocketAddr(str2);
+
+ // If nothing is added, zero length collection is returned.
+ Collection<InetSocketAddress> ret = DFSUtil.getJournalNodeAddresses(conf);
+ assertEquals(ret.size(), 0);
+
+ // Setup single journal node
+ conf.set(DFS_JOURNALNODE_ADDRESS_KEY, str1);
+ ret = DFSUtil.getJournalNodeAddresses(conf);
+ assertEquals(ret.size(), 1);
+ for (InetSocketAddress addr : ret) {
+ assertTrue(addr.equals(isa1));
+ }
+
+ // Add two entries now.
+ conf.set(DFS_JOURNALNODE_ADDRESS_KEY, "localhost:50200, localhost:50210");
+ ret = DFSUtil.getJournalNodeAddresses(conf);
+ assertEquals(ret.size(), 2);
+
+ for (InetSocketAddress addr: ret) {
+ assertTrue(addr.equals(isa1) || addr.equals(isa2));
+ }
+ }
}