just experiment for 2 weeks at a time. every baby is different. try putting him to bed earlier, later, then try to alter the naps. are you sure he may not be better off with one nap(then go to bed earlier)? my daughter stopped the 2nd nap around this age. now at 13 months, if we are at home, she takes just one. if we go out, she ends up falling asleep again, then those nights are the worst. she also takes her nap in the morning for 2+ hours, while most kids go down to just an afternoon nap. you have to keep experimenting.
as for the sleep training, i am highly against, but that aside, for your situation, sleep training wouldnt work. sleep training is to have a baby self soothe themselves to sleep. your baby isnt having a problem of getting himself back to sleep, he is saying he truly doesnt need that sleep. if you leave him their crying, and he does eventually fall back asleep, he is only falling asleep as he passes out from exhaustion, vs learning to sooth himself. his situation is not what sleep training was intended for. he isnt tired. you cant teach him to be tired when he isnt. the biggest thing you said was he wakes up happy. if a baby wakes up happy, he is done with his sleep, then if you leave him to cry, you are taking a happy baby and making him unhappy.
i know its difficult for you, but you need to address why he is waking up so early instead of coming up with a way to force him back to sleep. he is at an awkward age, sometimes sleep begets sleep so going to bed earlier might help, but he also might be needing less sleep and needs less napping(thats my opinion). just keep changing one thing at a time for 2 weeks straight and see what happens. it also may just be a temporary phase and next month be back to normal. good luck!!!!