1) Jo will have been waiting for an hour by the time i meet him
2) Jo will have waited for an hour by the time i meet him
In “will have been waiting”, waiting uses the progressive tense, meaning it is a continuing activity. In “will have waited”, waited uses the perfect tense, meaning the activity stopped.
In both cases Jo was waiting up until you met him, but the second sentence implies that Jo stopped waiting when you met him, while the first implies that Jo could continue to wait (perhaps for something else, like maybe the bus that’s over an hour late) when you meet him.
So I’d say if Jo were waiting for you, the second sentence is more correct.