The invention discloses a task optimization scheduling method based on Hadoop, comprising analyzing resource demands of the operating tasks in all jobs of every node in a Hadoop cluster, predicating the resource demand conditions of unexecuted tasks; allocating tasks to job nodes according to the occupation conditions of resources; wherein resources comprise a cluster CPU, a memory and an input output bandwidth IO; allocating the tasks to the task trackers of the job nodes through job schedulers, updating the waiting task lists of the job nodes, optimizing a task executing sequence according to a rule that local tasks are prior, configuring local resources according to the sequence, carrying out the jobs; when the job queue of a node in the cluster is empty and no task is in the current job queue according to inquiry, taking three indexes: file data backup quantities, idle time prediction values of all nodes in the cluster and disk capacities as parameters, and executing other waiting tasks in the Hadoop cluster. According to the invention, the utilization efficiency of the cluster resources is optimized.