Cavendish (Dimension Data) outsprinted stage 1 winner Giacomo Nizzolo (Trek-Segafredo) and Elia Viviani (Sky), who had beaten him in the Omnium track race at the Rio Olympics.
Cavendish's victory came after the peloton caught escapees Michal Paloto (CCC Sprandi Polkowice), Frederik Frison (Lotto-Soudal), Kristian House (One Pro Cycling), Sergey Firsanov (Gazprom-Rusvelo) and Yauheni Sobal (Minsk Cycling Club).
I got a perfect lead-out," Cavendish said. "I’m super happy today to add the green jersey to these two stage wins.
"Racing on a circuit is always difficult. Mentally it’s different when you do the same thing 26 times. I got the feeling of racing a Moto GP."
Kangert (Astana Pro Team) finished safely in the bunch to take the first stage race victory of his career.
"I have to say I was a little bit nervous before but better have some nerves than nothing at all," Kangert said. I was not stressing too much though because it was flat with no side wind to make it dangerous.
"I was excited to race but nervous to wear the jersey. I’m delighted to win the overall ranking. Entering the WorldTour, the level of the Abu Dhabi Tour will be even higher.
"It’s a race for sprinters but GC gets decided in one climb. I’m yet to study my race program for next but if I’m fit enough in February, I’d love to come back and defend my title."