You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whirr.apache.org by ab...@apache.org on 2012/08/17 19:38:32 UTC
svn commit: r1374376 - in /whirr/trunk: ./ recipes/
services/cdh/src/test/resources/ services/yarn/
services/yarn/src/main/java/org/apache/whirr/service/yarn/
services/yarn/src/main/resources/ services/yarn/src/main/resources/functions/
Author: abayer
Date: Fri Aug 17 17:38:31 2012
New Revision: 1374376
URL: http://svn.apache.org/viewvc?rev=1374376&view=rev
Log:
WHIRR-629. Fix YARN tests on Rackspace (contributed by Tom White)
Modified:
whirr/trunk/CHANGES.txt
whirr/trunk/recipes/hadoop-yarn-cdh-ec2.properties
whirr/trunk/services/cdh/src/test/resources/whirr-hadoop-mr2-cdh-test.properties
whirr/trunk/services/yarn/pom.xml
whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnConfigurationBuilder.java
whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnResourceManagerHandler.java
whirr/trunk/services/yarn/src/main/resources/functions/configure_hadoop_mr2.sh
whirr/trunk/services/yarn/src/main/resources/whirr-yarn-default.properties
Modified: whirr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/whirr/trunk/CHANGES.txt?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/CHANGES.txt (original)
+++ whirr/trunk/CHANGES.txt Fri Aug 17 17:38:31 2012
@@ -185,6 +185,8 @@ Trunk (unreleased changes)
WHIRR-613. OpenJDK JAVA_HOME detection needs to be improved (Andrew Bayer via adriancole)
+ WHIRR-629. YARN tests fail on Rackspace. (tomwhite)
+
Release 0.7.1 - 2012-02-23
IMPROVEMENTS
Modified: whirr/trunk/recipes/hadoop-yarn-cdh-ec2.properties
URL: http://svn.apache.org/viewvc/whirr/trunk/recipes/hadoop-yarn-cdh-ec2.properties?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/recipes/hadoop-yarn-cdh-ec2.properties (original)
+++ whirr/trunk/recipes/hadoop-yarn-cdh-ec2.properties Fri Aug 17 17:38:31 2012
@@ -30,13 +30,14 @@ whirr.instance-templates=1 hadoop-nameno
# We need to use modified scripts for the installation since it has changed
# significantly since 0.20.x
-whirr.java.install-function=install_oracle_jdk6
+whirr.java.install-function=install_openjdk
whirr.hadoop.install-function=install_cdh_hadoop
whirr.hadoop.configure-function=configure_cdh_hadoop
whirr.yarn.configure-function=configure_cdh_yarn
whirr.yarn.start-function=start_cdh_yarn
whirr.mr_jobhistory.start-function=start_cdh_mr_jobhistory
whirr.env.REPO=cdh4
+whirr.env.MAPREDUCE_VERSION=2
# For EC2 set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.
whirr.provider=aws-ec2
@@ -69,3 +70,5 @@ whirr.credential=${env:AWS_SECRET_ACCESS
hadoop-mapreduce.mapreduce.framework.name=yarn
hadoop-common.ipc.client.connect.max.retries=100
+hadoop-yarn.yarn.application.classpath=$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,$HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,$HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,$YARN_HOME/*,$YARN_HOME/lib/*
+
Modified: whirr/trunk/services/cdh/src/test/resources/whirr-hadoop-mr2-cdh-test.properties
URL: http://svn.apache.org/viewvc/whirr/trunk/services/cdh/src/test/resources/whirr-hadoop-mr2-cdh-test.properties?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/services/cdh/src/test/resources/whirr-hadoop-mr2-cdh-test.properties (original)
+++ whirr/trunk/services/cdh/src/test/resources/whirr-hadoop-mr2-cdh-test.properties Fri Aug 17 17:38:31 2012
@@ -34,4 +34,4 @@ whirr.env.MAPREDUCE_VERSION=2
hadoop-mapreduce.mapreduce.framework.name=yarn
hadoop-common.ipc.client.connect.max.retries=100
-
+hadoop-yarn.yarn.application.classpath=$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,$HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,$HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,$YARN_HOME/*,$YARN_HOME/lib/*
Modified: whirr/trunk/services/yarn/pom.xml
URL: http://svn.apache.org/viewvc/whirr/trunk/services/yarn/pom.xml?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/services/yarn/pom.xml (original)
+++ whirr/trunk/services/yarn/pom.xml Fri Aug 17 17:38:31 2012
@@ -95,13 +95,25 @@
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdfs</artifactId>
+ <version>0.23.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-mapreduce-client-common</artifactId>
+ <version>0.23.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>0.23.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-hdfs</artifactId>
+ <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
<version>0.23.1</version>
<scope>test</scope>
</dependency>
Modified: whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnConfigurationBuilder.java?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnConfigurationBuilder.java (original)
+++ whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnConfigurationBuilder.java Fri Aug 17 17:38:31 2012
@@ -44,6 +44,7 @@ public class YarnConfigurationBuilder {
throws ConfigurationException {
CompositeConfiguration config = new CompositeConfiguration();
Configuration sub = clusterSpec.getConfigurationForKeysWithPrefix(prefix);
+ config.setDelimiterParsingDisabled(true);
config.addConfiguration(sub.subset(prefix)); // remove prefix
config.addConfiguration(defaults.subset(prefix));
return config;
@@ -63,16 +64,22 @@ public class YarnConfigurationBuilder {
Configuration config = build(clusterSpec, cluster, defaults,
"hadoop-yarn");
- Instance resourceManager = cluster
- .getInstanceMatching(role(YarnResourceManagerHandler.ROLE));
- String resourceManagerPrivateAddress =
- resourceManager.getPrivateAddress().getHostName();
- config.setProperty("yarn.resourcemanager.address",
- String.format("%s:8040", resourceManagerPrivateAddress));
- config.setProperty("yarn.resourcemanager.scheduler.address",
- String.format("%s:8030", resourceManagerPrivateAddress));
- config.setProperty("yarn.resourcemanager.resource-tracker.address",
- String.format("%s:8025", resourceManagerPrivateAddress));
+ if (role.equals(YarnResourceManagerHandler.ROLE)) {
+ config.setProperty("yarn.resourcemanager.address", "0.0.0.0:8040");
+ config.setProperty("yarn.resourcemanager.scheduler.address", "0.0.0.0:8030");
+ config.setProperty("yarn.resourcemanager.resource-tracker.address", "0.0.0.0:8025");
+ } else {
+ Instance resourceManager = cluster
+ .getInstanceMatching(role(YarnResourceManagerHandler.ROLE));
+ String resourceManagerPrivateAddress =
+ resourceManager.getPrivateAddress().getHostName();
+ config.setProperty("yarn.resourcemanager.address",
+ String.format("%s:8040", resourceManagerPrivateAddress));
+ config.setProperty("yarn.resourcemanager.scheduler.address",
+ String.format("%s:8030", resourceManagerPrivateAddress));
+ config.setProperty("yarn.resourcemanager.resource-tracker.address",
+ String.format("%s:8025", resourceManagerPrivateAddress));
+ }
return config;
}
}
Modified: whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnResourceManagerHandler.java
URL: http://svn.apache.org/viewvc/whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnResourceManagerHandler.java?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnResourceManagerHandler.java (original)
+++ whirr/trunk/services/yarn/src/main/java/org/apache/whirr/service/yarn/YarnResourceManagerHandler.java Fri Aug 17 17:38:31 2012
@@ -24,10 +24,13 @@ import static org.jclouds.scriptbuilder.
import java.io.File;
import java.io.IOException;
+import java.util.Iterator;
import java.util.Properties;
+import org.apache.commons.configuration.AbstractConfiguration;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.lang.StringUtils;
import org.apache.whirr.Cluster;
import org.apache.whirr.Cluster.Instance;
import org.apache.whirr.ClusterSpec;
@@ -112,6 +115,18 @@ public class YarnResourceManagerHandler
private Properties createClientSideYarnProperties(ClusterSpec clusterSpec, Instance resourceManager) throws IOException {
Properties config = new Properties();
+ String prefix = "hadoop-yarn";
+ Configuration sub = clusterSpec.getConfigurationForKeysWithPrefix(prefix);
+ sub = sub.subset(prefix); // remove prefix
+ for (@SuppressWarnings("unchecked")
+ Iterator<String> it = sub.getKeys(); it.hasNext(); ) {
+ String key = it.next();
+ // rebuild the original value by joining all of them with the default separator
+ String value = StringUtils.join(sub.getStringArray(key),
+ AbstractConfiguration.getDefaultListDelimiter());
+ config.setProperty(key, value);
+ System.out.println("createClientSideYarnProperties " + key + ":" + value);
+ }
config.setProperty("yarn.resourcemanager.address",
String.format("%s:8040", resourceManager.getPublicHostName()));
config.setProperty("yarn.resourcemanager.scheduler.address",
@@ -119,17 +134,6 @@ public class YarnResourceManagerHandler
config.setProperty("yarn.resourcemanager.resource-tracker.address",
String.format("%s:8025", resourceManager.getPublicHostName()));
config.setProperty("yarn.app.mapreduce.am.staging-dir", "/user");
- config.setProperty("yarn.application.classpath",
- "/etc/hadoop/conf.dist," +
- "/usr/lib/hadoop/*," +
- "/usr/lib/hadoop/lib/*," +
- "$HADOOP_CONF_DIR," +
- "$HADOOP_COMMON_HOME/share/hadoop/common/*," +
- "$HADOOP_COMMON_HOME/share/hadoop/common/lib/*," +
- "$HADOOP_HDFS_HOME/share/hadoop/hdfs/*," +
- "$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*," +
- "$YARN_HOME/share/hadoop/mapreduce/*," +
- "$YARN_HOME/share/hadoop/mapreduce/lib/*");
return config;
}
Modified: whirr/trunk/services/yarn/src/main/resources/functions/configure_hadoop_mr2.sh
URL: http://svn.apache.org/viewvc/whirr/trunk/services/yarn/src/main/resources/functions/configure_hadoop_mr2.sh?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/services/yarn/src/main/resources/functions/configure_hadoop_mr2.sh (original)
+++ whirr/trunk/services/yarn/src/main/resources/functions/configure_hadoop_mr2.sh Fri Aug 17 17:38:31 2012
@@ -118,6 +118,10 @@ function start_namenode() {
# It's needed to allow users to create their own user directories
$AS_HADOOP "$HADOOP_HOME/bin/hadoop fs -chmod +w /user"
+ # Create job history directory (see mapreduce.jobhistory.intermediate-done-dir)
+ $AS_HADOOP "$HADOOP_HOME/bin/hadoop fs -mkdir /user/history"
+ $AS_HADOOP "$HADOOP_HOME/bin/hadoop fs -chmod -R 1777 /user/history"
+
# Create temporary directory for Pig and Hive in HDFS
$AS_HADOOP "$HADOOP_HOME/bin/hadoop fs -mkdir /tmp"
$AS_HADOOP "$HADOOP_HOME/bin/hadoop fs -chmod +w /tmp"
Modified: whirr/trunk/services/yarn/src/main/resources/whirr-yarn-default.properties
URL: http://svn.apache.org/viewvc/whirr/trunk/services/yarn/src/main/resources/whirr-yarn-default.properties?rev=1374376&r1=1374375&r2=1374376&view=diff
==============================================================================
--- whirr/trunk/services/yarn/src/main/resources/whirr-yarn-default.properties (original)
+++ whirr/trunk/services/yarn/src/main/resources/whirr-yarn-default.properties Fri Aug 17 17:38:31 2012
@@ -26,6 +26,7 @@ hadoop-yarn.yarn.nodemanager.remote-app-
hadoop-yarn.yarn.nodemanager.aux-services=mapreduce.shuffle
hadoop-yarn.yarn.nodemanager.aux-services.mapreduce.shuffle.class=org.apache.hadoop.mapred.ShuffleHandler
+hadoop-yarn.yarn.nodemanager.delete.debug-delay-sec=6000
hadoop-yarn.yarn.app.mapreduce.am.staging-dir=/user