This page describes how to install the Looker application for an on-premise deployment. Note that 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; two or more cores is recommended
- 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.
- Oracle Java HotSpot 1.8 update 121+. Please note that Oracle Java 1.8 is specifically required. We recommend installing the JDK (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 and JDK version 9 are not supported at this time.
- libssl and a libcrypt.so must be present on the system
- Network access from end-users to TCP port 9999
- If API access is required, network access from end-users to TCP port 19999
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.conf or a file in the /etc/sysctl.d directory:
net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
A user named looker in the group named looker to run the Looker application
A ulimit for the looker user of 4096 or higher. You can do this by adding the following lines to /etc/security/limits.conf:
looker soft nofile 4096 looker hard nofile 4096
Time synchronization via NTP or equivalent
- The /tmp folder must NOT be mounted with the noexec option.
- Setting the server’s time zone to UTC is recommended but not required.
- Though not required, Git 1.7 or higher can be helpful for troubleshooting Git issues
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 synch. 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
Create group looker
sudo groupadd looker
Create user looker and its home directory
sudo useradd -m -g looker looker
Switch to the looker user; 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 /home/looker/looker
Contact your Looker analyst for access to latest Looker jar file, then download it. Download the latest startup script at this GitHub repo.
Move the startup script (named looker) and jar file (named looker-x.x.x.jar where x.x.x is the version number) to the new
Rename looker-x.x.x.jar to looker.jar
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 (i.e. set the permissions to
chmod 0750 looker
Start the Looker process from shell as the looker user
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 https://hostname:9999 where hostname is the DNS name of the host running Looker.
You should use https in 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
Add a 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 here.
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.