Lens server configuration


The configuration parameters and their default values
No. Property Name Default Value Description
1 hive.server2.async.exec.threads 5 Number of threads required in async thread pool for query execution in the lens directly. Lens uses query execution directly only to add and delete resources, which are mostly synchronous. So keeping to a lower value.
2 hive.server2.authentication NONE Client authentication types. NONE: no authentication check LDAP: LDAP/AD based authentication KERBEROS: Kerberos/GSSAPI authentication CUSTOM: Custom authentication provider (Use with property hive.server2.custom.authentication.class) PAM: Pluggable authentication module.
3 hive.server2.authentication.ldap.Domain The ldap domin
4 hive.server2.authentication.ldap.baseDN LDAP base DN
5 hive.server2.authentication.ldap.security.protocol ssl Its value is a string determined by the service provider (e.g. "ssl"). If this property is unspecified, the behaviour is determined by the service provider. It's value will be directly passed as "java.naming.security.protocol"
6 hive.server2.authentication.ldap.url LDAP connection URL
7 hive.server2.log.redirection.enabled false Disable the log direction on the lens server sessions. There are no logs required for each session in lens sessions. This will decrease number of file handles associated to lens server.
8 lens.server.appevent.ws.listener.impl org.apache.lens.server.LensApplicationListener Implementation class for Lens Application Listener
9 lens.server.authentication.ws.filter.impl org.apache.lens.server.AuthenticationFilter Implementation class for Authentication Filter
10 lens.server.base.url http://0.0.0.0:9999/lensapi/ The base url for the lens server
11 lens.server.consistentState.ws.filter.impl org.apache.lens.server.ConsistentStateFilter Implementation class for ConsistentState Filter
12 lens.server.database.resource.dir /tmp/lens/resources Top level directory to store database specific static resources which are added to each database. To add a static resource for a DB, create a directory with the same name as that of the DB under this directory, and place the resources inside the DB directory. Any subdirectories under the DB directory and the resources under them will be ignored
13 lens.server.db.driver.name org.hsqldb.jdbcDriver Database driver for database where Finished queries have to be stored. Also used for database based user config loaders
14 lens.server.db.jdbc.pass JDBC Password for Finished queries table. Also used for database based user config loaders
15 lens.server.db.jdbc.url jdbc:hsqldb:/tmp/lensserver/queries.db JDBC URL where the database for storing finished queries is located. Also used for database based user config loaders
16 lens.server.db.jdbc.user SA JDBC User for Finished queries table. Also used for database based user config loaders
17 lens.server.db.validation.query select 1 BasicDatasource has a config parameter called validationQuery. This query is run before passing the Datasource to the application to verify if connection is valid. 
dbcp configuration  
validationquery for different databases  
18 lens.server.domain company.com Server domain. This will be used in authentication and Sending emails to users. For the server, the username will be without domain and domain will come through conf.
19 lens.server.drivers org.apache.lens.driver.hive.HiveDriver Drivers enabled for this lens server instance
20 lens.server.enable.console.metrics false Enable metrics to be reported on console
21 lens.server.enable.csv.metrics false Enable metrics to be reported as csv files in a directory
22 lens.server.enable.ganglia.metrics false Enable metrics to be reported on ganglia
23 lens.server.enable.graphite.metrics false Enable metrics to be reported on graphite
24 lens.server.enable.resource.method.metering false Whether to Enable metering for all resource methods.
25 lens.server.event.service.thread.pool.size The size of thread pool for notifying events. The no value is specified, it uses the available processors as the number.
26 lens.server.index.ws.resource.impl org.apache.lens.server.IndexResource Implementation class for Index Resource
27 lens.server.mail.from.address blah@company.com The from field in the notifier mail to the submitter.
28 lens.server.mail.host mail-host.company.com SMTP Host for sending mail
29 lens.server.mail.port 25 SMTP Port
30 lens.server.mail.smtp.connectiontimeout 15000 Socket connection timeout value in milliseconds. This timeout is implemented by java.net.Socket. Default is 15 seconds.
31 lens.server.mail.smtp.timeout 30000 Socket read timeout value in milliseconds. This timeout is implemented by java.net.Socket. Default is 30 seconds.
32 lens.server.max.finished.queries 100 Maximum number of finished queries which lens server will keep in memory before purging.
33 lens.server.metastore.service.impl org.apache.lens.server.metastore.CubeMetastoreServiceImpl Implementation class for metastore service
34 lens.server.metastore.ws.resource.impl org.apache.lens.server.metastore.MetastoreResource Implementation class for Metastore Resource
35 lens.server.metrics.csv.directory.path metrics/ Path of the directory in which to report metrics as separate csv files.
36 lens.server.metrics.ganglia.host The ganglia host name
37 lens.server.metrics.ganglia.port The ganglia port
38 lens.server.metrics.graphite.host The graphite host name
39 lens.server.metrics.graphite.port The graphite port
40 lens.server.metrics.reporting.period 10 The reporting period for metrics. The value is in seconds
41 lens.server.mode OPEN The mode in which server should run. Allowed values are OPEN, READ_ONLY, METASTORE_READONLY, METASTORE_NODROP. OPEN mode will allow all requests. READ_ONLY mode will allow all requests on session resouce and only GET requests on all other resources. METASTORE_READONLY will allow GET on metastore and all other requests in other services. METASTORE_NODROP will not allow DELETE on metastore, will allow all other requests.
42 lens.server.multipart.ws.feature.impl org.glassfish.jersey.media.multipart.MultiPartFeature Implementation class for query scheduler resource
43 lens.server.persist.location file:///tmp/lensserver The directory in which lens server will persist its state when it is going down. The location be on any Hadoop compatible file system. Server will read from the location when it is restarted and recovery is enabled. So, Server should have both read and write permissions to the location
44 lens.server.query.service.impl org.apache.lens.server.query.QueryExecutionServiceImpl Implementation class for query execution service
45 lens.server.query.state.logger.enabled true Disable or enable the query state logger with this config. The location for the logger can be specified in log4j properties for the class org.apache.lens.server.query.QueryExecutionServiceImpl.QueryStatusLogger
46 lens.server.query.ws.resource.impl org.apache.lens.server.query.QueryServiceResource Implementation class for Query Resource
47 lens.server.quota.service.impl org.apache.lens.server.quota.QuotaServiceImpl Implementation class for quota service
48 lens.server.quota.ws.resource.impl org.apache.lens.server.quota.QuotaResource Implementation class for Quota Resource
49 lens.server.recover.onrestart true If the flag is enabled, all the services will be started from last saved state, if disabled all the services will start afresh
50 lens.server.restart.enabled true If flag is enabled, all the services will be persisted to persistent location passed.
51 lens.server.scheduler.service.impl org.apache.lens.server.scheduler.QuerySchedulerServiceImpl Implementation class for query scheduler service
52 lens.server.scheduler.ws.resource.impl org.apache.lens.server.scheduler.ScheduleResource Implementation class for query scheduler resource
53 lens.server.serverMode.ws.filter.impl org.apache.lens.server.ServerModeFilter Implementation class for ServerMode Filter
54 lens.server.service.provider.factory org.apache.lens.server.ServiceProviderFactoryImpl Service provider factory implementation class. This parameter is used to lookup the factory implementation class name that would provide an instance of ServiceProvider. Users should instantiate the class to obtain its instance. Example -- Class spfClass = conf.getClass("lens.server.service.provider.factory", null, ServiceProviderFactory.class); ServiceProviderFactory spf = spfClass.newInstance(); ServiceProvider serviceProvider = spf.getServiceProvider(); -- This is not supposed to be overridden by users.
55 lens.server.servicenames session,query,metastore,scheduler,quota These services would be started in the specified order when lens-server starts up
56 lens.server.session.service.impl org.apache.lens.server.session.HiveSessionService Implementation class for session service
57 lens.server.session.timeout.seconds 86400 Lens session timeout in seconds.If there is no activity on the session for this period then the session will be closed.Default timeout is one day.
58 lens.server.session.ws.resource.impl org.apache.lens.server.session.SessionResource Implementation class for Session Resource
59 lens.server.snapshot.interval 300000 Snapshot interval time in miliseconds for saving lens server state.
60 lens.server.state.persist.out.stream.buffer.size 1048576 Output Stream Buffer Size used in writing lens server state to file system. Size is in bytes.
61 lens.server.statistics.db lensstats Database to which statistics tables are created and partitions are added.
62 lens.server.statistics.log.rollover.interval 3600000 Default rate which log statistics store scans for rollups in milliseconds.
63 lens.server.statistics.store.class org.apache.lens.server.stats.store.log.LogStatisticsStore Default implementation of class used to persist Lens Statistics.
64 lens.server.statistics.warehouse.dir file:///tmp/lens/statistics/warehouse Default top level location where stats are moved by the log statistics store.
65 lens.server.ui.base.uri http://0.0.0.0:19999/ The base url for the Lens UI Server
66 lens.server.ui.enable.caching true Set this to false to disable static file caching in the UI server
67 lens.server.ui.static.dir webapp/lens-server/static The base directory to server UI static files from
68 lens.server.user.resolver.custom.class full.package.name.Classname Required for CUSTOM user resolver. In case the provided implementations are not sufficient for user config resolver, a custom classname can be provided. Class should extend org.apache.lens.server.user.UserConfigLoader
69 lens.server.user.resolver.db.keys lens.session.cluster.user,mapred.job.queue.name Required for DATABASE and LDAP_BACKED_DATABASE user resolvers. For database based user config loaders, the conf keys that will be loaded from database.
70 lens.server.user.resolver.db.query select clusteruser,queue from user_config_table where username=? Required for DATABASE and LDAP_BACKED_DATABASE user resolvers. For database based user config loader, this query will be run with single argument = logged in user and the result columns will be assigned to lens.server.user.resolver.db.keys in order. For ldap backed database resolver, the argument to this query will be the intermediate values obtained from ldap.
71 lens.server.user.resolver.fixed.value Required for FIXED user resolver. when lens.server.user.resolver.type=FIXED, This will be the value cluster user will resolve to.
72 lens.server.user.resolver.ldap.bind.dn Required for LDAP_BACKED_DATABASE user resolvers. ldap dn for admin binding example: CN=company-it-admin,ou=service-account,ou=company-service-account,dc=dc1,dc=com...
73 lens.server.user.resolver.ldap.bind.password Required for LDAP_BACKED_DATABASE user resolvers. ldap password for admin binding above
74 lens.server.user.resolver.ldap.fields department Required for LDAP_BACKED_DATABASE user resolvers. list of fields to be obtained from ldap. These will be cached by the intermediate db.
75 lens.server.user.resolver.ldap.intermediate.db.delete.sql delete from user_department where username=? Required for LDAP_BACKED_DATABASE user resolvers. query to delete intermediate values from database backing ldap as cache. one argument: logged in user.
76 lens.server.user.resolver.ldap.intermediate.db.insert.sql insert into user_department (username, department, expiry) values (?, ?, ?) Required for LDAP_BACKED_DATABASE user resolvers. query to insert intermediate values from database backing ldap as cache. arguments: first logged in user, then all intermediate values, then current time + expiration time
77 lens.server.user.resolver.ldap.intermediate.db.query select department from user_department where username=? and expiry>? Required for LDAP_BACKED_DATABASE user resolvers. query to obtain intermediate values from database backing ldap as cache. two arguments: logged in user and current time.
78 lens.server.user.resolver.ldap.search.base Required for LDAP_BACKED_DATABASE user resolvers. for searching intermediate values for a user, the search keys. example: cn=users,dc=dc1,dc=dc2...
79 lens.server.user.resolver.ldap.search.filter (&(objectClass=user)(sAMAccountName=%s)) Required for LDAP_BACKED_DATABASE user resolvers. filter pattern for ldap search
80 lens.server.user.resolver.ldap.url Required for LDAP_BACKED_DATABASE user resolvers. ldap url to connect to.
81 lens.server.user.resolver.propertybased.filename /path/to/propertyfile Required for PROPERTYBASED user resolver. when lens.server.user.resolver.type is PROPERTYBASED, then this file will be read and parsed to determine cluster user. Each line should contain username followed by DOT followed by property full name followed by equal-to sign and followed by value. example schema of the file is: user1.lens.server.cluster.user=clusteruser1 user1.mapred.job.queue.name=queue1 *.lens.server.cluster.user=defaultclusteruser *.mapred.job.queue.name=default
82 lens.server.user.resolver.type FIXED Type of user config resolver. allowed values are FIXED, PROPERTYBASED, DATABASE, LDAP_BACKED_DATABASE, CUSTOM.
83 lens.server.ws.featurenames multipart These JAX-RS Feature(s) would be started in the specified order when lens-server starts up
84 lens.server.ws.filternames authentication,consistentState,serverMode These JAX-RS filters would be started in the specified order when lens-server starts up
85 lens.server.ws.listenernames appevent These listeners would be called in the specified order when lens-server starts up
86 lens.server.ws.resourcenames session,metastore,query,quota,scheduler,index These JAX-RS resources would be started in the specified order when lens-server starts up