Six of the victims died at the scene, while two of three people who were transported to a hospital in critical condition later died.
The suspected gunman was arrested by officers from the Seal Beach police department, Orange County fire authority spokesman Marc Stone told Reuters.
The shooting occurred at the Salon Meritage in a large shopping centre on Pacific Coast Highway. Seal Beach is located about 50km southeast of Los Angeles.
Details of the shooting, including a motive, were not immediately available, and the dead have not yet been identified as having been customers, employees or bystanders.
The three critically wounded victims were taken to the Long Beach Memorial Hospital, Stone said.
Local media reports said the gunman was apprehended after fleeing the scene in a vehicle.
Cindy Spinosa, who works at the Seal Beach Chiropractic Center across the street from the salon, said she and others were left shaken by the outburst of violence.
"It's such a quiet little community. We don't experience things like this."
Live overhead television footage showed a white pickup truck left parked by a roadside with three of its doors open about 1km from the shooting scene. A number of weapons were reportedly recovered from the vehicle by police.
The area around the salon was cordoned off, and several nearby streets were blocked.