'Start oozie process.'

@classmethod
def start(cls, cluster):

    SqoopServerProvider.initialize(cluster._tmpdir)
    env = os.environ
    env['CATALINA_HOME'] = os.path.join(SqoopServerProvider.HOME, 'server')
    env['CATALINA_PID'] = os.path.join(cluster._tmpdir, 'sqoop/sqoop.pid')
    env['CATALINA_OPTS'] = ('\n                        -Dtest.log.dir=%(log_dir)s\n                        -Dtest.host.local=%(host)s\n                        -Dsqoop.http.port=%(http_port)s\n                        -Dsqoop.admin.port=%(admin_port)s\n                ' % {'log_dir': os.path.join(cluster._tmpdir, 'sqoop/logs'), 'host': socket.getfqdn(), 'http_port': SqoopServerProvider.TEST_PORT, 'admin_port': SqoopServerProvider.TEST_SHUTDOWN_PORT})
    env['SQOOP_HTTP_PORT'] = SqoopServerProvider.TEST_PORT
    env['SQOOP_ADMIN_PORT'] = SqoopServerProvider.TEST_SHUTDOWN_PORT
    env['JAVA_OPTS'] = ('-Dsqoop.config.dir=%s' % os.path.join(cluster._tmpdir, 'sqoop/conf'))
    args = [os.path.join(SqoopServerProvider.HOME, 'bin/sqoop.sh'), 'server', 'start']
    LOG.info(('Executing    %s,    env    %s,    cwd    %s' % (repr(args), repr(env), cluster._tmpdir)))
    process = subprocess.Popen(args=args, env=env, cwd=cluster._tmpdir, stdin=subprocess.PIPE)
    return process
