Hurricane Odile has made landfall in Mexico, hitting the holiday resort of Los Cabos in the west.

Thousands of people on the southern Baja California peninsula spent the night in emergency shelters and hotel conference rooms after the storm was upgraded to a Category 4 hurricane over the weekend.

Hurricane Odile
Odile was downgraded from a Category 4 hurricane after it hit the holiday resort AFP

At least 22 flights have been cancelled and weather forecasters have warned of a dangerous storm surge to come.

Large waves and heavy rain with the potential to cause landslides and flash floods are expected.

Hurricane Odile
Thousands of people were put up in shelters after the storm hit AFP

When it hit the Mexico coast, Odile had gusts of up to 186km/h. The hurricane was moving north-northwest.

Writing ahead of the storm making landfall, Jeff Masters, meteorologist and founder of Weather Underground, wrote: "Odile is likely to be the strongest or second strongest hurricane on record to affect Southern Baja.

Hurricane Odile
Authorities have raised concerns about flooding, landslides and storm surges following the hurricane AFP

"Odile put on an impressive burst of rapid intensification Saturday night, going from a Category 1 hurricane with 75 mph winds to a Category 4 storm with 135 mph winds in just 24 hours. Satellite loops show that Odile has a large eye and impressive area of very intense eyewall thunderstorms."

Weather.com meteorologist Nick Wiltgen added: "With maximum sustained winds of 125mph, Odile is the strongest hurricane to make landfall anywhere in Baja California since modern records began in the mid-20th century.

"This storm is putting the tourist infrastructure of Cabo San Lucas and the Los Cabos region through the harshest conditions it's ever experienced."

Hurricane Odile
Hurricane Odile from space Reuters

Mexican officials said at least 26,000 foreign tourists are in the area, along with 4,000 Mexicans, Reuters reports.

Odile weakened to a Category 3 hurricane after hitting the peninsula. Mexico's civil protection agency said there were shelters for up to 30,000 people across the area.