Peer-to-peer video streaming has been gaining popularity. However, it is still challenging to manage a P2P system efficiently to support high video playback rate. In this paper, we propose HCPS - Hierarchically Clustered P2P Streaming system that can support a streaming rate approaching the optimum upper bound with short delay, yet is simple enough to be implemented in practice. In HCPS, the peers are grouped into clusters and a hierarchy is formed among clusters to retrieve video data from the source server. By actively balancing the uploading capacities among clusters, and executing the perfect scheduling algorithm  within each cluster, the system resource can be fully utilized. The simulation experiments driven by the traces collected from a real P2P streaming system demonstrate the effectiveness of HCPS.