There’s another thing to check when getting errors like this for classes which are writables, mappers, reducers, etc.
If the class is an inner class, make sure it’s declared static (i.e. doesn’t need an instance of the enclosing class). Otherwise, Hadoop cannot instantiate your inner class and will give this same error – that a zero-arg constructor is needed.