songdev
songdev
songdev
전체 방문자
오늘
어제
  • 분류 전체보기 (78)
    • Web 개발 (6)
    • 리눅스 (5)
    • git (5)
    • Bigdata (8)
      • 하둡 Architecture 번역 (6)
      • Ambari (2)
    • 코테 (22)
      • 프로그래머스 (22)
    • 자격증 (7)
      • 정보처리기사 (5)
      • SQLD (2)
    • 스터디 (18)
      • 웹 프로그래밍 (3)
      • 개념정리 (4)
      • 예제 (6)
      • 바닐라 JS로 크롬 앱 만들기 (5)
    • 일상 (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • charAt()
  • github
  • javascript
  • 프로그래머스
  • 향상된 버블정렬
  • Java
  • sort()
  • 배열
  • 정보처리기사
  • 깃허브
  • 자바스크립트
  • level1
  • 정렬
  • 배열의 복사
  • SQLD
  • copyOfRange()
  • github push
  • parseInt()
  • 리눅스
  • 정보처리기사 필기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
songdev

songdev

Ambari Overview
Bigdata/Ambari

Ambari Overview

2021. 9. 30. 17:10
반응형

Ambari Architecture

Ambari는 다음과 같은 요소로 이뤄져 있다.

  • Ambari Server : 각 Agent 상태 확인 및 API를 활용 명령 전달, 상태 확인
  • Ambari Agent : Agent가 설치된 서버 상태, 리소스 정보, 명령 수행 결과를 Server 전송
  • Postgresql(DB) : 각 상태값 및 Agent 명령 수행 결과 저장, 로그 저장
  • Ambari-web : 사용자가 확인하는 접속 UI 화면

 

ambari는 ambari agent와 ambari server 두개의 컴포넌트를 가지고 있다.

agent는 agent interface를 통해서 heartbeats를 주고 받으며 server와 통신한다.

 

 

Ambari 설치와 내부 진행 과정

https://www.slideshare.net/hortonworks/ambari-agentregistrationflow-17041261

*용어정의

  • Bootstrap : 호스트에 Agent를 설치하고 등록하기 위한 환경 조성 과정
  • Registration : Agent 호스트가 서버에 등록하는 행위

과정

  • Ambari-Server 설치
  • Ambari-Agent 설치
    • Ambari-Agent는 Ambari-Server 설치 시 같이 설치 되지 않습니다.
    • Ambari-Web 에서 ex)HDP 를 설치할 때 bootstrap.py 를 실행
    • 설치 과정 중 Web 상에서 입력했던 HDP 내 설치할 대상(hostname혹은 ip)에 Ambari-Agent 설치
    • 관련 추론 근거 error URL
      • (https://community.cloudera.com/t5/Support-Questions/Ambari-fails-to-register-with-nodes/td-p/100863)
      • bootstrap.py 코드 안 Bootstrap 클래스 주석내용을 확인하면 분산된 호스트에 Agent를 설치한다 적여있습니다.
  • Ambari-Server에 Ambari-Agent 등록

 

1. 설치설치 방법 1 ( SSH가 될 때 )

  • Ambari Server를 설치할 host와 Agent를 설치할 대상 서버간 SSH Key를 사용하여 접속 할 수 있도록 한 후 설치 진행

Ambari Agent Bootstrap (SSH)

  1. Ambari-Server : Ambari Repo 설정
    1. 암바리 서버의 ambari.repo 파일을 Ambari-Server 설치 서버에 저장.
  2. Ambari-Server : setupAgent.py 스크립트를 Ambari-Server 설치 서버에 준비.
  3. Ambari-Server : 준비된 설치 파일을 python setupAgent.py 를 실행하여 설치 실행.
  4. Ambari-Agent : 리눅스 확장 패키지 설치(epel-release package)
    1. zypper를 활용해 저장소를 관리하며
      1. yum install epel-release 를 수행
  5. Ambari-Agent : Ambari-agent 설치
  6. Ambari-Agent : 관련 설치 정보 설정 변경
    1. /etc/ambari-agent/ambari-agent.ini Ambari-Agent 호스트이름과 Ambari-Server 호스트이름 변경 저장
  7. Ambari-Agent : Ambari-Agent 시작
  8. Ambari-Agent : Ambari-Server에 Ambari-Agent 정보 등록 프로세스 시작

 

설치 방법 2 (SSH 불가 시)

  • 각 서버에 직접 접속하여 Agent 설치

Ambari Agent Bootstrap (Manual)

  1. Ambari-Agent : Ambari Repo 설정
    1. 암바리 서버의 ambari.repo 파일을 Ambari-Server 설치 서버에 저장.
  2. Ambari-Agent : 리눅스 확장 패키지 설치(epel-release package)
    1. zypper를 활용해 저장소를 관리하며
      1. yum install epel-release 를 수행
  3. Ambari-Agent : Ambari-agent 설치
  4. Ambari-Agent : 관련 설치 정보 설정 변경
    1. /etc/ambari-agent/ambari-agent.ini Ambari-Agent 호스트이름과 Ambari-Server 호스트이름 변경 저장
  5. Ambari-Agent : Ambari-Agent 시작
  6. Ambari-Agent : Ambari-Server에 Ambari-Agent 정보 등록 프로세스 시작

 

2. Ambari-Agent 등록

Ambari-Agent를 Ambari-Server에 등록하는 과정은 Agent와 Server 간 통신을 통해서 이뤄집니다.

 

    1. Ambari-Agent : 8441 Handshake 포트를 통해서 Ambari-Server에 접속
    2. Ambari-Server : Ambari-Server에서 Ambari-Agent로 Server Cert(증명서) 전송
    3. Ambari-Agent : Ambari-Server에 Agent Cert(증명서) 요청
    4. Ambari-Server : 요청이 들어온 Agent Cert(증명서)를 password와 함께 서버 내 등록
    5. Ambari-Server : 등록한 Agent Cert(증명서)를 Ambari-Agent로 전송 및 연결 종료
    6. Ambari-Agent : Ambari-Server의 Agent 등록 포트인 8440 접속
    7. Ambari-Agent : 2WAY 인증 방법으로 Ambari-Agent와 Ambari-Server 간 인증
    8. Ambari-Agent : Ambari-Agent는 *FQDN(Fully Qualified Domain Name)을 통해 Agent 호스트를 얻습니다. (*FQDN이란 www.yahoo.com 과 같이 <호스트명.도메인명>으로 표기하는 것을 말한다.)
      1. 동일한 IP 내 hostnames 가 여러개일 경우
        1. 스크립트를 만들어 배포 설정 파일에 추가 (스크립트 이름은 무엇이든 상관 없습니다.)
          1. ex) /tmp/hostname.sh 생성
            1.  

 

            1. 1#!/bin/sh 2echo <ambari_hostname>
          1. 설정 파일 내 내용 추가 ( /etc/ambari-agent/conf/ambari-agent.ini )
            1. [server] 내용 중
              1. Ambari-Server 호스트 네임으로 설정
            2. [agent] 아래에 한줄 추가
              1.  

 

            1. 1hostname_script=/tmp/hostname.sh
  1. Ambari-Agent : FQDN을 활용하여 Ambari-Agent는 Ambari-Server에 Agent 호스트를 등록
  2. Ambari-Server : Ambari-Server는 Ambari가 사용하는 DB에 추가하면서 등록을 완료
  3. Ambari-Agent : 등록이 완료된 이후에야 Ambari-Agent는 heartbeat 시작
    1. hearbeats를 통해서 Ambari-Server에 지속적으로 명령 수행을 상태를 알립니다.
반응형

'Bigdata > Ambari' 카테고리의 다른 글

centos7 환경에서 Apache Ambari 2.7.5 버전 설치하기  (0) 2023.02.23
    'Bigdata/Ambari' 카테고리의 다른 글
    • centos7 환경에서 Apache Ambari 2.7.5 버전 설치하기
    songdev
    songdev

    티스토리툴바