고객 호스팅 Looker 인스턴스 업데이트

새로운 Looker 출시 버전이 제공되면 알림을 받게 됩니다. 버그 수정 및 새로운 기능을 최신 상태로 유지하려면 Looker를 정기적으로 업데이트하는 것이 좋습니다.

Looker 인스턴스의 클러스터가 있는 경우 다른 인스턴스를 업데이트하기 전에 단일 노드를 완전히 업데이트해야 합니다.

이 업데이트 프로세스에서는 초기 Looker 설치 프로세스의 일부로 설치되어야 하는 시작 스크립트가 Looker 인스턴스에 포함되어 있다고 가정합니다.

  1. Looker JAR 파일 다운로드 문서 페이지에 설명된 대로 Looker JAR 파일의 최신 출시 버전을 다운로드합니다.
  2. Looker 사용자로서 셸에서 Looker 프로세스를 중지합니다.

    sudo su - looker
    cd /home/looker/looker
    ./looker stop
    

    Looker 클러스터를 업데이트하는 경우 모든 노드에서 Looker가 중지되도록 이 프로세스를 반복합니다.

  3. 숨겨진 디렉터리를 포함한 전체 Looker 디렉터리를 백업합니다(자세한 내용은 백업 복원 문서 페이지를 참조하세요).

  4. Looker의 기본 인메모리 데이터베이스를 외부 MySQL 데이터베이스로 마이그레이션했거나 Looker 클러스터를 업데이트하는 경우 MySQL 데이터베이스를 백업합니다.

  5. looker-x.x.x.jarlooker.jar로, looker-dependencies-x.x.x.jarlooker-dependencies.jar로 바꿉니다. looker.jarlooker-dependencies.jar를 서버 디렉터리(/home/looker/looker/looker.jar)에 복사합니다. 두 파일 모두 동일한 디렉터리에 있어야 합니다.

  6. 셸에서 Looker 사용자로서 Looker 프로세스를 시작합니다.

    Looker 클러스터를 업데이트하는 경우 한 노드에서만 Looker 프로세스를 시작합니다. 첫 번째 노드가 업데이트 프로세스를 완료할 때까지 다른 노드에서 Looker를 시작하지 마세요.

    ./looker start
    

    java -jar 명령어를 사용하여 Looker를 시작할 수도 있습니다. 핵심 JAR은 종속 항목 JAR을 ./looker 디렉터리에 있는 한 핵심 JAR과 함께 찾습니다.

    또한 Looker에서 제공하는 시작 스크립트를 사용하려면 https://github.com/looker/customer-scripts에서 시작 스크립트를 찾을 수 있습니다.

    Looker 버전을 업데이트할 때 Looker는 내부 데이터베이스도 업데이트해야 합니다. 데이터베이스 업데이트는 일반적으로 5분 이내에 완료되지만 Looker 시작 프로세스보다 오래 걸릴 수 있습니다. 내부 데이터베이스가 아직 업데이트되는 동안 Looker를 시작하려고 하면 'Looker 시작을 기다리는 동안 제한 시간이 초과되었습니다'라는 메시지와 함께 6분 후에 데몬화 프로세스가 타임아웃됩니다.

    업데이트하는 동안 필수 마이그레이션은 최대 1시간이 걸릴 수 있으며 여러 출시 버전을 건너뛰는 경우에는 특히 그렇습니다. 이 오류 메시지가 표시되면 업데이트가 완료되고 Looker가 시작될 때까지 기다립니다. 다음 명령어를 사용하여 업데이트 프로세스가 계속 실행 중인지 확인할 수 있습니다.

    ps -f $(pgrep -f -- '-jar looker.jar')
    

    내부 데이터베이스 업데이트가 진행되는 동안 Looker 프로세스를 중지하고 다시 시작하면 내부 데이터베이스가 손상될 수 있습니다. 이 경우 기존 백업에서 Looker를 복원하고 다시 업데이트를 수행합니다.

  7. Looker 클러스터를 업데이트하는 경우 다른 노드에서 Looker를 시작하기 전에 첫 번째 노드가 업데이트 프로세스를 완료할 때까지 기다립니다.