mongodb master slave replication
One reason could be that your oplog is too small.

On the master:

db.getReplicationInfo()


If timeDiffHours is shorter than the time that your initial sync takes, then the initial sync will fail and start again...

Resizing the oplog is quite easy, if this is indeed your problem. The documentation is here:
http://docs.mongodb.org/manual/tutorial/change-oplog-size/