To allow recomputation, just copy your data, har / compress and plug a partitioned Hive external table. So you can create complex Hive workflow and why not push some data (statistics, machine learning) to HBase again !
Serving layer : HBase, JEE & JS web application
JEE is convenient because of HBase java API and JDBC if you need to cache some ref data. And you can use some javascrip chart library.