This page describes how to install the Looker application for a customer-hosted deployment.
Hosting the Looker application is independent of where your data resides; data always remains in-database, and is not copied to the Looker instance.
Install the Looker application on a dedicated machine that meets the following minimum requirements:
- 1.2GHz CPU; Looker recommends two or more cores.
- 8 GB free RAM.
- 10 GB free disk space.
- Linux. We use Ubuntu Linux (LTS releases) for our internal Looker hosting, and recommend it for customers who do not have a Linux preference. However, we support Looker on release versions of all major enterprise Linux distributions, including RedHat, CentOS and Amazon Linux.
- Java HotSpot 1.8 update 161+ or OpenJDK 8 181+. Please note that Java 1.8 is specifically required. We recommend installing either the Oracle JDK (version 8) or OpenJDK (version 8) instead of the JRE for the extra troubleshooting tools. We also recommend transitioning to new Java Hotspot 1.8 updates as they are released. Java 1.9, Oracle JDK version 9, and other versions of OpenJDK are not supported at this time.
libcrypt.somust be present on the system.
- Network access from users to TCP port
- If API access is required, network access from users to TCP port
If connecting to AWS Redshift from an AWS VPC private network, an MTU setting of 1500. For more information about this setting, see this AWS article. If Looker detects that the MTU is greater than 1500 during a database connection test, it displays the following error:
MTU of network interface eth0 is too large (> 1500). If Looker instance and Redshift cluster are within the same VPC, this warning can be ignored.
The following TCP keepalive settings. To persist through a reboot these should be set in
/etc/sysctl.confor a file in the
net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
A user named
lookerin the group named
lookerto run the Looker application.
A ulimit for the
4096or higher. You can do this by adding the following lines to
looker soft nofile 4096 looker hard nofile 4096
Time synchronization via NTP or equivalent
/tmpfolder must NOT be mounted with the noexec option.
lookerhome directory should NOT be mounted on an NFS volume.
- Setting the server’s time zone to UTC is recommended but not required.
- Git 1.8 or later is required. Though not required, the most recent stable version of Git can be helpful for troubleshooting Git issues.
Though not required, Netcat can be helpful for troubleshooting network connectivity issues. To install Netcat, for example, on a Ubuntu-based server, a common command is:
sudo apt-get install netcat
In order to avoid maintenance and resource conflicts, you should not use the Looker server to host other applications.
Enable ntpd or chronyd
NTP stands for Network Time Protocol. It enables your host’s system clock to always maintain the correct time, which is important for Looker to function correctly. Looker does not require any particular time synchronization software be used as long as times remain in sync. It is NOT necessary to run an NTP server; only the NTP client is needed. You may substitute chronyd for NTP.
Consult your OS vendor’s documentation for information on enabling ntpd or chronyd.
Install the Looker Application
sudo groupadd looker
lookerand its home directory.
sudo useradd -m -g looker looker
Switch to the
lookeruser; do not run Looker as root.
sudo su - looker
lookersubdirectory in the home directory.
Change to the
Make sure you are in the correct directory.
If your user directories are under
/home, the output of this command should be
Download the desired Looker JAR file through one of the methods on this documentation page.
Download the latest startup script at this GitHub repo.
Move the startup script (named
looker) and Looker JAR file (named
x.x.xis the version number) to the new
As of December 2015, the startup script has been altered to automatically determine how much java memory to allocate to Looker. If you would like to customize this value manually, see Recommended Java Memory Settings for more information.
Make the Looker startup script executable (set the permissions to
chmod 0750 looker
Start the Looker process from shell as the
For startup flag help, use:
java -jar looker.jar --help
Or, for startup command help, use:
java -jar looker.jar help
Open a browser to
hostnameis the DNS name of the host running Looker.
You should use
httpsin the URL, which will create a security warning that you will need to bypass. This warning will persist until a valid SSL certificate is installed on the server.
Enter the license key obtained from your Looker representative.
Enter a Name, Email, and Password to create your first account.
Create a DNS Record
looker.[yourdomain].com DNS record for the server. This step is optional, but recommended.
Create a Git Repository
Looker stores data modeling files in a Git repository for version control. In order for data modelers to deploy their work to Production, you must connect the Looker application to a repository. You can choose one of the following options:
- Email the Looker Support team to request a Looker-hosted repository.
- Create your own repository for Looker to store model files.
- Set up your own Git server.
Deploying Looker Automatically
Looker may be deployed using a configuration management tool such as Ansible or Chef. An example Ansible role for automated deployment is available on this documentation page.
Looker runs as a Java virtual machine. If your Looker instance is on a VMware guest, you may need to do some performance tuning. Please see the VMware Java best practices guide.
On other virtualization platforms, it may improve performance to reserve the Looker host’s memory from the hypervisor. This is not controllable on Amazon EC2, but for other vendors, please consult their documentation.
After you have installed Looker, you’re ready to configure Looker startup options.