The verb "to rain" can be transitive. "To rain X" basically means that "X is falling out of the sky", whatever X is.
For instance, "On Saturn's moon Titan, it rains methane."
"Raining cats and dogs" literally means that small animals are falling out of the sky. But, of course, this image of animals falling from the sky is a metaphor for very large, heavy drops of water (and possibly dark skies, since animals are opaque).
The phrase is not an idiom, as the other answers misinform you. An idiom occurs when some piece of bad grammar is given an accepted meaning ("catch as catch can"), or when some sentence or phrase is given a completely different meaning from what it appears to say at face value ("kick the bucket").