I am travelling to Germany and I will stay in Dusseldorf for 5 days then I will go to Eindhoven, Netherlands for 2 days then I will travel back to Frankfort to stay 2 days. Am I allowed to do so if I will be given a single-entry Schengen visa?
As long as you remain in the Schengen Area the whole time, yes, a single-entry visa will allow you to go to Düsseldorf then Eindhoven then Frankfurt.
However, this means any travel you have between these places must remain within the Schengen Area (i.e. direct flights, trains, buses or car from one to the other, or via other cities inside Schengen).
If on the other hand you travel via London between any of these, then you will be exiting the Schengen Area, and a single-entry visa will not work.
London-Düsseldorf-Eindhoven-Frankfurt-London = OK
London-Düsseldorf-London-Eindhoven-London-Frankfurt-London = not OK
Travelling via London would be an issue even if you are just in transit and don't go through passport control in London.
The same would apply for any other transit points outside of Schengen (anywhere in the UK or Ireland in this scenario, I would suppose).
Yes, it is absolutely fine if you have a Schengen Visa.
Single entry refers to the fact that you can enter and leave the Schengen region only once. There are 650 different ways to arrive/visit/depart two countries in the Schengen zone. You can travel all Schengen country till you are here inside Schengen even it is a single entry visa.
Single entry means you are allowed to cross an external border between a non-Schengen country and a Schengen country once
A single-entry visa allows its holder to enter the Schengen Area only once, within the given period of time, as mentioned in the visa sticker affixed to their passport. Once the visa holder exits the Schengen territory, he or she can no longer go back, even if they have not spent there the number of days as permitted by the embassy that issued them the visa.