Lens server deployment

This document describes the deployment of lens server in a distributed cluster. Make sure you have finished Install and Run documentation, before proceeding.

Lens server requires Hive metastore for providing OLAP cube metastore. Its also requires a DB for storing system tables, which can be shared with Hive metastore server's underlying DB as well. Hive server is required if Hive is one of the execution engines.

Typical deployment suggested is depicted in the following diagram (the boxes and lines in blue show server level components, the ones in green show execution components)

Lens Server deployment

Its recommended HiveMetastore server, HiveServer2 and Lens Server running on different machines.

Dependencies and their versions

  • Requires java 1.6+, Does not work with java 1.8 yet.
  • Requires Hadoop 2.x+. Tested upto hadoop 2.4.
  • Requires Hive metastore 0.13+
  • Requires Hive server2 0.13+

Restart and recovery

Lens server should not have problems with Hive Metastore server, Hive Server2 or Hadoop restarts. Lens server can persist its state before going and recover from previous state upon restart.

  • Recoverability
  • To enable lens server with recoverability, i.e. to allow users access queries before restart, lens server should be started with lens.server.restart.enabled set to true. Admin can set this to false if no recoverability is required.
  • Restarting
  • To start the lens server a fresh lens.server.recover.onrestart should be disabled. If it is true, the server will load its persisted state before restart.

Server modes

Lens server can be started in various modes. The server mode can be specified via configuration when it is starting up. Available modes are

  • READ_ONLY : Allows all requests on sesssion resource and Only GET requests on all other resources
  • METASTORE_READONLY : Allows Only GET requests on metastore service and all other requests on other services
  • METASTORE_NODROP: DELETE requests on metastore are not accepted, all other requests are accepted
  • OPEN: This is the default mode. All requests are accepted