6 Replies Latest reply on May 18, 2021 6:50 AM by Ashley DCruz

    Automated startup via systemd RHEL 7.x

    Ashley DCruz Active Member

      We have a multi-node setup (node2 runs the catalog, MRS  and email services).

      Node 1 needs to start before Node2 can start as the administrator needs to be up and running.

      I have encapsulated the infastart command within a script on both nodes and if it is on node2 it waits until node1 is started.

      The scripts work fine when they are called from the command line. 

       

      I have written a script to start/stop EDC via systemd.

      When I run the start via systemd the catalog service fails, MRS and email services start.

       

      I get these error messages in the LDM.log

      2020-08-18 09:33:46,704 ERROR [INIT_SERVICE_Hadoop_Resource_Manager:HostConfPropertyValidator@223] - Atleast one of the prevalidations failed with ERROR:

      ERROR - File descriptor soft-limit check failed. The value must be greater than or equal to 32000. Command output: 4096

      ERROR - File descriptor hard-limit check failed. The value must be greater than or equal to 32000. Command output: 4096

      2020-08-18 09:33:46,704 ERROR [INIT_SERVICE_Hadoop_Resource_Manager:HostConfPropertyValidator@223] - Atleast one of the prevalidations failed with ERROR:

      ERROR - File descriptor soft-limit check failed. The value must be greater than or equal to 32000. Command output: 4096

      ERROR - File descriptor hard-limit check failed. The value must be greater than or equal to 32000. Command output: 4096

      2020-08-18 09:33:46,704 ERROR [INIT_SERVICE_Hadoop_Resource_Manager:HostConfPropertyValidator@157] - Prevalidations failed for host: [gaxgpif615vd.southernco.com]

      2020-08-18 09:33:46,704 ERROR [INIT_SERVICE_Hadoop_Resource_Manager:HostConfPropertyValidator@157] - Prevalidations failed for host: [gaxgpif615vd.southernco.com]

      2020-08-18 09:33:46,704 ERROR [INIT_SERVICE_Hadoop_Resource_Manager:CatalogServicePrevalidation@96] - Validations failed for atleast one host.

      2020-08-18 09:33:46,704 ERROR [INIT_SERVICE_Hadoop_Resource_Manager:CatalogServicePrevalidation@96] - Validations failed for atleast one host.

      2020-08-18 09:33:46,707 DEBUG [CSStartup:ServiceOperationExecutor@119] - Service operation [INIT_SERVICE_Hadoop_Resource_Manager] failed for service [Hadoop_Resource_Manager] because of following error: [java.util.concurrent.ExecutionException: com.infa.products.ldm.deployment.exceptions.DeploymentFailureException: [CatalogServiceValidationMsg_10068] Cluster Service validations failed with error [com.infa.products.ldm.deployment.exceptions.ValidationFailureException: [LDMDeploymentMessages_00062] Pre-validation for domain is failed.].]

      java.util.concurrent.ExecutionException: com.infa.products.ldm.deployment.exceptions.DeploymentFailureException: [CatalogServiceValidationMsg_10068] Cluster Service validations failed with error [com.infa.products.ldm.deployment.exceptions.ValidationFailureException: [LDMDeploymentMessages_00062] Pre-validation for domain is failed.].

       

      My systemd script has the user and group set .

      Any thoughts on what the issue might be?

       

      Thanks,
      Ashley

        • 1. Re: Automated startup via systemd RHEL 7.x
          Paolo Moretti Guru

          From the service's logs it looks like it is complaining about user's file descriptor soft/hard limits.

           

          What happens if you add the LimitNOFILE directive in the [Service] section of your systemd configuration file?

           

          e.g.

          LimitNOFILE=32000

          • 2. Re: Automated startup via systemd RHEL 7.x
            Ashley DCruz Active Member

            Paolo,

            Thank you that worked.

            • 3. Re: Automated startup via systemd RHEL 7.x
              Kurt Yokum New Member

              Ashley,

              I'm battling configuring automated startup/shudown. Can you share your .service file?

              • 4. Re: Automated startup via systemd RHEL 7.x
                Ashley DCruz Active Member

                Hi Kurt,

                 

                Here is the file - I have it under /etc/systemd/system/edc.service

                [Unit]

                Description=Informatica Service

                After=syslog.target network.target

                 

                [Service]

                Type=forking

                StandardOutput=syslog

                EnvironmentFile=/etc/systemd/system/infa.service.d/env.conf

                LimitNOFILE=32000

                 

                WorkingDirectory=/opt/informatica/104/tomcat/bin/

                 

                ExecStart=/opt/informatica/scripts/EDCService.ksh start

                ExecReload=/opt/informatica/scripts/EDCService.ksh stop;/opt/informatica/scripts

                /EDCService.ksh start

                ExecStop=/opt/informatica/scripts/EDCService.ksh stop

                 

                SyslogIdentifier=Informatica.service

                 

                User=s-infa

                Group=informatica

                 

                [Install]

                WantedBy=default.target

                 

                 

                ---- env.conf --------------------------------

                INFA_USER="s-infa"

                 

                #Oracle PassEnvironment

                ORACLE_HOME=/oracle/12.2.0.1

                TNS_ADMIN=/var/opt/oracle

                PATH=/oracle/12.2.0.1/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/bin:/sbin:/usr/java/jdk1.8.0_181

                /bin:/home/s-infa/scripts

                 

                LANG=C

                 

                #Informatica Specific PassEnvironment

                INFA_HOME=/opt/informatica/104

                 

                LD_LIBRARY_PATH=/oracle/12.2.0.1/lib:/usr/lib:/usr/local/lib:/opt/informatica/104/server/bin

                 

                HOME=/home/s-infa

                 

                 

                ---- EDCService.ksh ---

                This is just a wrapper for the infaservice.sh, because we have a multinode startup - so you can really just call infaservice.sh with startup.

                 

                Let me know if you have any questions,

                Cheers,

                Ashley

                • 5. Re: Automated startup via systemd RHEL 7.x
                  wei deng Active Member

                  Hi, Ashley,

                     Could you share infa.service systemd file?

                   

                  Thanks,

                  Wei

                  • 6. Re: Automated startup via systemd RHEL 7.x
                    Ashley DCruz Active Member

                    Here is the file - I have it under /etc/systemd/system/edc.service

                    [Unit]

                    Description=Informatica Service

                    After=syslog.target network.target

                     

                    [Service]

                    Type=forking

                    StandardOutput=syslog

                    EnvironmentFile=/etc/systemd/system/infa.service.d/env.conf

                    LimitNOFILE=32000

                    WorkingDirectory=/opt/informatica/104/tomcat/bin/

                     

                    ExecStart=/opt/informatica/scripts/EDCService.ksh start

                    ExecReload=/opt/informatica/scripts/EDCService.ksh stop;/opt/informatica/scripts/EDCService.ksh start

                    ExecStop=/opt/informatica/scripts/EDCService.ksh stop

                     

                    SyslogIdentifier=Informatica.service

                    User=s-infa

                    Group=informatica

                     

                    [Install]

                    WantedBy=default.target