Filipino authorities have evacuated thousands of residents of Manila after more than half the capital was submerged by floodwaters.

At least eight people were killed across the northern Philippines in massive floods, which were triggered by seasonal monsoon rains exacerbated by Tropical Storm Trami.

Four people drowned north of Manila, and several are missing, local officials said.

The victims included two children: a five-year-old boy who died after his house was hit by a collapsing concrete wall, and a three-year-old who drowned as he fell into a swollen river in Mariveles, a town in the province of Bataan.

Offices, banks and schools remained closed in metropolitan Manila, an area home to some 12 million people.

Photos showed people stumbling through waist or neck-deep waters, and holding onto ropes strung from flooded houses. Most roads were turned into rivers.

"I had to wade through a waist-deep flood," said Esteban Gabin, a 45-year-old driver living in the Pampanga province, northwest of Manila. "But I may have to swim to reach my home because we live near the Pampanga River, and the flood there could reach up to neck deep."

More than 600,000 people have been affected by the floods. Authorities opened some 200 evacuation centres to offer temporarily housing to tens of thousands of people, Social welfare secretary Corazon Soliman said.

In Marikina, where the river breached its banks, authorities started evacuating some 12,000 people to schools and gymnasiums that were turned into emergency shelters.

Floodwaters have started receding in Manila and authorities are gradually shifting their focus to provinces outside the capital as the storm moves north.

Evacuations were underway around the La Mesa dam, north of Manila, which began overflowing.

The storm hovered over the North Philippine Sea over the weekend and drenched the main northern island of Luzon with up to 30mm (just over an inch) of rain per hour.

It was forecast to slowly move away from the Philippines towards Taiwan later on this week.