Have you tried clearing the log entries? We had a similar issue (albeit on Windows with Elastisearch) where we had to clear the log directory before it would reinstall/restart.
–
DriftpeasantNov 21 '12 at 15:51

Could you run an strace -fF -p <pid_of_elasticsearch>? this may alude to a wait( syscall, if this is wait(11 for example, a lsof -p <pid_of_elasticsearch> should be able to tell you what the process is waiting on.
–
OneiroiNov 26 '12 at 10:29