En esta página, se describe cómo instalar la aplicación de Looker para una implementación alojada por el cliente.
Alojar la aplicación de Looker es independiente de dónde residen tus datos; los datos siempre permanecen en la base de datos y no se copian en la instancia de Looker.
Especificaciones de la Deployment
Si vas a ejecutar Looker en una red que no se conecta a Internet, es posible que debas configurar un servidor proxy para comunicarte con el servidor de licencias de Looker o usar servicios web sin servidores que solo realicen llamadas web, como BigQuery.
Instala la aplicación de Looker en una máquina dedicada que cumpla con los siguientes requisitos mínimos:
- CPU de 1.2 GHz; Looker recomienda dos o más núcleos.
- 8 GB de RAM libre.
- 10 GB de espacio libre en disco.
- Espacio de archivo de intercambio de 2 GB.
- Linux. Usamos Ubuntu Linux (versiones LTS) para nuestro hosting interno de Looker y lo recomendamos para los clientes que no tengan una preferencia de Linux. Sin embargo, admitimos a Looker en versiones de actualización de todas las principales distribuciones empresariales de Linux, incluidas Red Hat, CentOS y Amazon Linux. Looker solo es compatible con las versiones de Linux con conjuntos de instrucciones x64.
Java OpenJDK 11.0.12+, OpenJDK 8.0.181+ o HotSpot 1.8+ 161+. Looker usa OpenJDK (versión 11) para mejorar el rendimiento y el uso de memoria. Looker recomienda el JDK, en lugar del JRE, para aprovechar las herramientas adicionales de solución de problemas. Además, Looker recomienda que realices la transición a nuevas actualizaciones de Java a medida que se publiquen. En este momento, no se admiten otras versiones de Java, Oracle JDK y OpenJDK.
libssl
ylibcrypt.so
deben estar presentes en el sistema.Debes permitir el tráfico entrante a tu instancia de Looker a través del puerto TCP
9999
.Si los usuarios requieren acceso a la API, debes permitir el tráfico entrante a tu instancia de Looker a través del puerto TCP
19999
.Si Looker se conecta a AWS Redshift desde una red privada de VCP de AWS, debe configurar la MTU en 1,500. Para obtener más información sobre esta configuración, consulta la sección Configura la MTU de una instancia de este artículo de Amazon Web Services. Si Looker detecta que la configuración de MTU es mayor que 1,500 durante una prueba de conexión de base de datos, muestra el siguiente 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.
La siguiente configuración de keepalive de TCP. Para que el archivo persista mediante un reinicio, debes establecerlo en
/etc/sysctl.conf
o en un archivo del directorio/etc/sysctl.d
:net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
Un usuario llamado
looker
en el grupo llamadolooker
para ejecutar la aplicación de Looker.Un ulimit para el usuario
looker
de4096
o superior. Para ello, agrega las siguientes líneas a/etc/security/limits.conf
:looker soft nofile 4096 looker hard nofile 4096
Sincronización de tiempo mediante NTP o equivalente.
La carpeta
/tmp
no se debe activar con la opción noexec.El directorio principal
looker
no debe activarse en un volumen NFS.Se recomienda configurar la zona horaria del servidor en UTC, pero no es obligatorio.
Se requiere Git 2.39.1 o una versión posterior para Looker 23.6 y versiones posteriores.
Aunque no es obligatorio, Netcat puede ser útil para solucionar problemas de conectividad de red. Para instalar Netcat, por ejemplo, en un servidor basado en Ubuntu, el siguiente comando común es el siguiente:
sudo apt-get install netcat
Si es necesario, puedes configurar un servidor proxy para controlar las solicitudes HTTP(S) que Looker necesita poder realizar en "core" en localhost. Para comunicarte con el servidor proxy local de Looker, debes agregar algunos argumentos especiales en
lookerstart.cfg
: agregahttp.nonProxyHosts=localhost
a fin de habilitar el acceso al localhost de Looker sin pasar por el proxy. La Conexión de Looker de conexión a BigQuery a través de un proxy web incluye un ejemplo de cómo crear esta conexión.
A fin de evitar conflictos de mantenimiento y recursos, no debes usar el servidor de Looker para alojar otras aplicaciones.
Habilitar ntpd o chronyd
NTP es un acrónimo en inglés que significa protocolo de tiempo de red, Permite que el reloj del sistema del host siempre mantenga la hora correcta, y Looker debe funcionar correctamente. Looker no requiere que se use ningún software de sincronización de tiempo particular, siempre y cuando los tiempos permanezcan sincronizados. No es necesario ejecutar un servidor NTP; solo se necesita el cliente NTP. Puedes reemplazar Cronyd por NTP.
Consulta la documentación de tu proveedor de SO para obtener información sobre cómo habilitar ntpd o chronyd.
Crea una clave de encriptación
Looker usa la encriptación AES-256 Galois/Counter Mode (GCM) para encriptar datos sensibles que se almacenan internamente, incluidos los siguientes:
- Copias de seguridad de la base de datos interna de Looker
- Información de la base de datos y la conexión de servicio
- Información de autenticación del usuario
- Valores del atributo del usuario
- Datos del cliente que se almacenan en caché o se preparan para la entrega
Para obtener una lista detallada de los datos que encripta Looker, abre una solicitud de asistencia.
Los datos se encriptan con una clave de datos única y contienen un sobre de encriptación firmado y con control de versiones para garantizar la verificación. Este modo requiere el uso de una clave maestra externa (CMK) del cliente. La CMK se utiliza para derivar, encriptar y desencriptar la clave de encriptación de claves (KEK), que, a su vez, se utiliza para derivar, encriptar y desencriptar claves de datos.
La encriptación se usa solo para la caché y la base de datos interna de Looker. La encriptación de Looker no afecta de ninguna manera las bases de datos del cliente. Además, solo se encriptan los datos estáticos (datos almacenados en el disco) de esta manera.
Las instalaciones alojadas por el cliente pueden usar sus propias cuentas de AWS KMS o sus propios sistemas de administración de claves personalizados. Todas las claves de datos y la KEK se encriptan y se usan de forma interna en la instalación de Looker alojada por el cliente. Si no usas AWS KMS, la CMK externa se debe mantener en una ubicación segura y permanente. Perder la CMK después de encriptar la base de datos interna puede provocar la pérdida de la instancia.
Si usas AWS KMS
Si usas AWS KMS, crea una CMK con la consola de administración de AWS o la API.
Después de crear la CMK, Looker recomienda que cree una nueva función de IAM que sea única para su CMK y la adjunte con su instancia de Looker.
A continuación, se muestra un ejemplo de un rol de IAM que contiene los permisos mínimos requeridos para su CMK:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "kms:GenerateRandom",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:Generate*",
],
"Resource": "arn:aws:kms:*:*:key/*"
}
]
}
Después de crear tu CMK y la nueva función de IAM, configura la variable de entorno AWS_REGION
en tu región de AWS y la variable de entorno LKR_AWS_CMK
en el alias de tu CMK:
export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>
De manera opcional, también puedes configurar la variable de entorno LKR_AWS_CMK_EC
para establecer un contexto de encriptación de AWS personalizado. Si no configuras esta variable de entorno, Looker usará el contexto de encriptación predeterminado, la string Looker_Encryption_Context
.
export LKR_AWS_CMK_EC=<My_Encryption_Context>
Si no usas AWS KMS
Si no usas AWS KMS, genera un CMK base64 de 32 bytes. Puedes almacenar la CMK en una variable de entorno o en un archivo:
Para generar la CMK y almacenarla en una variable de entorno, puede usar el siguiente comando a fin de generar la CMK:
openssl rand -base64 32
Después de generar la CMK, cópiala y usa el siguiente comando para almacenarla en la variable de entorno
LKR_MASTER_KEY_ENV
(donde<CMK_value>
es el CMK que generaste con el comando anterior):export LKR_MASTER_KEY_ENV=<CMK_value>
Para generar y almacenar la CMK en un archivo, puedes usar el siguiente comando (donde
<path_to_key_file>
es la ruta de acceso y el nombre de archivo para almacenar la CMK):openssl rand -base64 32 > <path_to_key_file>
Después de generar el archivo CMK, configura los permisos del archivo de clave como de solo lectura del usuario actual:
chmod 0400 <path_to_key_file>
Después de generar una CMK, asegúrate de guardarla en una ubicación segura y permanente antes de continuar. Perder la CMK después de encriptar la base de datos interna puede provocar la pérdida de la instancia.
Una vez que generes y almacenes tu CMK, configura la variable de entorno LKR_MASTER_KEY_ENV
:
Si almacenas tu CMK en una variable de entorno, establece la variable de entorno
LKR_MASTER_KEY_ENV
en el valor de la CMK:export LKR_MASTER_KEY_ENV=<CMK_value>
Si almacenas tu CMK en un archivo, establece la variable de entorno
LKR_MASTER_KEY_FILE
en la ruta del archivo CMK:export LKR_MASTER_KEY_FILE=<path_to_key_file>
Después de generar una CMK, asegúrate de guardarla en una ubicación segura y permanente antes de continuar. Perder la CMK después de encriptar la base de datos interna puede provocar la pérdida de la instancia.
Instala la aplicación de Looker
Crea el grupo
looker
.sudo groupadd looker
Crea el usuario
looker
y su directorio principal.sudo useradd -m -g looker looker
Cambia al usuario
looker
; no ejecutes Looker como raíz.sudo su - looker
Crea el subdirectorio
looker
en el directorio principal.mkdir ~/looker
Cambia al subdirectorio
looker
.cd ~/looker
Asegúrate de estar en el directorio correcto.
pwd
Si los directorios de usuarios se encuentran en
/home
, el resultado de este comando debe ser/home/looker/looker
.Descarga los archivos JAR de Looker deseados en uno de los métodos de la página de documentación Descarga de archivos JAR de Looker. Asegúrate de que ambos archivos JAR sean de la misma versión; el uso de diferentes versiones de los archivos JAR de núcleo y de dependencia puede generar inestabilidad en la instalación de Looker.
Descarga la última secuencia de comandos de inicio en el repositorio de GitHub de código abierto de Looker. Si quieres que Looker se ejecute al inicio del sistema, puedes descargar la secuencia de comandos looker_init y usar las opciones de secuencia de comandos
systemd
yinit
.Mueve la secuencia de comandos de inicio (llamada
looker
) y los archivos JAR de Looker (llamadoslooker-x.x.x.jar
ylooker-dependencies-x.x.x.jar
, en los quex.x.x
es el número de versión) al nuevo directorio~/looker
.Cambia el nombre de
looker-x.x.x.jar
alooker.jar
y el delooker-dependencies-x.x.x.jar
alooker-dependencies.jar
.La secuencia de comandos de inicio determina automáticamente la cantidad de memoria Java que se asignará a Looker. Si quieres personalizar este valor de forma manual, consulta la página de documentación de configuración recomendada de memoria de Java para obtener más información.
Haz que la secuencia de comandos de inicio de Looker sea ejecutable (configura los permisos como
0750
).chmod 0750 looker
Inicia el proceso de Looker desde la shell como el usuario
looker
../looker start
Para obtener ayuda con la marca de inicio, usa lo siguiente:
java -jar looker.jar --help
O, para la ayuda del comando de inicio, usa:
java -jar looker.jar help
Abre un navegador en
https://hostname:9999
, en el quehostname
es el nombre de DNS del host que ejecuta Looker.Debes usar
https
en la URL, lo que creará una advertencia de seguridad que deberás omitir. Esta advertencia se mantendrá hasta que se instale un certificado SSL válido en el servidor.Ingresa la clave de licencia que te proporcionó tu analista de Looker.
Ingresa un nombre, un correo electrónico y una contraseña para crear tu primera cuenta.
Crea un registro DNS
Agrega un registro DNS looker.[yourdomain].com
para el servidor. Si bien este paso es opcional, se recomienda usarlo.
Implementa Looker automáticamente
Se puede implementar Looker con una herramienta de administración de configuración, como Ansible o Chef. En la página de documentación de Herramientas de administración de configuración, se encuentra disponible un ejemplo de un rol de Ansible para la implementación automatizada.
Ajuste del hipervisor
Looker se ejecuta como una máquina virtual de Java. Si tu instancia de Looker está en modo de invitado de VMware, es posible que debas ajustar el rendimiento. Consulta la guía de prácticas recomendadas de Java de VMware.
En otras plataformas de virtualización, se puede mejorar el rendimiento para reservar la memoria del host de Looker del hipervisor. Esto no se puede controlar en Amazon EC2; sin embargo, en el caso de otros proveedores, debes consultar la documentación correspondiente para obtener más información.
Configura una base de datos de backend opcional de MySQL
De forma predeterminada, Looker usa una base de datos en memoria HyperSQL para almacenar la configuración, los usuarios y otros datos. Sin embargo, puedes usar una base de datos externa de MySQL para almacenar la información interna de Looker. Consulta la página de documentación sobre cómo migrar a MySQL para obtener información sobre la configuración y el ajuste de una base de datos de backend de MySQL.
Próximos pasos
Después de instalar Looker, estarás listo para configurar las opciones de inicio de Looker.