The shooting took place in the city of Seal Beach, California, in a retail area off the Pacific Coast Highway.
Six people were initially confirmed dead, while two others died later of their injuries and one remains in a critical condition, police said.
Police say they have a suspect in custody after arresting a man nearby. Multiple weapons were seized.
Police Sgt Steve Bowles said a man had been arrested as he was leaving the scene in a vehicle.
He could not confirm media reports that the gunman was wearing body armour, but appeared confident the man arrested was the suspect.
Seal Beach is a beach front city of approximately 25,000 residents, located about 30 miles (48km)south-east of Los Angeles.
It is home to a gated senior citizen community of 9,000 people, as well as the Seal Beach Naval Weapons Station military complex and a national wildlife refuge.
Add new comment