ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [산대특] Hadoop, ganglia, grids
    [산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정/Cloud 2024. 10. 29. 16:43

    1029

     

      Hadoop에서의 용어

    HDFS Hadoop Distributed File System 파일을 일정 크기의 데이터 블록(chunk)으로 저장
    블록, 여러번 복제 가능, 가용성 ↑
     

    Name Node(Master)가 데이터 블록들을 전체 클라우드에 분산 저장시킴
    위치와 무관하게 빠르게 데이터에 접속, 장애처리(fault–tolerance) 가능,
    각각의
    DataNode(Slave)하드웨어 부담↓
    NameNode Hadoop Master NameNode
    실제 데이터가 저장된
    Hadoop Slave DataNode의 클러스터내의 위치 정보를 추적

    DataNode(Slave)의 상태를 알고 있는 Name Node(Master)는

    Hadoop이 부팅시 바로 NameNode들과 연결을 시도
    DataNode 슬레이브 노드로써 실제적인 데이터를 저장
    Secondary
    NameNode
    NameNode의 백업기능 X 보조 느낌
    NameNode에서 관리하는 파일시스템의 이미지 정보를 백업하는 기능
    HDFS에서 작업이 있을 때 생기는 edit log를 머지(merge)해서
    Hadoop Name Node(Master)를 복구할 때 사용
    JobTracker DataNode(Slave)에서 Name Node(Master) 가 지시한 MapReduce 작업을 추적하는 역할
    TaskTracker Name Node(Master) 에서 각 DataNode(Slave) 에서 실행될 MapReduce 작업을 요청하는 역할

     

    hadoop dfs - 뒤에 Linux 명령어를 입력하면 로컬이 아니라 클라우드에서 작업하라는 의미.

    ex) hadoop dfs -ls

     

      Hadoop DFS 시스템은 데이터를 64MB(chunk size)로 일정하게 잘라서 데이터 노드에 고루게 분산

     

      Hadoop에서의 포트

    SecondaryNameNode 50090(웹)
    NameNode 50070(웹), 9000(일반)
    DataNode 50075(웹), 50010(일반)
    HDFS 9000(일반)
    JobTracker 50030(웹), 9001(일반)
    TaskTracker 50060(웹)을 사용

     

    Hadoop DFS에서는 WordCount 이외에도 Bigdata 를 분석할 수 있는 여러가지 기능이 있다.

     

     

      Hadoop으로 클라우드를 구성하려면 => Hadoop 멀티모드(제대로 HDFS를 사용 가능)

    => 강력한 물리적 NameNode 서버가 필요(수직적 개념의 호스트)

     

    마스터인 NameNode, secondaryNameNode,  

    +

    슬레이브인 slave1, slave2, slave3, ...식으로 여러 DataNode

    = 멀티노드를 구성

     

    네트워크와 서버의 성능만 좋다면  => 거대한 클라우드 구축 가능 

     

    DataNode(Slave) 가 

    ∎ 10대 이하인 경우 = 소형 네트워크,

    ∎ 50대 정도인 경우 = 중형 네트워크, 

    ∎ Youtube나 Google, Yahoo, Facebook, LinkedIn, Amazon과 같이 수백 대가 있는 경우= 대형 네트워크  

      

    ▪ 보통 클라우드 상의 수많은 머신들을 한 곳에서 관리하는 도구

    ▸ Linux에서는 Puppet이나 Ansible이라는 도구를 통해서 SSH로 연결한 뒤 관리하고 

    ▸ Windows에서는 SuperPuttyXShell이라는 도구를 사용하면 된다. 

      

    master에 

    ∎ MySQL/MS SQL/Oracle 등 RDBMS나 Cassandra, HBase, MongoDB 등 NoSQL

    DBMS를 설정해서 데이터베이스 SQL 쿼리를 실행 

    ∎ Python/R을 설정한 뒤 BigData 분석을 실행

     

    BigData를 DataNode에 분산해서 저장한 뒤,

    NameNode에서 SQL 쿼리나 Python BigData 분석을 실행

    => 각 DataNode에 있는 데이터를 Hadoop의 MapReduce를 통해서 빠르게 처리가능

     

      Ganglia와 Grids로 HADOOP 클라우드 모니터링

     분산 환경인 Grids클라우드를 모아놓은 Clusters에서 강하다.

    서버와 노드들을 트리 구조로 만들어서 설계하기 쉬움

    웹을 위한 XML, 포터블 데이터 송수신을 위한 XDR, 데이터 저장과 시각화를 위한 RRDtool 등과 호환

    최대 2,000 노드까지 핸들링 가능. 

    직관적인 것이 장점

     

      Grids는 대여섯 개의 Cluster를 묶은 것

    서로 다른 데이터를 저장하고 있는 여러 대의 MySQL 데이터베이스 서버들을 묶은 DB_Servers 클러스트

    +

    글로벌하게 실행되고 있는 API 서버들을 묶은 API_Servers 클러스트

    => 묶어서 Seoul 한 곳에서 관리 =>  Seoul이라는 Grids를 만들면 된다. 

    규모는 Grid >clusters >nodes 순



연의 취업 도전기.