There is a rapidly growing demand for computing power driven by big data applications, which is typically met by constructing large-scale data centers provisioning virtualized resources. Such data centers consume an enormous amount of energy, resulting in high operational cost and carbon dioxide emission. Meanwhile, cloud providers need to ensure Quality of Service (QoS) in the computing solution delivered to their customers, and hence must consider the power-performance trade-off. We propose a virtual machine (VM) consolidation optimization framework, consisting of three optimization processes in big data centers: (i) VM allocation, (ii) overloaded physical machine (PM) detection and consolidation, and (iii) underloaded PM detection and consolidation. We show that the optimization problem is NP-complete, and design a resource management scheme that integrates three algorithms, one for each optimization process. We implement and evaluate the proposed resource management scheme in CloudSim and conduct simulations on a real workload trace of PlanetLab. Extensive simulation results show that the proposed solution yields up to 21.5% reduction in energy consumption, 34.2% reduction in performance degradation due to migration, 70.2% reduction in SLA violation time per active host, and 68% reduction in Energy and SLA Violations (ESV), respectively, in comparison with state-of-the-art solutions.