http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java index 3a16418..a21f339 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java @@ -34,6 +34,7 @@ import java.lang.reflect.Type; import java.net.URL; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -47,8 +48,12 @@ import org.apache.ambari.server.Role; import org.apache.ambari.server.RoleCommand; import org.apache.ambari.server.configuration.Configuration; import org.apache.ambari.server.metadata.ActionMetadata; +import org.apache.ambari.server.orm.dao.ExtensionDAO; +import org.apache.ambari.server.orm.dao.ExtensionLinkDAO; import org.apache.ambari.server.orm.dao.MetainfoDAO; import org.apache.ambari.server.orm.dao.StackDAO; +import org.apache.ambari.server.orm.entities.ExtensionEntity; +import org.apache.ambari.server.orm.entities.ExtensionLinkEntity; import org.apache.ambari.server.state.ClientConfigFileDefinition; import org.apache.ambari.server.state.CommandScriptDefinition; import org.apache.ambari.server.state.ComponentInfo; @@ -60,6 +65,7 @@ import org.apache.ambari.server.state.stack.MetricDefinition; import org.apache.ambari.server.state.stack.OsFamily; import org.apache.ambari.server.state.stack.StackRoleCommandOrder; import org.apache.commons.lang.StringUtils; +import org.easymock.EasyMock; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; @@ -75,6 +81,8 @@ public class StackManagerTest { private static ActionMetadata actionMetadata; private static OsFamily osFamily; private static StackDAO stackDao; + private static ExtensionDAO extensionDao; + private static ExtensionLinkDAO linkDao; @BeforeClass public static void initStack() throws Exception{ @@ -90,18 +98,30 @@ public class StackManagerTest { // todo: dao , actionMetaData expectations metaInfoDao = createNiceMock(MetainfoDAO.class); stackDao = createNiceMock(StackDAO.class); + extensionDao = createNiceMock(ExtensionDAO.class); + linkDao = createNiceMock(ExtensionLinkDAO.class); actionMetadata = createNiceMock(ActionMetadata.class); Configuration config = createNiceMock(Configuration.class); + ExtensionEntity extensionEntity = createNiceMock(ExtensionEntity.class); expect(config.getSharedResourcesDirPath()).andReturn( ClassLoader.getSystemClassLoader().getResource("").getPath()).anyTimes(); - replay(config, metaInfoDao, stackDao, actionMetadata); + expect( + extensionDao.find(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(extensionEntity).atLeastOnce(); + + List<ExtensionLinkEntity> list = Collections.emptyList(); + expect( + linkDao.findByStack(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(list).atLeastOnce(); + + replay(config, metaInfoDao, stackDao, extensionDao, linkDao, actionMetadata); osFamily = new OsFamily(config); - StackManager stackManager = new StackManager(new File(stackRoot), null, - osFamily, false, metaInfoDao, actionMetadata, stackDao); + StackManager stackManager = new StackManager(new File(stackRoot), null, null, osFamily, false, + metaInfoDao, actionMetadata, stackDao, extensionDao, linkDao); verify(config, metaInfoDao, stackDao, actionMetadata); @@ -273,7 +293,7 @@ public class StackManagerTest { assertEquals("1.0", stack.getVersion()); Collection<ServiceInfo> services = stack.getServices(); - assertEquals(3, services.size()); + assertEquals(4, services.size()); // hdfs service assertEquals(6, stack.getService("HDFS").getComponents().size()); @@ -361,7 +381,7 @@ public class StackManagerTest { StackInfo baseStack = stackManager.getStack("OTHER", "1.0"); StackInfo stack = stackManager.getStack("OTHER", "2.0"); - assertEquals(4, stack.getServices().size()); + assertEquals(5, stack.getServices().size()); ServiceInfo service = stack.getService("SQOOP2"); ServiceInfo baseSqoopService = baseStack.getService("SQOOP2"); @@ -427,6 +447,19 @@ public class StackManagerTest { } @Test + public void testPackageInheritance() throws Exception{ + StackInfo stack = stackManager.getStack("HDP", "2.0.7"); + assertNotNull(stack.getService("HBASE")); + ServiceInfo hbase = stack.getService("HBASE"); + assertNotNull("Package dir is " + hbase.getServicePackageFolder(), hbase.getServicePackageFolder()); + + stack = stackManager.getStack("HDP", "2.0.8"); + assertNotNull(stack.getService("HBASE")); + hbase = stack.getService("HBASE"); + assertNotNull("Package dir is " + hbase.getServicePackageFolder(), hbase.getServicePackageFolder()); + } + + @Test public void testMonitoringServicePropertyInheritance() throws Exception{ StackInfo stack = stackManager.getStack("HDP", "2.0.8"); Collection<ServiceInfo> allServices = stack.getServices(); @@ -624,6 +657,9 @@ public class StackManagerTest { ArrayList<String> hbaseMasterStartValues = (ArrayList<String>) generalDeps.get("HBASE_MASTER-START"); assertTrue(hbaseMasterStartValues.get(0).equals("ZOOKEEPER_SERVER-START")); + ServiceInfo service = stack.getService("PIG"); + assertNotNull("PIG's roll command order is null", service.getRoleCommandOrder()); + assertTrue(optionalNoGlusterfs.containsKey("NAMENODE-STOP")); ArrayList<String> nameNodeStopValues = (ArrayList<String>) optionalNoGlusterfs.get("NAMENODE-STOP"); assertTrue(nameNodeStopValues.contains("JOBTRACKER-STOP")); @@ -633,6 +669,7 @@ public class StackManagerTest { ArrayList<String> customMasterStartValues = (ArrayList<String>) generalDeps.get("CUSTOM_MASTER-START"); assertTrue(customMasterStartValues.contains("ZOOKEEPER_SERVER-START")); assertTrue(customMasterStartValues.contains("NAMENODE-START")); + } @Test @@ -653,21 +690,41 @@ public class StackManagerTest { File stackRoot = new File(resourcesDirectory, "stacks"); File commonServices = new File(resourcesDirectory, "common-services"); + File extensions = null; + + try { + URL extensionsURL = ClassLoader.getSystemClassLoader().getResource("extensions"); + if (extensionsURL != null) + extensions = new File(extensionsURL.getPath().replace("test-classes","classes")); + } + catch (Exception e) {} MetainfoDAO metaInfoDao = createNiceMock(MetainfoDAO.class); StackDAO stackDao = createNiceMock(StackDAO.class); + ExtensionDAO extensionDao = createNiceMock(ExtensionDAO.class); + ExtensionLinkDAO linkDao = createNiceMock(ExtensionLinkDAO.class); ActionMetadata actionMetadata = createNiceMock(ActionMetadata.class); Configuration config = createNiceMock(Configuration.class); + ExtensionEntity extensionEntity = createNiceMock(ExtensionEntity.class); expect(config.getSharedResourcesDirPath()).andReturn( ClassLoader.getSystemClassLoader().getResource("").getPath()).anyTimes(); - replay(config, metaInfoDao, stackDao, actionMetadata); + expect( + extensionDao.find(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(extensionEntity).atLeastOnce(); + + List<ExtensionLinkEntity> list = Collections.emptyList(); + expect( + linkDao.findByStack(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(list).atLeastOnce(); + + replay(config, metaInfoDao, stackDao, extensionDao, linkDao, actionMetadata); OsFamily osFamily = new OsFamily(config); - StackManager stackManager = new StackManager(stackRoot, commonServices, - osFamily, false, metaInfoDao, actionMetadata, stackDao); + StackManager stackManager = new StackManager(stackRoot, commonServices, extensions, + osFamily, false, metaInfoDao, actionMetadata, stackDao, extensionDao, linkDao); for (StackInfo stackInfo : stackManager.getStacks()) { for (ServiceInfo serviceInfo : stackInfo.getServices()) { @@ -697,20 +754,41 @@ public class StackManagerTest { File stackRoot = new File(resourcesDirectory, "stacks"); File commonServices = new File(resourcesDirectory, "common-services"); + File extensions = null; + + try { + URL extensionsURL = ClassLoader.getSystemClassLoader().getResource("extensions"); + if (extensionsURL != null) + extensions = new File(extensionsURL.getPath().replace("test-classes","classes")); + } + catch (Exception e) {} MetainfoDAO metaInfoDao = createNiceMock(MetainfoDAO.class); StackDAO stackDao = createNiceMock(StackDAO.class); + ExtensionDAO extensionDao = createNiceMock(ExtensionDAO.class); + ExtensionLinkDAO linkDao = createNiceMock(ExtensionLinkDAO.class); ActionMetadata actionMetadata = createNiceMock(ActionMetadata.class); Configuration config = createNiceMock(Configuration.class); + ExtensionEntity extensionEntity = createNiceMock(ExtensionEntity.class); expect(config.getSharedResourcesDirPath()).andReturn( ClassLoader.getSystemClassLoader().getResource("").getPath()).anyTimes(); - replay(config, metaInfoDao, stackDao, actionMetadata); + expect( + extensionDao.find(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(extensionEntity).atLeastOnce(); + + List<ExtensionLinkEntity> list = Collections.emptyList(); + expect( + linkDao.findByStack(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(list).atLeastOnce(); + + replay(config, metaInfoDao, stackDao, extensionDao, linkDao, actionMetadata); OsFamily osFamily = new OsFamily(config); - StackManager stackManager = new StackManager(stackRoot, commonServices, osFamily, false, metaInfoDao, actionMetadata, stackDao); + StackManager stackManager = new StackManager(stackRoot, commonServices, extensions, osFamily, + false, metaInfoDao, actionMetadata, stackDao, extensionDao, linkDao); String rangerUserSyncRoleCommand = Role.RANGER_USERSYNC + "-" + RoleCommand.START; String rangerAdminRoleCommand = Role.RANGER_ADMIN + "-" + RoleCommand.START; @@ -804,20 +882,41 @@ public class StackManagerTest { File stackRoot = new File(resourcesDirectory, "stacks"); File commonServices = new File(resourcesDirectory, "common-services"); + File extensions = null; + + try { + URL extensionsURL = ClassLoader.getSystemClassLoader().getResource("extensions"); + if (extensionsURL != null) + extensions = new File(extensionsURL.getPath().replace("test-classes","classes")); + } + catch (Exception e) {} MetainfoDAO metaInfoDao = createNiceMock(MetainfoDAO.class); StackDAO stackDao = createNiceMock(StackDAO.class); + ExtensionDAO extensionDao = createNiceMock(ExtensionDAO.class); + ExtensionLinkDAO linkDao = createNiceMock(ExtensionLinkDAO.class); ActionMetadata actionMetadata = createNiceMock(ActionMetadata.class); Configuration config = createNiceMock(Configuration.class); + ExtensionEntity extensionEntity = createNiceMock(ExtensionEntity.class); expect(config.getSharedResourcesDirPath()).andReturn( ClassLoader.getSystemClassLoader().getResource("").getPath()).anyTimes(); - replay(config, metaInfoDao, stackDao, actionMetadata); + expect( + extensionDao.find(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(extensionEntity).atLeastOnce(); + + List<ExtensionLinkEntity> list = Collections.emptyList(); + expect( + linkDao.findByStack(EasyMock.anyObject(String.class), + EasyMock.anyObject(String.class))).andReturn(list).atLeastOnce(); + + replay(config, metaInfoDao, stackDao, extensionDao, linkDao, actionMetadata); OsFamily osFamily = new OsFamily(config); - StackManager stackManager = new StackManager(stackRoot, commonServices, osFamily, false, metaInfoDao, actionMetadata, stackDao); + StackManager stackManager = new StackManager(stackRoot, commonServices, extensions, osFamily, + false, metaInfoDao, actionMetadata, stackDao, extensionDao, linkDao); String zookeeperServerRoleCommand = Role.ZOOKEEPER_SERVER + "-" + RoleCommand.START; String logsearchServerRoleCommand = Role.LOGSEARCH_SERVER + "-" + RoleCommand.START;
http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java b/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java index f4b4b93..f4f45a7 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java @@ -36,7 +36,7 @@ public class ThemeModuleTest { ThemeModule parentModule = new ThemeModule(parentThemeFile); ThemeModule childModule = new ThemeModule(childThemeFile); - childModule.resolve(parentModule, null, null); + childModule.resolve(parentModule, null, null, null); Theme childTheme = childModule.getModuleInfo().getThemeMap().get(ThemeModule.THEME_KEY); Theme parentTheme = parentModule.getModuleInfo().getThemeMap().get(ThemeModule.THEME_KEY); http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java index 1288053..c989f08 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java @@ -168,6 +168,9 @@ public class UpgradeCatalog240Test { Connection connection = createNiceMock(Connection.class); Statement statement = createNiceMock(Statement.class); ResultSet resultSet = createNiceMock(ResultSet.class); + + Capture<List<DBAccessor.DBColumnInfo>> capturedExtensionColumns = EasyMock.newCapture(); + Capture<List<DBAccessor.DBColumnInfo>> capturedExtensionLinkColumns = EasyMock.newCapture(); Capture<List<DBAccessor.DBColumnInfo>> capturedSettingColumns = EasyMock.newCapture(); dbAccessor.addColumn(eq("adminpermission"), capture(capturedSortOrderColumnInfo)); @@ -176,7 +179,20 @@ public class UpgradeCatalog240Test { dbAccessor.addColumn(eq(UpgradeCatalog240.SERVICE_COMPONENT_DESIRED_STATE_TABLE), capture(capturedScDesiredVersionColumnInfo)); + dbAccessor.createTable(eq("extension"), capture(capturedExtensionColumns), eq("extension_id")); + dbAccessor.addUniqueConstraint("extension", "UQ_extension", "extension_name", "extension_version"); + + expect(dbAccessor.getConnection()).andReturn(connection); + dbAccessor.createTable(eq("extensionlink"), capture(capturedExtensionLinkColumns), eq("link_id")); + dbAccessor.addUniqueConstraint("extensionlink", "UQ_extension_link", "stack_id", "extension_id"); + dbAccessor.addFKConstraint("extensionlink", "FK_extensionlink_extension_id", "extension_id", "extension", + "extension_id", false); + dbAccessor.addFKConstraint("extensionlink", "FK_extensionlink_stack_id", "stack_id", "stack", + "stack_id", false); + + expect(dbAccessor.getConnection()).andReturn(connection); dbAccessor.createTable(eq("setting"), capture(capturedSettingColumns), eq("id")); + expect(configuration.getDatabaseUrl()).andReturn(Configuration.JDBC_IN_MEMORY_URL).anyTimes(); expect(dbAccessor.getConnection()).andReturn(connection); expect(connection.createStatement()).andReturn(statement); @@ -272,7 +288,7 @@ public class UpgradeCatalog240Test { // Test remote Cluster Tables Capture<List<DBAccessor.DBColumnInfo>> capturedRemoteAmbariClusterColumns = EasyMock.newCapture(); dbAccessor.createTable(eq(UpgradeCatalog240.REMOTE_AMBARI_CLUSTER_TABLE), capture(capturedRemoteAmbariClusterColumns),anyString()); - dbAccessor.addUniqueConstraint(UpgradeCatalog240.REMOTE_AMBARI_CLUSTER_TABLE , "unq_remote_ambari_cluster" , UpgradeCatalog240.CLUSTER_NAME); + dbAccessor.addUniqueConstraint(UpgradeCatalog240.REMOTE_AMBARI_CLUSTER_TABLE , "UQ_remote_ambari_cluster" , UpgradeCatalog240.CLUSTER_NAME); expect(dbAccessor.getConnection()).andReturn(connection); expect(connection.createStatement()).andReturn(statement); @@ -370,6 +386,31 @@ public class UpgradeCatalog240Test { assertEquals(expectedCaptures, actualCaptures); expectedCaptures = new HashMap<>(); + expectedCaptures.put("extension_id", Long.class); + expectedCaptures.put("extension_name", String.class); + expectedCaptures.put("extension_version", String.class); + + actualCaptures = new HashMap<>(); + for(DBAccessor.DBColumnInfo settingColumnInfo : capturedExtensionColumns.getValue()) { + actualCaptures.put(settingColumnInfo.getName(), settingColumnInfo.getType()); + } + + assertEquals(expectedCaptures, actualCaptures); + + + expectedCaptures = new HashMap<>(); + expectedCaptures.put("link_id", Long.class); + expectedCaptures.put("stack_id", Long.class); + expectedCaptures.put("extension_id", Long.class); + + actualCaptures = new HashMap<>(); + for(DBAccessor.DBColumnInfo settingColumnInfo : capturedExtensionLinkColumns.getValue()) { + actualCaptures.put(settingColumnInfo.getName(), settingColumnInfo.getType()); + } + + assertEquals(expectedCaptures, actualCaptures); + + expectedCaptures = new HashMap<>(); expectedCaptures.put("id", Long.class); expectedCaptures.put("component_id", Long.class); expectedCaptures.put("upgrade_id", Long.class); http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/extensions/EXT/0.1/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/extensions/EXT/0.1/metainfo.xml b/ambari-server/src/test/resources/extensions/EXT/0.1/metainfo.xml new file mode 100644 index 0000000..77a832c --- /dev/null +++ b/ambari-server/src/test/resources/extensions/EXT/0.1/metainfo.xml @@ -0,0 +1,30 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <versions> + <active>false</active> + </versions> + <prerequisites> + <min-stack-versions> + <stack> + <name>HDP</name> + <version>0.1.*</version> + </stack> + </min-stack-versions> + </prerequisites> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/configuration/oozie2-site.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/configuration/oozie2-site.xml b/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/configuration/oozie2-site.xml new file mode 100644 index 0000000..4c9b69b --- /dev/null +++ b/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/configuration/oozie2-site.xml @@ -0,0 +1,245 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<configuration> + +<!-- + Refer to the oozie-default.xml file for the complete list of + Oozie configuration properties and their default values. +--> + <property> + <name>oozie.base.url</name> + <value>http://localhost:11000/oozie</value> + <description>Base Oozie URL.</description> + </property> + + <property> + <name>oozie.system.id</name> + <value>oozie-${user.name}</value> + <description> + The Oozie system ID. + </description> + </property> + + <property> + <name>oozie.systemmode</name> + <value>NORMAL</value> + <description> + System mode for Oozie at startup. + </description> + </property> + + <property> + <name>oozie.service.AuthorizationService.security.enabled</name> + <value>true</value> + <description> + Specifies whether security (user name/admin role) is enabled or not. + If disabled any user can manage Oozie system and manage any job. + </description> + </property> + + <property> + <name>oozie.service.PurgeService.older.than</name> + <value>30</value> + <description> + Jobs older than this value, in days, will be purged by the PurgeService. + </description> + </property> + + <property> + <name>oozie.service.PurgeService.purge.interval</name> + <value>3600</value> + <description> + Interval at which the purge service will run, in seconds. + </description> + </property> + + <property> + <name>oozie.service.CallableQueueService.queue.size</name> + <value>1000</value> + <description>Max callable queue size</description> + </property> + + <property> + <name>oozie.service.CallableQueueService.threads</name> + <value>10</value> + <description>Number of threads used for executing callables</description> + </property> + + <property> + <name>oozie.service.CallableQueueService.callable.concurrency</name> + <value>3</value> + <description> + Maximum concurrency for a given callable type. + Each command is a callable type (submit, start, run, signal, job, jobs, suspend,resume, etc). + Each action type is a callable type (Map-Reduce, Pig, SSH, FS, sub-workflow, etc). + All commands that use action executors (action-start, action-end, action-kill and action-check) use + the action type as the callable type. + </description> + </property> + + <property> + <name>oozie.service.coord.normal.default.timeout</name> + <value>120</value> + <description>Default timeout for a coordinator action input check (in minutes) for normal job. + -1 means infinite timeout</description> + </property> + + <property> + <name>oozie.db.schema.name</name> + <value>oozie</value> + <description> + Oozie DataBase Name + </description> + </property> + + <property> + <name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name> + <value> </value> + <description> + Whitelisted job tracker for Oozie service. + </description> + </property> + + <property> + <name>oozie.authentication.type</name> + <value>simple</value> + <description> + </description> + </property> + + <property> + <name>oozie.service.HadoopAccessorService.nameNode.whitelist</name> + <value> </value> + <description> + </description> + </property> + + <property> + <name>oozie.service.WorkflowAppService.system.libpath</name> + <value>/user/${user.name}/share/lib</value> + <description> + System library path to use for workflow applications. + This path is added to workflow application if their job properties sets + the property 'oozie.use.system.libpath' to true. + </description> + </property> + + <property> + <name>use.system.libpath.for.mapreduce.and.pig.jobs</name> + <value>false</value> + <description> + If set to true, submissions of MapReduce and Pig jobs will include + automatically the system library path, thus not requiring users to + specify where the Pig JAR files are. Instead, the ones from the system + library path are used. + </description> + </property> + <property> + <name>oozie.authentication.kerberos.name.rules</name> + <value> + + + + + + </value> + <description>The mapping from kerberos principal names to local OS user names.</description> + </property> + <property> + <name>oozie.service.HadoopAccessorService.hadoop.configurations</name> + <value>*=/etc/hadoop/conf</value> + <description> + Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of + the Hadoop service (JobTracker, HDFS). The wildcard '*' configuration is + used when there is no exact match for an authority. The HADOOP_CONF_DIR contains + the relevant Hadoop *-site.xml files. If the path is relative is looked within + the Oozie configuration directory; though the path can be absolute (i.e. to point + to Hadoop client conf/ directories in the local filesystem. + </description> + </property> + <property> + <name>oozie.service.ActionService.executor.ext.classes</name> + <value> + org.apache.oozie.action.email.EmailActionExecutor, + org.apache.oozie.action.hadoop.HiveActionExecutor, + org.apache.oozie.action.hadoop.ShellActionExecutor, + org.apache.oozie.action.hadoop.SqoopActionExecutor, + org.apache.oozie.action.hadoop.DistcpActionExecutor + </value> + </property> + + <property> + <name>oozie.service.SchemaService.wf.ext.schemas</name> + <value>shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd,hive-action-0.3.xsd</value> + </property> + <property> + <name>oozie.service.JPAService.create.db.schema</name> + <value>false</value> + <description> + Creates Oozie DB. + + If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP. + If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up. + </description> + </property> + + <property> + <name>oozie.service.JPAService.jdbc.driver</name> + <value>org.apache.derby.jdbc.EmbeddedDriver</value> + <description> + JDBC driver class. + </description> + </property> + + <property> + <name>oozie.service.JPAService.jdbc.url</name> + <value>jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true</value> + <description> + JDBC URL. + </description> + </property> + + <property> + <name>oozie.service.JPAService.jdbc.username</name> + <value>sa</value> + <description> + DB user name. + </description> + </property> + + <property> + <name>oozie.service.JPAService.jdbc.password</name> + <value> </value> + <description> + DB user password. + + IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value, + if empty Configuration assumes it is NULL. + </description> + </property> + + <property> + <name>oozie.service.JPAService.pool.max.active.conn</name> + <value>10</value> + <description> + Max number of connections. + </description> + </property> +</configuration> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/metainfo.xml b/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/metainfo.xml new file mode 100644 index 0000000..ab67178 --- /dev/null +++ b/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/metainfo.xml @@ -0,0 +1,110 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>OOZIE2</name> + <comment>System for workflow coordination and execution of Apache Hadoop jobs</comment> + <version>3.2.0</version> + + <components> + <component> + <name>OOZIE2_SERVER</name> + <category>MASTER</category> + <cardinality>1</cardinality> + <dependencies> + <dependency> + <name>HDFS/HDFS_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + <dependency> + <name>MAPREDUCE/MAPREDUCE_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + </dependencies> + <commandScript> + <script>scripts/oozie2_server.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + + <component> + <name>OOZIE2_CLIENT</name> + <category>CLIENT</category> + <cardinality>0+</cardinality> + <dependencies> + <dependency> + <name>HDFS/HDFS_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + <dependency> + <name>MAPREDUCE/MAPREDUCE_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + </dependencies> + <commandScript> + <script>scripts/oozie2_client.py</script> + <scriptType>PYTHON</scriptType> + </commandScript> + </component> + </components> + + <osSpecifics> + <osSpecific> + <osFamily>any</osFamily> + <packages> + <package> + <name>oozie2.noarch</name> + </package> + <package> + <name>oozie2-client.noarch</name> + </package> + <package> + <name>extjs-2.2-1</name> + </package> + </packages> + </osSpecific> + </osSpecifics> + + <commandScript> + <script>scripts/service_check.py</script> + <scriptType>PYTHON</scriptType> + <timeout>300</timeout> + </commandScript> + + <configuration-dependencies> + <config-type>global</config-type> + <config-type>oozie2-site</config-type> + </configuration-dependencies> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/package/dummy-script.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/package/dummy-script.py b/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/package/dummy-script.py new file mode 100644 index 0000000..35de4bb --- /dev/null +++ b/ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/package/dummy-script.py @@ -0,0 +1,20 @@ +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Ambari Agent + +""" http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/extensions/EXT/0.1/services/PIG2/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/extensions/EXT/0.1/services/PIG2/metainfo.xml b/ambari-server/src/test/resources/extensions/EXT/0.1/services/PIG2/metainfo.xml new file mode 100644 index 0000000..eb62cf8 --- /dev/null +++ b/ambari-server/src/test/resources/extensions/EXT/0.1/services/PIG2/metainfo.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>PIG2</name> + <extends>common-services/PIG/1.0</extends> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/extensions/EXT/0.2/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/extensions/EXT/0.2/metainfo.xml b/ambari-server/src/test/resources/extensions/EXT/0.2/metainfo.xml new file mode 100644 index 0000000..04f733c --- /dev/null +++ b/ambari-server/src/test/resources/extensions/EXT/0.2/metainfo.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <versions> + <active>true</active> + </versions> + <extends>0.1</extends> + <prerequisites> + <min-stack-versions> + <stack> + <name>HDP</name> + <version>0.2.*</version> + </stack> + </min-stack-versions> + </prerequisites> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/extensions/EXT/0.2/services/OOZIE2/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/extensions/EXT/0.2/services/OOZIE2/metainfo.xml b/ambari-server/src/test/resources/extensions/EXT/0.2/services/OOZIE2/metainfo.xml new file mode 100644 index 0000000..9ae4f4b --- /dev/null +++ b/ambari-server/src/test/resources/extensions/EXT/0.2/services/OOZIE2/metainfo.xml @@ -0,0 +1,110 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>OOZIE2</name> + <comment>System for workflow coordination and execution of Apache Hadoop jobs</comment> + <version>4.0.0</version> + + <components> + <component> + <name>OOZIE2_SERVER</name> + <category>MASTER</category> + <cardinality>1</cardinality> + <dependencies> + <dependency> + <name>HDFS/HDFS_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + <dependency> + <name>MAPREDUCE/MAPREDUCE_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + </dependencies> + <commandScript> + <script>scripts/oozie2_server.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + + <component> + <name>OOZIE2_CLIENT</name> + <category>CLIENT</category> + <cardinality>0+</cardinality> + <dependencies> + <dependency> + <name>HDFS/HDFS_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + <dependency> + <name>MAPREDUCE/MAPREDUCE_CLIENT</name> + <scope>host</scope> + <auto-deploy> + <enabled>true</enabled> + </auto-deploy> + </dependency> + </dependencies> + <commandScript> + <script>scripts/oozie2_client.py</script> + <scriptType>PYTHON</scriptType> + </commandScript> + </component> + </components> + + <osSpecifics> + <osSpecific> + <osFamily>any</osFamily> + <packages> + <package> + <name>oozie2.noarch</name> + </package> + <package> + <name>oozie2-client.noarch</name> + </package> + <package> + <name>extjs-2.2-1</name> + </package> + </packages> + </osSpecific> + </osSpecifics> + + <commandScript> + <script>scripts/service_check.py</script> + <scriptType>PYTHON</scriptType> + <timeout>300</timeout> + </commandScript> + + <configuration-dependencies> + <config-type>global</config-type> + <config-type>oozie2-site</config-type> + </configuration-dependencies> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks/OTHER/1.0/services/PIG2/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/OTHER/1.0/services/PIG2/metainfo.xml b/ambari-server/src/test/resources/stacks/OTHER/1.0/services/PIG2/metainfo.xml new file mode 100644 index 0000000..ccea8f9 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/OTHER/1.0/services/PIG2/metainfo.xml @@ -0,0 +1,30 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>PIG2</name> + <displayName>Pig</displayName> + <comment>Extended PIG</comment> + <version>Extended Version</version> + <extends>HDP/2.1.1/PIG</extends> + </service> + </services> + +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/metainfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/metainfo.xml new file mode 100644 index 0000000..768f110 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/metainfo.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <versions> + <upgrade>0.0</upgrade> + </versions> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml new file mode 100644 index 0000000..1ea1809 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml @@ -0,0 +1,57 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<reposinfo> + <os family="centos6, redhat6"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl> + <repoid>HDP-1.1.1.16</repoid> + <reponame>HDP</reponame> + </repo> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl> + <repoid>HDP-UTILS-1.1.0.15</repoid> + <reponame>HDP-UTILS</reponame> + <mirrorslist></mirrorslist> + </repo> + <repo> + <baseurl></baseurl> + <repoid>epel</repoid> + <reponame>epel</reponame> + <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist> + </repo> + </os> + <os family="centos5, redhat5"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl> + <repoid>HDP-1.1.1.16</repoid> + <reponame>HDP</reponame> + </repo> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl> + <repoid>HDP-UTILS-1.1.0.15</repoid> + <reponame>HDP-UTILS</reponame> + <mirrorslist></mirrorslist> + </repo> + <repo> + <baseurl></baseurl> + <repoid>epel</repoid> + <reponame>epel</reponame> + <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist> + </repo> + </os> +</reposinfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/HDFS/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/HDFS/metainfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/HDFS/metainfo.xml new file mode 100644 index 0000000..175cab2 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/HDFS/metainfo.xml @@ -0,0 +1,46 @@ +<?xml version="1.0"?> +<!-- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>HDFS</name> + <extends>common-services/HDFS/1.0</extends> + <components> + <component> + <name>DATANODE1</name> + <category>SLAVE</category> + <cardinality>1+</cardinality> + <commandScript> + <script>scripts/datanode.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + + <component> + <name>DATANODE2</name> + <category>SLAVE</category> + <cardinality>1+</cardinality> + <commandScript> + <script>scripts/datanode.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + </components> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/MAPREDUCE/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/MAPREDUCE/metainfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/MAPREDUCE/metainfo.xml new file mode 100644 index 0000000..3b0b3d9 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/MAPREDUCE/metainfo.xml @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<!-- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>MAPREDUCE</name> + <extends>common-services/MAPREDUCE/1.0</extends> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/PIG/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/PIG/metainfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/PIG/metainfo.xml new file mode 100644 index 0000000..ddadd37 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/PIG/metainfo.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>PIG</name> + <extends>common-services/PIG/1.0</extends> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/metainfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/metainfo.xml new file mode 100644 index 0000000..73600e4 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/metainfo.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <versions> + <upgrade>0.1</upgrade> + </versions> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml new file mode 100644 index 0000000..c0095b5 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml @@ -0,0 +1,57 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<reposinfo> + <os family="redhat6"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl> + <repoid>HDP-1.1.1.16</repoid> + <reponame>HDP</reponame> + </repo> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl> + <repoid>HDP-UTILS-1.1.0.15</repoid> + <reponame>HDP-UTILS</reponame> + <mirrorslist></mirrorslist> + </repo> + <repo> + <baseurl></baseurl> + <repoid>epel</repoid> + <reponame>epel</reponame> + <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist> + </repo> + </os> + <os family="centos5"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl> + <repoid>HDP-1.1.1.16</repoid> + <reponame>HDP</reponame> + </repo> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl> + <repoid>HDP-UTILS-1.1.0.15</repoid> + <reponame>HDP-UTILS</reponame> + <mirrorslist></mirrorslist> + </repo> + <repo> + <baseurl></baseurl> + <repoid>epel</repoid> + <reponame>epel</reponame> + <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist> + </repo> + </os> +</reposinfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HBASE/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HBASE/metainfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HBASE/metainfo.xml new file mode 100644 index 0000000..48123f0 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HBASE/metainfo.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>HBASE</name> + <extends>common-services/HBASE/1.0</extends> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/global.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/global.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/global.xml new file mode 100644 index 0000000..bcab577 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/global.xml @@ -0,0 +1,145 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> + +<configuration> + <property> + <name>namenode_host</name> + <value></value> + <description>NameNode Host.</description> + </property> + <property> + <name>dfs_name_dir</name> + <value>/hadoop/hdfs/namenode</value> + <description>NameNode Directories.</description> + </property> + <property> + <name>snamenode_host</name> + <value></value> + <description>Secondary NameNode.</description> + </property> + <property> + <name>fs_checkpoint_dir</name> + <value>/hadoop/hdfs/namesecondary</value> + <description>Secondary NameNode checkpoint dir.</description> + </property> + <property> + <name>datanode_hosts</name> + <value></value> + <description>List of Datanode Hosts.</description> + </property> + <property> + <name>dfs_data_dir</name> + <value>/hadoop/hdfs/data</value> + <description>Data directories for Data Nodes.</description> + </property> + <property> + <name>hdfs_log_dir_prefix</name> + <value>/var/log/hadoop</value> + <description>Hadoop Log Dir Prefix</description> + </property> + <property> + <name>hadoop_pid_dir_prefix</name> + <value>/var/run/hadoop</value> + <description>Hadoop PID Dir Prefix</description> + </property> + <property> + <name>dfs_webhdfs_enabled</name> + <value>true</value> + <description>WebHDFS enabled</description> + </property> + <property> + <name>hadoop_heapsize</name> + <value>1024</value> + <description>Hadoop maximum Java heap size</description> + </property> + <property> + <name>namenode_heapsize</name> + <value>1024</value> + <description>NameNode Java heap size</description> + </property> + <property> + <name>namenode_opt_newsize</name> + <value>200</value> + <description>Default size of Java new generation for NameNode (Java option -XX:NewSize) Note: The value of NameNode new generation size (default size of Java new generation for NameNode (Java option -XX:NewSize)) should be 1/8 of maximum heap size (-Xmx). Ensure that the value of the namenode_opt_newsize property is 1/8 the value of maximum heap size (-Xmx).</description> + </property> + <property> + <name>namenode_opt_maxnewsize</name> + <value>640</value> + <description>NameNode maximum new generation size</description> + </property> + <property> + <name>namenode_opt_permsize</name> + <value>128</value> + <description>NameNode permanent generation size</description> + </property> + <property> + <name>namenode_opt_maxpermsize</name> + <value>256</value> + <description>NameNode maximum permanent generation size</description> + </property> + <property> + <name>datanode_du_reserved</name> + <value>1</value> + <description>Reserved space for HDFS</description> + </property> + <property> + <name>dtnode_heapsize</name> + <value>1024</value> + <description>DataNode maximum Java heap size</description> + </property> + <property> + <name>dfs_datanode_failed_volume_tolerated</name> + <value>0</value> + <description>DataNode volumes failure toleration</description> + </property> + <property> + <name>fs_checkpoint_period</name> + <value>21600</value> + <description>HDFS Maximum Checkpoint Delay</description> + </property> + <property> + <name>fs_checkpoint_size</name> + <value>0.5</value> + <description>FS Checkpoint Size.</description> + </property> + <property> + <name>security_enabled</name> + <value>false</value> + <description>Hadoop Security</description> + </property> + <property> + <name>kerberos_domain</name> + <value>EXAMPLE.COM</value> + <description>Kerberos realm.</description> + </property> + <property> + <name>kerberos_domain</name> + <value>EXAMPLE.COM</value> + <description>Kerberos realm.</description> + </property> + <property> + <name>keytab_path</name> + <value>/etc/security/keytabs</value> + <description>KeyTab Directory.</description> + </property> + +</configuration> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hadoop-env.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hadoop-env.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hadoop-env.xml new file mode 100644 index 0000000..2f9b95f --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hadoop-env.xml @@ -0,0 +1,223 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> + +<configuration> + <property> + <name>hdfs_log_dir_prefix</name> + <value>/var/log/hadoop</value> + <description>Hadoop Log Dir Prefix</description> + </property> + <property> + <name>hadoop_pid_dir_prefix</name> + <value>/var/run/hadoop</value> + <description>Hadoop PID Dir Prefix</description> + </property> + <property> + <name>hadoop_heapsize</name> + <value>1024</value> + <description>Hadoop maximum Java heap size</description> + </property> + <property> + <name>namenode_heapsize</name> + <value>1024</value> + <description>NameNode Java heap size</description> + </property> + <property> + <name>namenode_opt_newsize</name> + <value>200</value> + <description>Default size of Java new generation for NameNode (Java option -XX:NewSize) Note: The value of NameNode new generation size (default size of Java new generation for NameNode (Java option -XX:NewSize)) should be 1/8 of maximum heap size (-Xmx). Ensure that the value of the namenode_opt_newsize property is 1/8 the value of maximum heap size (-Xmx).</description> + </property> + <property> + <name>namenode_opt_maxnewsize</name> + <value>200</value> + <description>NameNode maximum new generation size</description> + </property> + <property> + <name>namenode_opt_permsize</name> + <value>128</value> + <description>NameNode permanent generation size</description> + </property> + <property> + <name>namenode_opt_maxpermsize</name> + <value>256</value> + <description>NameNode maximum permanent generation size</description> + </property> + <property> + <name>dtnode_heapsize</name> + <value>1024</value> + <description>DataNode maximum Java heap size</description> + </property> + <property> + <name>proxyuser_group</name> + <value>users</value> + <description>Proxy user group.</description> + </property> + <property> + <name>security_enabled</name> + <value>false</value> + <description>Hadoop Security</description> + </property> + <property> + <name>kerberos_domain</name> + <value>EXAMPLE.COM</value> + <description>Kerberos realm.</description> + </property> + <property> + <name>hdfs_user</name> + <value>hdfs</value> + <description>User and Groups.</description> + </property> + <property> + <name>ignore_groupsusers_create</name> + <value>false</value> + <description>Whether to ignores failures on users and group creation</description> + </property> + <property> + <name>smokeuser</name> + <value>ambari-qa</value> + <description>User executing service checks</description> + </property> + <property> + <name>user_group</name> + <value>hadoop</value> + <description>Proxy user group.</description> + </property> + + <!-- hadoop-env.sh --> + <property> + <name>content</name> + <description>hadoop-env.sh content</description> + <value> +# Set Hadoop-specific environment variables here. + +# The only required environment variable is JAVA_HOME. All others are +# optional. When running a distributed configuration it is best to +# set JAVA_HOME in this file, so that it is correctly defined on +# remote nodes. + +# The java implementation to use. Required. +export JAVA_HOME={{java_home}} +export HADOOP_HOME_WARN_SUPPRESS=1 + +# Hadoop home directory +export HADOOP_HOME=${HADOOP_HOME:-/usr/lib/hadoop} + +# Hadoop Configuration Directory +#TODO: if env var set that can cause problems +export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}} + +{# this is different for HDP1 #} +# Path to jsvc required by secure HDP 2.0 datanode +export JSVC_HOME={{jsvc_path}} + + +# The maximum amount of heap to use, in MB. Default is 1000. +export HADOOP_HEAPSIZE="{{hadoop_heapsize}}" + +export HADOOP_NAMENODE_INIT_HEAPSIZE="-Xms{{namenode_heapsize}}" + +# Extra Java runtime options. Empty by default. +export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}" + +# Command specific options appended to HADOOP_OPTS when specified +export HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_NAMENODE_OPTS}" +HADOOP_JOBTRACKER_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xmx{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}" + +HADOOP_TASKTRACKER_OPTS="-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}" +HADOOP_DATANODE_OPTS="-Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=ERROR,DRFAS ${HADOOP_DATANODE_OPTS}" +HADOOP_BALANCER_OPTS="-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}" + +export HADOOP_SECONDARYNAMENODE_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps ${HADOOP_NAMENODE_INIT_HEAPSIZE} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_SECONDARYNAMENODE_OPTS}" + +# The following applies to multiple commands (fs, dfs, fsck, distcp etc) +export HADOOP_CLIENT_OPTS="-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS" +# On secure datanodes, user to run the datanode as after dropping privileges +export HADOOP_SECURE_DN_USER={{hdfs_user}} + +# Extra ssh options. Empty by default. +export HADOOP_SSH_OPTS="-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR" + +# Where log files are stored. $HADOOP_HOME/logs by default. +export HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER + +# History server logs +export HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER + +# Where log files are stored in the secure data environment. +export HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER + +# File naming remote slave hosts. $HADOOP_HOME/conf/slaves by default. +# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves + +# host:path where hadoop code should be rsync'd from. Unset by default. +# export HADOOP_MASTER=master:/home/$USER/src/hadoop + +# Seconds to sleep between slave commands. Unset by default. This +# can be useful in large clusters, where, e.g., slave rsyncs can +# otherwise arrive faster than the master can service them. +# export HADOOP_SLAVE_SLEEP=0.1 + +# The directory where pid files are stored. /tmp by default. +export HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER +export HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER + +# History server pid +export HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER + +YARN_RESOURCEMANAGER_OPTS="-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY" + +# A string representing this instance of hadoop. $USER by default. +export HADOOP_IDENT_STRING=$USER + +# The scheduling priority for daemon processes. See 'man nice'. + +# export HADOOP_NICENESS=10 + +# Use libraries from standard classpath +JAVA_JDBC_LIBS="" +#Add libraries required by mysql connector +for jarFile in `ls /usr/share/java/*mysql* 2>/dev/null` +do + JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile +done +#Add libraries required by oracle connector +for jarFile in `ls /usr/share/java/*ojdbc* 2>/dev/null` +do + JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile +done +#Add libraries required by nodemanager +MAPREDUCE_LIBS={{mapreduce_libs_path}} +export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}:${MAPREDUCE_LIBS} + +if [ -d "/usr/lib/tez" ]; then + export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/lib/tez/*:/usr/lib/tez/lib/*:/etc/tez/conf +fi + +# Setting path to hdfs command line +export HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}} + +#Mostly required for hadoop 2.0 +export JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:/usr/lib/hadoop/lib/native/Linux-amd64-64 + </value> + </property> + +</configuration> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hbase-site.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hbase-site.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hbase-site.xml new file mode 100644 index 0000000..5024e85 --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hbase-site.xml @@ -0,0 +1,137 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +/** + * Copyright 2007 The Apache Software Foundation + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> +<configuration> + <property> + <name>hbase.regionserver.msginterval</name> + <value>1000</value> + <description>Interval between messages from the RegionServer to HMaster + in milliseconds. Default is 15. Set this value low if you want unit + tests to be responsive. + </description> + </property> + <property> + <name>hbase.client.pause</name> + <value>5000</value> + <description>General client pause value. Used mostly as value to wait + before running a retry of a failed get, region lookup, etc.</description> + </property> + <property> + <name>hbase.master.meta.thread.rescanfrequency</name> + <value>10000</value> + <description>How long the HMaster sleeps (in milliseconds) between scans of + the root and meta tables. + </description> + </property> + <property> + <name>hbase.server.thread.wakefrequency</name> + <value>1000</value> + <description>Time to sleep in between searches for work (in milliseconds). + Used as sleep interval by service threads such as META scanner and log roller. + </description> + </property> + <property> + <name>hbase.regionserver.handler.count</name> + <value>5</value> + <description>Count of RPC Server instances spun up on RegionServers + Same property is used by the HMaster for count of master handlers. + Default is 10. + </description> + </property> + <property> + <name>hbase.master.lease.period</name> + <value>6000</value> + <description>Length of time the master will wait before timing out a region + server lease. Since region servers report in every second (see above), this + value has been reduced so that the master will notice a dead region server + sooner. The default is 30 seconds. + </description> + </property> + <property> + <name>hbase.master.info.port</name> + <value>-1</value> + <description>The port for the hbase master web UI + Set to -1 if you do not want the info server to run. + </description> + </property> + <property> + <name>hbase.regionserver.info.port</name> + <value>-1</value> + <description>The port for the hbase regionserver web UI + Set to -1 if you do not want the info server to run. + </description> + </property> + <property> + <name>hbase.regionserver.info.port.auto</name> + <value>true</value> + <description>Info server auto port bind. Enables automatic port + search if hbase.regionserver.info.port is already in use. + Enabled for testing to run multiple tests on one machine. + </description> + </property> + <property> + <name>hbase.master.lease.thread.wakefrequency</name> + <value>3000</value> + <description>The interval between checks for expired region server leases. + This value has been reduced due to the other reduced values above so that + the master will notice a dead region server sooner. The default is 15 seconds. + </description> + </property> + <property> + <name>hbase.regionserver.optionalcacheflushinterval</name> + <value>10000</value> + <description> + Amount of time to wait since the last time a region was flushed before + invoking an optional cache flush. Default 60,000. + </description> + </property> + <property> + <name>hbase.regionserver.safemode</name> + <value>false</value> + <description> + Turn on/off safe mode in region server. Always on for production, always off + for tests. + </description> + </property> + <property> + <name>hbase.hregion.max.filesize</name> + <value>67108864</value> + <description> + Maximum desired file size for an HRegion. If filesize exceeds + value + (value / 2), the HRegion is split in two. Default: 256M. + + Keep the maximum filesize small so we split more often in tests. + </description> + </property> + <property> + <name>hadoop.log.dir</name> + <value>${user.dir}/../logs</value> + </property> + <property> + <name>hbase.zookeeper.property.clientPort</name> + <value>21818</value> + <description>Property from ZooKeeper's config zoo.cfg. + The port at which the clients will connect. + </description> + </property> +</configuration> http://git-wip-us.apache.org/repos/asf/ambari/blob/9ce79716/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hdfs-log4j.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hdfs-log4j.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hdfs-log4j.xml new file mode 100644 index 0000000..649472d --- /dev/null +++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hdfs-log4j.xml @@ -0,0 +1,199 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> + +<configuration supports_final="false"> + + <property> + <name>content</name> + <value> +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + + +# Define some default values that can be overridden by system properties +hadoop.root.logger=INFO,console +hadoop.log.dir=. +hadoop.log.file=hadoop.log + + +# Define the root logger to the system property "hadoop.root.logger". +log4j.rootLogger=${hadoop.root.logger}, EventCounter + +# Logging Threshold +log4j.threshhold=ALL + +# +# Daily Rolling File Appender +# + +log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file} + +# Rollver at midnight +log4j.appender.DRFA.DatePattern=.yyyy-MM-dd + +# 30-day backup +#log4j.appender.DRFA.MaxBackupIndex=30 +log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout + +# Pattern format: Date LogLevel LoggerName LogMessage +log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n +# Debugging Pattern format +#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n + + +# +# console +# Add "console" to rootlogger above if you want to use this +# + +log4j.appender.console=org.apache.log4j.ConsoleAppender +log4j.appender.console.target=System.err +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n + +# +# TaskLog Appender +# + +#Default values +hadoop.tasklog.taskid=null +hadoop.tasklog.iscleanup=false +hadoop.tasklog.noKeepSplits=4 +hadoop.tasklog.totalLogFileSize=100 +hadoop.tasklog.purgeLogSplits=true +hadoop.tasklog.logsRetainHours=12 + +log4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender +log4j.appender.TLA.taskId=${hadoop.tasklog.taskid} +log4j.appender.TLA.isCleanup=${hadoop.tasklog.iscleanup} +log4j.appender.TLA.totalLogFileSize=${hadoop.tasklog.totalLogFileSize} + +log4j.appender.TLA.layout=org.apache.log4j.PatternLayout +log4j.appender.TLA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n + +# +#Security audit appender +# +hadoop.security.logger=INFO,console +hadoop.security.log.maxfilesize=256MB +hadoop.security.log.maxbackupindex=20 +log4j.category.SecurityLogger=${hadoop.security.logger} +hadoop.security.log.file=SecurityAuth.audit +log4j.appender.DRFAS=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DRFAS.File=${hadoop.log.dir}/${hadoop.security.log.file} +log4j.appender.DRFAS.layout=org.apache.log4j.PatternLayout +log4j.appender.DRFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n +log4j.appender.DRFAS.DatePattern=.yyyy-MM-dd + +log4j.appender.RFAS=org.apache.log4j.RollingFileAppender +log4j.appender.RFAS.File=${hadoop.log.dir}/${hadoop.security.log.file} +log4j.appender.RFAS.layout=org.apache.log4j.PatternLayout +log4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n +log4j.appender.RFAS.MaxFileSize=${hadoop.security.log.maxfilesize} +log4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex} + +# +# hdfs audit logging +# +hdfs.audit.logger=INFO,console +log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger} +log4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false +log4j.appender.DRFAAUDIT=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DRFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log +log4j.appender.DRFAAUDIT.layout=org.apache.log4j.PatternLayout +log4j.appender.DRFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n +log4j.appender.DRFAAUDIT.DatePattern=.yyyy-MM-dd + +# +# mapred audit logging +# +mapred.audit.logger=INFO,console +log4j.logger.org.apache.hadoop.mapred.AuditLogger=${mapred.audit.logger} +log4j.additivity.org.apache.hadoop.mapred.AuditLogger=false +log4j.appender.MRAUDIT=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MRAUDIT.File=${hadoop.log.dir}/mapred-audit.log +log4j.appender.MRAUDIT.layout=org.apache.log4j.PatternLayout +log4j.appender.MRAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n +log4j.appender.MRAUDIT.DatePattern=.yyyy-MM-dd + +# +# Rolling File Appender +# + +log4j.appender.RFA=org.apache.log4j.RollingFileAppender +log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file} + +# Logfile size and and 30-day backups +log4j.appender.RFA.MaxFileSize=256MB +log4j.appender.RFA.MaxBackupIndex=10 + +log4j.appender.RFA.layout=org.apache.log4j.PatternLayout +log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n +log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n + + +# Custom Logging levels + +hadoop.metrics.log.level=INFO +#log4j.logger.org.apache.hadoop.mapred.JobTracker=DEBUG +#log4j.logger.org.apache.hadoop.mapred.TaskTracker=DEBUG +#log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG +log4j.logger.org.apache.hadoop.metrics2=${hadoop.metrics.log.level} + +# Jets3t library +log4j.logger.org.jets3t.service.impl.rest.httpclient.RestS3Service=ERROR + +# +# Null Appender +# Trap security logger on the hadoop client side +# +log4j.appender.NullAppender=org.apache.log4j.varia.NullAppender + +# +# Event Counter Appender +# Sends counts of logging messages at different severity levels to Hadoop Metrics. +# +log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter + +# Removes "deprecated" messages +log4j.logger.org.apache.hadoop.conf.Configuration.deprecation=WARN + </value> + </property> + +</configuration>
