blob: b4f4d0afa03e4b22edc0f83587fd8ad09effc99c [file] [log] [blame]
~~
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~
Lens server deployment
This document describes the deployment of lens server in a distributed cluster.
Make sure you have finished {{{../lenshome/install-and-run.html} 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)
[/images/deployment.png] Lens Server deployment
Its recommended HiveMetastore server, HiveServer2 and Lens Server running on different machines.
* Dependencies and their versions
* Requires java 1.7+.
* 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
* Serving logs over REST
Lens server comes with LogResource which can serve logs under LENS_LOG_DIR over REST. To enable serving logs,
administrator can enable log resource by adding log to configuration property "lens.server.ws.resourcenames".
Config changes look the following :
===
<property>
<name>lens.server.ws.resourcenames</name>
<value>session,metastore,query,index,log</value>
<description>These JAX-RS resources would be started in the specified order when lens-server starts up</description>
</property>
<property>
<name>lens.server.log.ws.resource.impl</name>
<value>org.apache.lens.server.LogResource</value>
<description>Implementation class for Log Resource</description>
</property>
===
If resourcenames does not contain "log", it is not enabled.