In multi-source multi-relay wireless network, centralized relay selection schemes are difficult to realize because they usually require global information, which is hardly available due to the limited memory and latency in realistic systems. Meanwhile, in classical distributed relay selection schemes, each source selects its ??best?? relay merely based on the local channel information. However, such schemes may lead to the case that several sources simultaneously select the same ??best?? relay and therefore causes a bottleneck problem. In this paper, we propose an opportunistic distributed relay selection scheme. In this scheme, each source selects its ??best?? relay by jointing the channel information and local ??topology?? information which can greatly ease the bottleneck problem. We also propose a three-step distributed signal interaction protocol by which every source can acquire its local ??topology?? information. Finally, we show the advantages of our proposed scheme by comparing the simulation results with other methods.