E.,
One of the biggest things that you can do when your child hits is to remove him from the situation and ignore him. This could mean putting him in a playpen or his room for just a minute (one minute for each year of age). This gives him the chance to realize that what he did is not going to get him what he wants. I am a teacher of this age group and I will be the first to tell you, IT IS NOT EASY! I also have a toddler at home (she is in my class for the next 6-7 months too). In working with children in my class, I have found that if they hit me or anyone else, it is usually because they have not learned the words to express themselves. We always tell them that it is okay to be mad, but that their hands are not for hurting. One thing to remember (and it is hard to), always be positive when speaking to him...most kids, when they hear negative words (no, don't...ect) will just continue to do it and ignore what they have been told.
An example of this...I had a friends baby over for a little while to play with my daughter. This child (17 months old) hits when she does not get her way. She was here and wanted a toy that belongs to my older children. I wouldn't let her have it because it had small parts that could hurt her. She hit me once, I warned her that if she did it again she was going to time out. When she did it again, I picked her up and made her sit with her back to me telling her that "our hands are not for hitting" and went back to what I was doing. With her it only took one time! It hurt her feelings that I did not let her continue to do what she wanted. I didn't expect her to sit for very long, but as soon as she realized that I wasn't going to tolerate her hitting me, she stopped crying (which was because I removed her from in front of me), and went back to playing.
I wish you luck with this! Have patience and remember be positive with him.