렌더링 소프트웨어의 고객 호스팅 설치

Looker에는 이미지 기반 형식(HTML 및 PNG 또는 PDF 파일)으로 데이터를 전송 또는 다운로드하고 용지 크기테이블 확장과 같은 기능을 사용하려면 Chromium이라는 렌더링 소프트웨어가 필요합니다. 이 페이지에서는 고객이 호스팅하는 Looker 인스턴스에 렌더링 소프트웨어를 설치하는 방법을 설명합니다.

Chromium이 Looker에서 호스팅하는 인스턴스에 이미 설치되어 있습니다.

Chromium 렌더링은 페이지에서 요청한 모든 리소스가 완료될 때까지 기다린 후 Looker에 렌더링된 콘텐츠를 생성하라는 메시지를 '완료됨' 신호로 전송합니다. 이러한 리소스 요청 수와 빈도로 인해 일부 네트워크에서 악의적으로 요청하여 삭제할 수 있으며 이로 인해 렌더링된 작업이 지연됩니다.

Chromium 프로젝트는 Google Chrome의 독점적이지 않은 부분을 공유하기 위해 Google이 시작한 오픈소스 프로젝트입니다.

Chromium 설치 요구사항 및 기본 요건

Looker는 Ubuntu, Debian, RedHat, CentOS, Amazon Linux를 비롯한 모든 주요 엔터프라이즈 Linux 배포판의 출시 버전을 지원합니다. 이 페이지에서는 Ubuntu, Debian, RedHat/CentOS/Amazon Linux에 Chromium을 설치하는 방법을 설명합니다.

Chromium이 Looker 인스턴스를 호스팅하는 머신의 실행 가능한 경로에 설치되어야 합니다. Looker 애플리케이션은 chromium 명령어를 사용하거나 CHROMIUM_PATH 환경 변수로 설정된 커스텀 경로를 통해 Chromium에 액세스해야 합니다.

Looker 인스턴스에서 Chromium을 실행하려면 Chromium 86 이상이 필요하지만, Looker에는 Chromium 97.x가 권장됩니다. Looker 인스턴스가 Debian에 설치되어 있는 경우 Chromium에는 Debian 9(stretch) 이상이 필요합니다.

클러스터링된 Looker 설치 시 Chromium을 설치하는 경우 각 노드의 Chromium 버전이 완전히 동일해야 합니다. 다른 빌드 번호와 같은 사소한 차이도 Looker의 렌더링 기능에 지장을 줄 수 있습니다.

데이터에 영어 외의 문자가 포함되어 있으면 Chromium을 설치하는 것 외에도 Google Noto 글꼴 패키지(크기가 몇 GB임)를 설치합니다. 이 글꼴 패키지를 설치하려면 명령줄에서 다음 명령어를 실행하세요.

mkdir -p /tmp/fonts
cd /tmp/fonts
curl -O https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
unzip Noto-unhinted.zip
mkdir -p /usr/share/fonts/opentype/noto
cp *.otf *.otc /usr/share/fonts/opentype/noto   # Ignore any *.otc not found errors
mkdir -p /usr/share/fonts/truetype/noto
cp *.ttf /usr/share/fonts/truetype/noto
chmod a+r -R /usr/share/fonts/*/noto
fc-cache -f -v

성공하면 다음을 수행합니다.

cd $HOME
rm -rf /tmp/fonts

Ubuntu에 Chromium 설치

Looker 애플리케이션은 chromium 명령어를 사용하거나 CHROMIUM_PATH 환경 변수로 설정된 커스텀 경로를 통해 Chromium에 액세스해야 합니다. Ubuntu 설치의 경우 Chromium 웹브라우저를 설치한 다음 Looker 애플리케이션이 설치를 찾을 수 있도록 별칭을 설정해야 합니다.

Looker는 승격된 권한이 필요한 단계를 수행할 때 sudo 명령어를 사용하도록 권장합니다. 루트 사용자로 로그인한 경우 Chromium을 설치하지 마세요. 루트 사용자로 로그인한 상태에서 Chromium을 설치하면 Looker가 PDF 또는 PNG 렌더링을 실행하지 못할 수 있습니다.

  1. Chromium을 시작하려면 시스템에 글꼴을 설치해야 합니다. 명령줄 인터페이스를 사용하여 글꼴을 설치할 수 있습니다. 예를 들어 다음 명령어는 Ubuntu 16.04 LTS에 기본 글꼴을 설치합니다.

    apt-get install fonts-freefont-otf
    
  2. Chromium을 설치하려면 다음을 실행하세요.

    apt-get update && apt-get install -y chromium-browser
    
  3. chromium-browser의 별칭을 chromium로 지정하거나 CHROMIUM_PATH 환경 변수를 내보내야 합니다. chromium-browserchromium로 별칭으로 지정하려면 ~/.bashrc 파일에 다음을 배치합니다.

    alias chromium='chromium-browser'
    

    이 별칭을 Looker에 알리려면 명령줄에서 다음 명령어를 실행합니다.

    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
    
  4. 선택적 환경 변수를 설정한 후 Looker 애플리케이션을 다시 시작하여 적용합니다. 열려 있는 터미널 세션을 다시 시작하거나 터미널에서 source ~/.bash_profile를 실행하여 새 구성을 읽어야 할 수도 있습니다.

Chromium을 설치한 후 CHROMIUM_PATH 환경 변수를 설정하지 않으면 chromium --version에서 또는 CHROMIUM_PATH 환경 변수를 설정한 경우에는 $CHROMIUM_PATH --version에서 유효한 응답을 받습니다.

Debian에 Chromium 설치

Looker는 승격된 권한이 필요한 단계를 수행할 때 sudo 명령어를 사용하도록 권장합니다. 루트 사용자로 로그인한 경우 Chromium을 설치하지 마세요. 루트 사용자로 로그인한 상태에서 Chromium을 설치하면 Looker가 PDF 또는 PNG 렌더링을 실행하지 못할 수 있습니다.

Chromium에는 Debian 9(stretch) 이상이 필요합니다.

Looker 인스턴스가 Debian 설치와 함께 Docker를 사용하는 경우 procps를 설치하고 루트로 실행되고 있지 않은지 확인합니다.

  1. Chromium을 시작하려면 시스템에 글꼴을 설치해야 합니다. 다음을 실행하여 명령줄 인터페이스를 사용하여 글꼴을 설치할 수 있습니다.

    apt-get install fonts-freefont-otf
    
  2. Chromium을 설치하려면 다음을 실행하세요.

    apt-get update && apt-get install -y chromium
    
  3. 선택적 환경 변수를 설정한 후 Looker 애플리케이션을 다시 시작하여 적용합니다. 열려 있는 터미널 세션을 다시 시작하거나 터미널에서 source ~/.bash_profile를 실행하여 새 구성을 읽어야 할 수도 있습니다.

Chromium을 설치한 후 CHROMIUM_PATH 환경 변수를 설정하지 않으면 chromium --version에서 또는 CHROMIUM_PATH 환경 변수를 설정한 경우에는 $CHROMIUM_PATH --version에서 유효한 응답을 받습니다.

Chromium 환경 변수(선택사항)

  • CHROMIUM_PATH: Chromium 바이너리의 경로이며 기본값은 chromium입니다.

  • CHROMIUM_PID_DIR: 라이브러리가 Chromium PID 파일을 저장할 수 있는 경로이며 기본값은 Looker 애플리케이션의 작업 디렉터리에 있는 chromium_pid_files입니다.

  • CHROMIUM_PORT_RANGE_STARTCHROMIUM_PORT_RANGE_END: Chromium 애플리케이션에서 로컬 머신의 프로세스 간에 통신하려면 포트 범위가 필요합니다. 기본 범위는 40000~40500이지만, 두 환경 변수를 모두 설정하여 이 기본값을 재정의할 수 있습니다. 사용되지 않은 포트는 범위에서 무작위로 선택되며 단일 렌더링 기간에만 사용됩니다.

  • DISABLE_EXTERNAL_RENDER_ACCESS: 외부 또는 차단된 인터넷 액세스가 없는 고객이 호스팅하는 Looker 인스턴스 또는 서버의 관리자는 DISABLE_EXTERNAL_RENDER_ACCESS=true을 설정해야 합니다. 일반적으로 Chromium 렌더러는 페이지에서 요청한 모든 리소스가 완료되기를 기다린 후 렌더러가 '완료' 신호를 보내 Looker에게 콘텐츠를 생성하라는 메시지를 표시합니다. 이러한 요청 중 일부는 연결 부족으로 인해 중단되거나 시간 초과 또는 렌더링 시간이 매우 길어질 수 있습니다. 이 환경 변수를 true로 설정하면 렌더러가 모든 요청이 완료될 때까지 기다릴 수 없습니다. Looker Marketplace에서 설치된 일부 지도 시각화 및 커스텀 시각화에는 인터넷 액세스가 필요할 수 있습니다.