Installing the Looker Application

On this Page
Docs Menu

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.

Server Specifications

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 is specifically required. We recommend installing the JDK instead of the JRE for the extra troubleshooting tools. We also recommend transitioning to new Java Hotspot updates as they are released.
  • 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 timezone 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

  1. Create group looker

    sudo groupadd looker
    
  2. Create user looker and its home directory

    sudo useradd -m  -g looker  looker
    
  3. Switch to the looker user; do not run Looker as root

    sudo su - looker
    
  4. Create looker subdirectory in the home directory

    mkdir ~/looker
    
  5. Change to the looker subdirectory

    cd ~/looker
    
  6. Make sure you are in the correct directory

    pwd
    

    If your user directories are under /home, the output of this command should be /home/looker/looker

  7. Contact your Looker analyst for access to latest Looker jar file, then download it. Download the latest startup script at this Github repo.

  8. 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 ~/looker directory.

  9. Rename looker-x.x.x.jar to looker.jar

  10. 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.

  11. Make the looker startup script executable (i.e. set the permissions to 0750)

    chmod 0750 looker
    
  12. Start the Looker process from shell as the looker user

    ./looker start
    
  13. For startup flag help, use:

    java -jar looker.jar --help
    

    Or, for startup command help, use:

    java -jar looker.jar help
    
  14. 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.

  15. Enter the license key obtained from your Looker representative

  16. 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:

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.

Hypervisor Tuning

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.

Next Step

After you have installed Looker you’re ready to configure Looker startup options.

Still have questions?
Go to Discourse - or - Email Support
Top