Heterogeneity-Aware Resource Allocation and Topology Design for Hierarchical Federated Edge Learning