9 Replies Latest reply on May 3, 2017 11:07 PM by flora_dim

    Installing Teiid in Domain Mode

    flora_dim

      I am trying to install teiid in domain mode following the installation guide provided here Installation Guide · Teiid Documentation .

       

      When I issue <jboss-install>/bin/jboss-cli.sh --file=scripts/teiid-domain-mode-install.cli operation, I got the following output. I would appreciate your feedback on resolving this issue.

       

      Second part of my question is on deploying the vdb under domain mode and exposing it via a REST API. When running in standalone mode a .war file is automatically generated when the .xml file related to vdb is deployed to the deployments folder. I would appreciate if you could describe how to expose the .vdb as a REST API when using the domain mode. Does simply deploying the .xml file via web interface generate the .war file?

       

      Thank you

       

       

      Output when running <jboss-install>/bin/jboss-cli.sh --file=scripts/teiid-domain-mode-install.cli

      {

          "outcome" => "failed",

          "result" => undefined,

          "failure-description" => {"WFLYDC0074: Operation failed or was rolled back on all servers. Server failures:" => {"server-group" => {

              "ha-server-group" => {"host" => {"master" => {

                  "ha-server-1" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName",

                  "ha-server-2" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName"

              }}},

              "main-server-group" => {"host" => {"master" => {

                  "server-one" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName",

                  "server-two" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName"

              }}}

          }}},

          "rolled-back" => true,

          "server-groups" => {

              "ha-server-group" => {"host" => {"master" => {

                  "ha-server-1" => {"response" => {

                      "outcome" => "failed",

                      "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName",

                      "rolled-back" => true

                  }},

                  "ha-server-2" => {"response" => {

                      "outcome" => "failed",

                      "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName",

                      "rolled-back" => true

                  }}

              }}},

              "main-server-group" => {"host" => {"master" => {

                  "server-one" => {"response" => {

                      "outcome" => "failed",

                      "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName",

                      "rolled-back" => true

                  }},

                  "server-two" => {"response" => {

                      "outcome" => "failed",

                      "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.NoClassDefFoundError: org/wildfly/clustering/jgroups/spi/service/ProtocolStackServiceName",

                      "rolled-back" => true

                  }}

              }}}

          }

      }

        • 1. Re: Installing Teiid in Domain Mode
          rareddy

          Looks like version mismatches. What version of Teiid and WildFly you are using?

           

          On Rest WAR, upon deployment of VDB if all the metadata is correct WAR file should be generated.

          • 2. Re: Installing Teiid in Domain Mode
            flora_dim

            Thank you for the prompt reply. I am using Wildfly 10 and Teiid 9.2.2.

            So in order to run teiid on a cluster in domain mode

            1. Run domain.sh

            2. Execute

             

            <jboss-install>/bin/jboss-cli.sh --file=scripts/teiid-domain-mode-install.cli

             

            3. Deploy the virtual databases in XML format via the web interface.

             

            Is above approach correct? Are there other steps involved if we are forming the cluster on a single machine? Do we have to provide additional configurations like we do in standalone mode with standalone-teiid.xml file.

             

            Thank you

            • 3. Re: Installing Teiid in Domain Mode
              rareddy

              Before you can run domain.sh, you need to setup WildFly servers in master/slave topology you want. For that see [1] as to what configuration is needed. Once you finished with that, then you can above command. If you are running only single node, then what you have above is fine.

               

              [1] Domain Setup - WildFly 10 - Project Documentation Editor

              • 4. Re: Installing Teiid in Domain Mode
                flora_dim

                Here are the steps I followed in trying to get Teiid run on cluster mode.

                1. I followed the guide provided here http://middlewaremagic.com/jboss/?p=1969 to create a new server group and added two two nodes to host.xml file ( I am trying to create the cluster on a single machine )

                 

                2. Ran ./domain.sh

                 

                3. Executed

                 

                <jboss-install>/bin/jboss-cli.sh --file=scripts/teiid-domain-mode-install.cli

                 

                (This gives me the output I posted in the first post )

                 

                4. After this, I tried to deploy a vdb which generates a WAR file in standalone mode, via the web console (for domain mode). It gives the below output but does not produce a WAR file. Could this be because Teeid is not setup correctly due to the failure of teiid-domain-mode-install.cli script?

                 

                Output when trying to deploy a vdb

                 

                [Host Controller] 08:50:41,714 INFO  [org.jboss.as.repository] (management task-9) WFLYDR0001: Content added at location /opt/cluster/wildfly-10.0.0.Final/domain/data/content/12/092cedb1bcc7828cf69bace2cf1c28785d3d29/content

                [Server:server-one] 08:50:41,858 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-7) WFLYSRV0027: Starting deployment of "sample-vdb.xml" (runtime-name: "sample-vdb.xml")

                [Server:server-two] 08:50:41,863 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027: Starting deployment of "sample-vdb.xml" (runtime-name: "sample-vdb.xml")

                [Server:server-one] 08:50:42,432 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 68) WFLYSRV0010: Deployed "sample-vdb.xml" (runtime-name : "sample-vdb.xml")

                [Server:server-two] 08:50:42,441 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 68) WFLYSRV0010: Deployed "sample-vdb.xml" (runtime-name : "sample-vdb.xml")

                 

                Thank you

                • 5. Re: Installing Teiid in Domain Mode
                  flora_dim

                  We successfully created a Wildfly cluster in master/slave mode and . Then we issued

                  <jboss-install>/bin/jboss-cli.sh --file=scripts/teiid-domain-mode-install.cli operation in the master

                   

                  However this results in the following output.

                   

                   

                  We would appreciate any guidance on resolving this issue and successfully installing teiid in domain mode in the cluster.

                   

                  [Host Controller] 18:31:21,642 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 3) WFLYCTL0190: Step handler org.jboss.as.controller.extension.ExtensionAddHandler@6f223676 for operation {“address” => [(“extension” => “org.jboss.teiid”)],“operation” => “add”,“module” => “org.jboss.teiid”,“operation-headers” => {“access-mechanism” => “NATIVE”,“domain-uuid” => “de566c68-e0bb-4588-b0fa-ab878a170497",“execute-for-coordinator” => true}} at address [(“extension” => “org.jboss.teiid”)] failed handling operation rollback -- java.lang.NullPointerException: java.lang.NullPointerException

                  [Host Controller] at org.jboss.as.controller.extension.ExtensionRegistry.hasSubsystemsRegistered(ExtensionRegistry.java:361)

                  [Host Controller] at org.jboss.as.controller.extension.ExtensionRegistry.removeExtension(ExtensionRegistry.java:332)

                  [Host Controller] at org.jboss.as.controller.extension.ExtensionAddHandler$1.handleRollback(ExtensionAddHandler.java:97)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext$RollbackDelegatingResultHandler.handleResult(AbstractOperationContext.java:1412)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1384)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1366)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext$Step.finalizeInternal(AbstractOperationContext.java:1328)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1311)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext$Step.access$300(AbstractOperationContext.java:1185)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:767)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:667)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:370)

                  [Host Controller] at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1344)

                  [Host Controller] at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:392)

                  [Host Controller] at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:217)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:208)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:130)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:152)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:148)

                  [Host Controller] at java.security.AccessController.doPrivileged(Native Method)

                  [Host Controller] at javax.security.auth.Subject.doAs(Subject.java:422)

                  [Host Controller] at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:92)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:148)

                  [Host Controller] at org.jboss.as.protocol.mgmt.AbstractMessageHandler$ManagementRequestContextImpl$1.doExecute(AbstractMessageHandler.java:363)

                  [Host Controller] at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:472)

                  [Host Controller] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

                  [Host Controller] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

                  [Host Controller] at java.lang.Thread.run(Thread.java:745)

                  [Host Controller] at org.jboss.threads.JBossThread.run(JBossThread.java:320)

                  [Host Controller]

                   

                   

                   

                  [Host Controller] 18:37:12,764 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 7) WFLYCTL0013: Operation (“add”) failed - address: ([(“extension” => “org.jboss.teiid”)]): java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at ‘/profile=*/subsystem=teiid’

                  [Host Controller] at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:215)

                  [Host Controller] at org.jboss.as.controller.extension.ExtensionRegistry$SubsystemRegistrationImpl.registerSubsystemModel(ExtensionRegistry.java:702)

                  [Host Controller] at org.teiid.jboss.TeiidExtension.initialize(TeiidExtension.java:54)

                  [Host Controller] at org.jboss.as.controller.extension.ExtensionAddHandler.initializeExtension(ExtensionAddHandler.java:131)

                  [Host Controller] at org.jboss.as.controller.extension.ExtensionAddHandler.execute(ExtensionAddHandler.java:83)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:890)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:659)

                  [Host Controller] at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:370)

                  [Host Controller] at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1344)

                  [Host Controller] at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:392)

                  [Host Controller] at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:217)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:208)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:130)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:152)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:148)

                  [Host Controller] at java.security.AccessController.doPrivileged(Native Method)

                  [Host Controller] at javax.security.auth.Subject.doAs(Subject.java:422)

                  [Host Controller] at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:92)

                  [Host Controller] at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:148)

                  [Host Controller] at org.jboss.as.protocol.mgmt.AbstractMessageHandler$ManagementRequestContextImpl$1.doExecute(AbstractMessageHandler.java:363)

                  [Host Controller] at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:472)

                  [Host Controller] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

                  [Host Controller] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

                  [Host Controller] at java.lang.Thread.run(Thread.java:745)

                  [Host Controller] at org.jboss.threads.JBossThread.run(JBossThread.java:320)

                  [Host Controller]

                   

                   

                  Thank you

                  • 6. Re: Installing Teiid in Domain Mode
                    rareddy

                    I do see some configuration issue, let me figure out and I will give a solution later today. Sorry for the inconvenience.

                    • 7. Re: Installing Teiid in Domain Mode
                      rareddy

                      Ok here are some steps to correct the initial issue. There seems to be additional dependencies came with WF 10.

                       

                      1) In the <wildfly-install>/modules/system/layers/dv/org/jboss/teiid/main/module.xml  file, edit and add the below string in dependencies section.

                              <module name="org.wildfly.clustering.jgroups.spi"/>

                       

                      2) delete <wildfly-install>/domain/configuration/domain.xml

                       

                      3) copy <wildfly-install>/domain/configuration/domain_xml_history/domain.boot.xml as  <wildfly-install>/domain/configuration/domain.xml

                       

                      4) start the server by running "bin/domain.sh" command

                       

                      5) now run the "./jboss-cli.sh --file=scripts/teiid-domain-mode-install.cli" to install

                      • 8. Re: Installing Teiid in Domain Mode
                        rareddy

                        This is worked under [TEIID-4887] Domain mode configuration fails with CNF - JBoss Issue Tracker  and solution will be in 9.2.3 and 9.3.Beta2

                        • 9. Re: Installing Teiid in Domain Mode
                          flora_dim

                          Thank you for the prompt reply and for your guidance on resolving this issue.