Oozie工作陷入了PREP

时间:2016-06-29 13:15:56

标签: xml hadoop mapreduce oozie

我可以通过oozie提交工作。但坚持PREP阶段。 Job正在制作hdfs目录。

$ jps给出

21184 ResourceManager 
21028 SecondaryNameNode 
20837 DataNode 
20684 NameNode 
21325 NodeManager 
22078 Jps

hadoop:版本2.6.0 oozie:3.3.2

它给了我这个错误日志:

2016-06-29 18:03:49,328  INFO ActionStartXCommand:539 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@:start:] Start action [0000001-160629173053109-oozie-root-W@:start:] with user-retry state : userRetryCount [0], userRetryMax [0], userRetryInterval [10]
2016-06-29 18:03:49,329  WARN ActionStartXCommand:542 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@:start:] [***0000001-160629173053109-oozie-root-W@:start:***]Action status=DONE
2016-06-29 18:03:49,329  WARN ActionStartXCommand:542 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@:start:] [***0000001-160629173053109-oozie-root-W@:start:***]Action updated in DB!
2016-06-29 18:03:49,659  INFO ActionStartXCommand:539 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@mr-node] Start action [0000001-160629173053109-oozie-root-W@mr-node] with user-retry state : userRetryCount [0], userRetryMax [0], userRetryInterval [10]
2016-06-29 18:03:49,828  WARN MapReduceActionExecutor:542 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@mr-node] credentials is null for the action
2016-06-29 18:24:03,051  WARN ActionStartXCommand:542 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@mr-node] Error starting action [mr-node]. ErrorType [TRANSIENT], ErrorCode [  JA006], Message [  JA006: Call From AugmentIQ/192.168.1.115 to localhost:54311 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused]
org.apache.oozie.action.ActionExecutorException:   JA006: Call From ubuntu/192.168.1.115 to localhost:54311 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
    at org.apache.oozie.action.ActionExecutor.convertExceptionHelper(ActionExecutor.java:412)
    at org.apache.oozie.action.ActionExecutor.convertException(ActionExecutor.java:392)
    at org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:762)
    at org.apache.oozie.action.hadoop.JavaActionExecutor.start(JavaActionExecutor.java:913)
    at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:211)
    at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:59)
    at org.apache.oozie.command.XCommand.call(XCommand.java:277)
    at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:326)
    at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:255)
    at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:175)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Call From AugmentIQ/192.168.1.115 to localhost:54311 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
    at sun.reflect.GeneratedConstructorAccessor91.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:731)
    at org.apache.hadoop.ipc.Client.call(Client.java:1472)
    at org.apache.hadoop.ipc.Client.call(Client.java:1399)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
    at com.sun.proxy.$Proxy35.getDelegationToken(Unknown Source)
    at org.apache.hadoop.yarn.api.impl.pb.client.ApplicationClientProtocolPBClientImpl.getDelegationToken(ApplicationClientProtocolPBClientImpl.java:306)
    at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
    at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
    at com.sun.proxy.$Proxy36.getDelegationToken(Unknown Source)
    at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.getRMDelegationToken(YarnClientImpl.java:486)
    at org.apache.hadoop.mapred.ResourceMgrDelegate.getDelegationToken(ResourceMgrDelegate.java:174)
    at org.apache.hadoop.mapred.YARNRunner.getDelegationToken(YARNRunner.java:221)
    at org.apache.hadoop.mapreduce.Cluster.getDelegationToken(Cluster.java:400)
    at org.apache.hadoop.mapred.JobClient$16.run(JobClient.java:1203)
    at org.apache.hadoop.mapred.JobClient$16.run(JobClient.java:1200)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
    at org.apache.hadoop.mapred.JobClient.getDelegationToken(JobClient.java:1199)
    at org.apache.oozie.service.HadoopAccessorService.createJobClient(HadoopAccessorService.java:377)
    at org.apache.oozie.action.hadoop.JavaActionExecutor.createJobClient(JavaActionExecutor.java:956)
    at org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:712)
    ... 10 more
Caused by: java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:530)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:494)
    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:607)
    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:705)
    at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:368)
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1521)
    at org.apache.hadoop.ipc.Client.call(Client.java:1438)
    ... 33 more
2016-06-29 18:24:03,052  INFO ActionStartXCommand:539 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@mr-node] Next Retry, Attempt Number [1] in [60,000] milliseconds
2016-06-29 18:24:03,094  INFO ActionStartXCommand:539 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@mr-node] Start action [0000001-160629173053109-oozie-root-W@mr-node] with user-retry state : userRetryCount [0], userRetryMax [0], userRetryInterval [10]
2016-06-29 18:24:03,186  WARN MapReduceActionExecutor:542 - USER[hduser] GROUP[-] TOKEN[] APP[map-reduce-wf] JOB[0000001-160629173053109-oozie-root-W] ACTION[0000001-160629173053109-oozie-root-W@mr-node] credentials is null for the action

hadoop / core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <configuration>
    <configuration>
     <property>
      <name>hadoop.tmp.dir</name>
      <value>/tmp/hadoop</value>
      <description>A base for other temporary directories.</description>
     </property>

     <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:54310</value>
      <description>The name of the default file system.  A URI whose
      scheme and authority determine the FileSystem implementation.  The
      uri's scheme determines the config property (fs.SCHEME.impl) naming
      the FileSystem implementation class.  The uri's authority is used to
      determine the host, port, etc. for a filesystem.</description>
     </property>

    <property>
      <name>hadoop.proxyuser.root.groups</name>
      <value>*</value>
    </property>

    <property>
      <name>hadoop.proxyuser.root.hosts</name>
      <value>*</value>
    </property>
    </configuration>
    </configuration>

mapred-site.xml中

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<configuration>
 <property>
  <name>mapred.job.tracker</name>
  <value>localhost:54311</value>
  <description>The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  </description>
 </property>
</configuration>

HDFS-site.xml中

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<configuration>
 <property>
  <name>dfs.replication</name>
  <value>1</value>
  <description>Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
  </description>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/datanode</value>
 </property>
</configuration>
</configuration>

纱-site.xml中

<?xml version="1.0"?>

<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
      <description> The run time frame work for running Map Reduce 
          Jobs. Can be one of local, classic or yarn</description>
   </property>
   <property>
      <name>yarn.resourcemanager.scheduler.class</name>            
      <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
      <description>In case you do not want to use the default 
          scheduler
      </description>
   </property>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
   <property>
     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
     <value>org.apache.hadoop.mapred.ShuffleHandler</value>
   </property>
   <property>
     <name>yarn.app.mapreduce.am.staging-dir</name>
     <value>/tmp/hadoop-yarn/staging</value>
     <description>The staging dir used while submitting jobs.
     </description>
   </property>
</configuration>
</configuration>

Oozie的-site.xml中

<?xml version="1.0"?>
<configuration>
        <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,shell-action-0.2.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,hive-action-0.3.xsd,sqoop-action-0.2.xsd,sqoop-action-0.3.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd</value>
        </property>
  <property>
     <name>oozie.services.ext</name>
     <value>org.apache.oozie.service.HadoopAccessorService</value >
     <description>
      To add/replace services defined in 'oozie.services' with custom implementations.Class names must be separated   by commas.
     </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>false</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>10000</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.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>

        <property>
            <name>oozie.service.HadoopAccessorService.kerberos.enabled</name>
            <value>false</value>
            <description>
                Indicates if Oozie is configured to use Kerberos.
            </description>
        </property>

        <property>
            <name>local.realm</name>
            <value>LOCALHOST</value>
            <description>
                Kerberos Realm used by Oozie and Hadoop. Using 'local.realm' to be aligned with Hadoop configuration
            </description>
        </property>

        <property>
            <name>oozie.service.HadoopAccessorService.keytab.file</name>
            <value>${user.home}/oozie.keytab</value>
            <description>
                Location of the Oozie user keytab file.
            </description>
        </property>

        <property>
            <name>oozie.service.HadoopAccessorService.kerberos.principal</name>
            <value>${user.name}/localhost@${local.realm}</value>
            <description>
                Kerberos principal for Oozie service.
            </description>
        </property>

        <property>
            <name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name>
            <value> </value>
            <description>
                Whitelisted job tracker for Oozie service.
            </description>
        </property>

        <property>
            <name>oozie.service.HadoopAccessorService.nameNode.whitelist</name>
            <value> </value>
            <description>
                Whitelisted job tracker for Oozie service.
            </description>
        </property>

        <property>
            <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
            <value>*=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.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.type</name>
            <value>simple</value>
            <description>
                Defines authentication used for Oozie HTTP endpoint.
                Supported values are: simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#
            </description>
        </property>

        <property>
            <name>oozie.authentication.token.validity</name>
            <value>36000</value>
            <description>
                Indicates how long (in seconds) an authentication token is valid before it has
                to be renewed.
            </description>
        </property>

        <property>
            <name>oozie.authentication.signature.secret</name>
            <value>oozie</value>
            <description>
                The signature secret for signing the authentication tokens.
                If not set a random secret is generated at startup time.
                In order to authentiation to work correctly across multiple hosts
                the secret must be the same across al the hosts.
            </description>
        </property>

        <property>
          <name>oozie.authentication.cookie.domain</name>
          <value></value>
          <description>
            The domain to use for the HTTP cookie that stores the authentication token.
            In order to authentiation to work correctly across multiple hosts
            the domain must be correctly set.
          </description>
        </property>

        <property>
            <name>oozie.authentication.simple.anonymous.allowed</name>
            <value>true</value>
            <description>
                Indicates if anonymous requests are allowed.
                This setting is meaningful only when using 'simple' authentication.
            </description>
        </property>

        <property>
            <name>oozie.authentication.kerberos.principal</name>
            <value>HTTP/localhost@${local.realm}</value>
            <description>
                Indicates the Kerberos principal to be used for HTTP endpoint.
                The principal MUST start with 'HTTP/' as per Kerberos HTTP SPNEGO specification.
            </description>
        </property>

        <property>
            <name>oozie.authentication.kerberos.keytab</name>
            <value>${oozie.service.HadoopAccessorService.keytab.file}</value>
            <description>
                Location of the keytab file with the credentials for the principal.
                Referring to the same keytab file Oozie uses for its Kerberos credentials for Hadoop.
            </description>
        </property>

        <property>
            <name>oozie.authentication.kerberos.name.rules</name>
            <value>DEFAULT</value>
            <description>
                The kerberos names rules is to resolve kerberos principal names, refer to Hadoop's
                KerberosName for more details.
            </description>
        </property> 
        <!--
            Refer to the oozie-default.xml file for the complete list of
            Oozie configuration properties and their default values.
        -->

        <!-- Proxyuser Configuration -->


        <property>
            <name>oozie.service.ProxyUserService.proxyuser.root.hosts</name>
            <value>*</value>
            <description>
                List of hosts the '#USER#' user is allowed to perform 'doAs'
                operations.

                The '#USER#' must be replaced with the username o the user who is
                allowed to perform 'doAs' operations.

                The value can be the '*' wildcard or a list of hostnames.

                For multiple users copy this property and replace the user name
                in the property name.
            </description>
        </property>

        <property>
            <name>oozie.service.ProxyUserService.proxyuser.root.groups</name>
            <value>*</value>
            <description>
                List of groups the '#USER#' user is allowed to impersonate users
                from to perform 'doAs' operations.

                The '#USER#' must be replaced with the username o the user who is
                allowed to perform 'doAs' operations.

                The value can be the '*' wildcard or a list of groups.

                For multiple users copy this property and replace the user name
                in the property name.
            </description>
        </property>
    <property>
            <name>oozie.service.ProxyUserService.proxyuser.hduser.hosts</name>
            <value>*</value>
            <description>
                List of hosts the '#USER#' user is allowed to perform 'doAs'
                operations.

                The '#USER#' must be replaced with the username o the user who is
                allowed to perform 'doAs' operations.

                The value can be the '*' wildcard or a list of hostnames.

                For multiple users copy this property and replace the user name
                in the property name.
            </description>
        </property>

        <property>
            <name>oozie.service.ProxyUserService.proxyuser.hduser.groups</name>
            <value>*</value>
            <description>
                List of groups the '#USER#' user is allowed to impersonate users
                from to perform 'doAs' operations.

                The '#USER#' must be replaced with the username o the user who is
                allowed to perform 'doAs' operations.

                The value can be the '*' wildcard or a list of groups.

                For multiple users copy this property and replace the user name
                in the property name.
            </description>
        </property>
   </configuration>

job.properties

 nameNode=hdfs://localhost:54310
    jobTracker=localhost:54311
    queueName=default
    examplesRoot=examplesoozie
    oozie.wf.application.path=${nameNode}/user/hduser/${examplesRoot}/map-reduce
    outputDir=map-reduce

0 个答案:

没有答案