Introduction

Cloudera Manager ?

  • 하둡 에코 시스템 관리를 편하게 하기위해 만들어진 Cloudera GUI 오픈소스

 

왜 업그레이드를 해야하는가?

  • 관리하는 DMP의 버전이 5.6로, 하이브 접속시 auth방식이 5.7과 상이함
  • auth 방식 추가를 위해, DMP Cloudera Manager 버전을 5.6 --> 5.7로 업그레이드를 진행함.
  • 참고 document URL : [링크 이동]

 

Step 1 - 기본 정보 수집.

  • Cloudera manager가 설치된 서버의 sudo 권한 계정 확인.
  • Cloudera Manager > 지원 > 정보 에서 JDK 버전 확인
  • 각 호스트별로 OS 버전 확인 (클러스터 -> 호스트 )

 

Step 2 - 업그레이드 전 사전 준비

  • 업그레이드 대상 버전이 현재 OS와 JDK를 지원하는지 확인 - [링크 이동]
  • Kafka 1.2가 설치되어있을경우 아래 순서에 따라 진행
    • 1. Select Administration > Settings.
    • 2. Click the Custom Service Descriptors category.
    • 3. Retrieve the directory from the Local Descriptor Repository Path property.
    • 4. Delete the KAFKA CSD from directory

현재 교체하려는 DMP는 Kafka가 깔려있지않아 해당사항이 없지만 추후 Kafka 추가시 Step2과정을 포함해야함

 

Step 3 - JDK

  • JDK 버전 업그레이드가 필요할 경우 다음 포스트를 참고 - [링크 이동]

 

Step 4 - Backup

 

1. cloudera manager 정보 수집

 

Cloudera Server가 설치된 호스트 접속

ssh root@cdh.hostname.com 

 

scm서버의 db information 확인

cat /etc/cloudera-scm-server/db.properties

>>>
# Auto-generated by initialize_embedded_db.sh
#
# 20160304-181141
#
# These are database settings for CM Manager
#
com.cloudera.cmf.db.type=postgresql
com.cloudera.cmf.db.host=localhost:7432
com.cloudera.cmf.db.name=***
com.cloudera.cmf.db.user=***
com.cloudera.cmf.db.password=******

 

Activity Monitor 데이터베이스 정보 수집

  • 클라우데라 매니저 관리자 콘솔에서
    • 클러스터 > Cloudera Management Service > 구성 에서 데이터베이스 카테고리 선택. 나머지 정보는 라이센스가 유효하지않아 필요 없음.

 

Service Monitor가 어디서 실행되는지 확인

  • 클러스터 > Cloudera Management Service > 인스턴스

 

 

2.Cloudera Manager Agent Backup

  • Cloudera Manager Agent 가 설치된 모든 호스트에 대해 아래 내용 수행
# Create a top level backup directory.

export CM_BACKUP_DIR="`date +%F`-CM5.6"
echo $CM_BACKUP_DIR
mkdir -p $CM_BACKUP_DIR

# Back up the Agent directory and the runtime state.
sudo -E tar -cf $CM_BACKUP_DIR/cloudera-scm-agent.tar --exclude=*.sock /etc/cloudera-scm-agent /etc/default/cloudera-scm-agent /var/run/cloudera-scm-agent /var/lib/cloudera-scm-agent

# Back up the existing repository directory.
sudo -E tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d

 

 

3.Cloudera Management Service Backup

  • Cloudera Management Service 가 설치된 호스트에 대해 아래 내용 수행.
sudo cp -rp /var/lib/cloudera-service-monitor /var/lib/cloudera-service-monitor-`date +%F`-CM5.6

#On the host where the Host Monitor role is configured to run, backup the following directory:
sudo cp -rp /var/lib/cloudera-host-monitor /var/lib/cloudera-host-monitor-`date +%F`-CM5.6

#On the host where the Event Server role is configured to run, back up the following directory:
sudo cp -rp /var/lib/cloudera-scm-eventserver /var/lib/cloudera-scm-eventserver-`date +%F`-CM5.6

 

4.Cloudera Manager Server와 Cloudera Management Service 중지

 

1. Cloudera Management Service 중지

 

2. Cloudera Manager Server 중지

sudo service cloudera-scm-server stop

 

5.Cloudera Manager의 Databases 백업

 

Cloudera Manager Server DB 백업

pg_dump -h database_hostname -U user_name -W -p database_port database_name > $HOME/database_name-backup-`date +%F`-CM5.6.sql
예 ) pg_dump -h localhost -U scm -W -p 7432 scm > $HOME/database_name-backup-`date +%F`-CM5.6.sql

 

Activity Monitor DB 백업

  • 생략

 

6.Cloudera Manager Server Backup

 

cloudera manager (scm)가 설치된 호스트에서 아래 내용 수행

export CM_BACKUP_DIR="`date +%F`-CM5.6"
echo $CM_BACKUP_DIR
mkdir -p $CM_BACKUP_DIR

sudo -E tar -cf $CM_BACKUP_DIR/cloudera-scm-server.tar /etc/cloudera-scm-server /etc/default/cloudera-scm-server

sudo -E tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d

 

7.Cloudera Manager Server와 Cloudera Management Service 시작

 

1. Cloudera Manager Server 시작

sudo service cloudera-scm-server start

 

2. Cloudera Management Service 시작

 

 

Step 5 - Cloudera Manager Server 업그레이드 하기

 

1. Software 접근 경로 구축


# 이전 yum repo 지우기
sudo rm /etc/yum.repos.d/cloudera*manager.repo*

#yum repo 수정
sudo vi /etc/yum.repos.d/cloudera-manager.repo 

>>> 버전에 따라 경로 수정. 세부버전을 적지않으면 해당 릴리즈의 가장 최신버전이 다운됨.
[cloudera-manager]
# Packages for Cloudera Manager
name=Cloudera Manager
baseurl=https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.7.1
gpgkey=https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera
gpgcheck=1

 

2. Cloudera Manager Server 업그레이드

 

1. Cloudera Management Service 중지

 

2. Cloudera Manager Server 중지

sudo service cloudera-scm-server stop

 

3. Cloudera Manager Agent 중지

sudo service cloudera-scm-agent stop

 

4. package 업그레이드

sudo yum clean all
sudo yum upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

아래 2개의 prompt 결과에 대해서 N으로 Answer (비슷하게 출력됨)

#1. Configuration file '/etc/cloudera-scm-agent/config.ini'
#2. Configuration file/etc/cloudera-scm-server/db.properties
# 출력 예
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.

아래 prompt 결과에 대해서 y로 Answer

Retrieving key from https://archive.cloudera.com/.../cm/RPM-GPG-KEY-cloudera
Importing GPG key ...
 Userid     : "Yum Maintainer  <webmaster@cloudera.com>"
 Fingerprint: ...
 From       : https://archive.cloudera.com/.../RPM-GPG-KEY-cloudera</webmaster@cloudera.com>

 

5. 올바른 package가 설치되었는지 확인

rpm -qa 'cloudera-manager-*'

>>> 
cloudera-manager-server-5.7-..cm...
cloudera-manager-agent-5.7-..cm...
cloudera-manager-daemons-5.7-..cm...

 

6. Cloudera Manager Agent 시작

sudo service cloudera-scm-agent start

 

7. Cloudera Manager Server 시작

sudo service cloudera-scm-server start

 

Step 6 - Cloudera Manager Agent 업그레이드

 

Cloudera Manager 업그레이드 마법사로 Agent 업데이트

 

페이지 이동후 가이드에 따라 진행

[http://cloudera.manager.net:7180/cmf/upgrade-wizard/welcome]

  • 도중 ssh 설정은 다음과 같이 설정하여줍니다
    • 계정명 : root (혹은 root권한의 계정)
    • ssh key file : 삽입 (cloudera manager가 설치된 호스트의 의 id_rsa keyfile 입니다.)
    • 암호 미사용

 

cloudera manager 업데이트 여부 확인

  • 상단탭의 지원 > 정보

 

+ Recent posts