Search code examples
hadoop2ambariapache-drill

DRILL as a custom service with HDP 2.6 : java.lang.ClassCastException


I am installing Drill with HDP 2.6 and while going through the installation,the screen stuck at one screen in choosing slave agent .

In the log file:

java.lang.ClassCastException: java.util.LinkedHashSet cannot be cast to java.util.List
    at org.apache.ambari.server.controller.internal.StackAdvisorResourceProvider.prepareStackAdvisorRequest(StackAdvisorResourceProvider.java:110)
    at org.apache.ambari.server.controller.internal.ValidationResourceProvider.createResources(ValidationResourceProvider.java:81)
    at org.apache.ambari.server.controller.internal.ClusterControllerImpl.createResources(ClusterControllerImpl.java:298)
    at org.apache.ambari.server.api.services.persistence.PersistenceManagerImpl.create(PersistenceManagerImpl.java:97)
    at org.apache.ambari.server.api.handlers.CreateHandler.persist(CreateHandler.java:37)
    at org.apache.ambari.server.api.handlers.BaseManagementHandler.handleRequest(BaseManagementHandler.java:73)
    at org.apache.ambari.server.api.services.BaseRequest.process(BaseRequest.java:144)
    at org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:126)
    at org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:90)

Earlier i have succesfully tested with HDP 2.5 and the drill custom service scripts has been downloaded from https://github.com/dvergari/ambari-drill-service.

Please help me resolve this issue. HDP:2.6 Ambari:2.5


Solution

  • Had the same problem with this git repo...Change metainfo.xml as below...

    `

    <?xml version="1.0"?>
    <metainfo>
        <schemaVersion>2.0</schemaVersion>
        <services>
            <service>
                <name>DRILL</name>
                <displayName>Drill</displayName>
                <comment>Schema-free SQL Query Engine</comment>
                <version>1.10.0</version>
                <components>
                    <component>
                        <name>DRILL_MASTER</name>
                        <displayName>Drill Master</displayName>
                        <category>MASTER</category>
                        <cardinality>1+</cardinality>
                        <commandScript>
                            <script>scripts/drill.py</script>
                            <scriptType>PYTHON</scriptType>
                            <timeout>10000</timeout>
                        </commandScript>
                        <configFiles>
                          <configFile>
                            <type>xml</type>
                            <fileName>drill-env.xml</fileName>
                            <dictionaryName>drill-env</dictionaryName>
                          </configFile>
                          <configFile>
                            <type>xml</type>
                            <fileName>drill-override.xml</fileName>
                            <dictionaryName>drill-override</dictionaryName>
                          </configFile>
                          <configFile>
                            <type>xml</type>
                            <fileName>drill-ambari-config.xml</fileName>
                            <dictionaryName>drill-ambari-config</dictionaryName>
                          </configFile>           
                        </configFiles>
                    </component>                
                </components>
              <configuration-dependencies>
                <config-type>drill-env</config-type>
                <config-type>drill-override</config-type>
                <config-type>drill-ambari-config</config-type>
              </configuration-dependencies>         
            </service>
        </services>
    </metainfo>
    

    `