KR102289100B1 - 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치 - Google Patents

빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치 Download PDF

Info

Publication number
KR102289100B1
KR102289100B1 KR1020200054758A KR20200054758A KR102289100B1 KR 102289100 B1 KR102289100 B1 KR 102289100B1 KR 1020200054758 A KR1020200054758 A KR 1020200054758A KR 20200054758 A KR20200054758 A KR 20200054758A KR 102289100 B1 KR102289100 B1 KR 102289100B1
Authority
KR
South Korea
Prior art keywords
cluster
big data
container
computer devices
resource
Prior art date
Application number
KR1020200054758A
Other languages
English (en)
Inventor
최정환
김현옥
Original Assignee
한전케이디엔주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한전케이디엔주식회사 filed Critical 한전케이디엔주식회사
Priority to KR1020200054758A priority Critical patent/KR102289100B1/ko
Application granted granted Critical
Publication of KR102289100B1 publication Critical patent/KR102289100B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치는 개인용 컴퓨터 장치의 유휴 자원을 이용하여 빅데이터 분석을 위한 가상의 클러스터를 구축함으로써, 별도의 서버 구매 없이 빅데이터 분석을 위한 클러스터를 구축할 수 있는 효과가 있다. 또한, 본 발명의 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치는 빅데이터 분석을 위한 작업의 양 및 자원의 점유율에 따라 가상의 클러스터의 자원을 다르게 조절함으로써, 시스템 효율을 향상시킬 수 있는 장점이 있다.

Description

빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치{CONTAINER-BASED CLUSTER CONSTRUCTION METHOD AND CLUSTER DEVICE FOR BIG DATA ANALYSIS}
본 발명은 클러스터 장치에 관한 것으로서, 보다 상세하게는, 빅데이터 분석을 위한 컨테이너(container) 기반의 클러스터 구축 방법 및 클러스터 장치에 관한 것이다.
빅데이터 분석이란 소셜 빅데이터, 실시간 사물지능통신(M2M:Machine to Machine) 센서 데이터, 기업 고객관계 데이터 등 도처에 존재하는 다양한 성격의 빅데이터들을 효과적으로 분석하는 것을 말한다. 빅데이터 시대에는 단순히 데이터베이스에 잘 정리된 정형 데이터뿐 아니라 인터넷, 소셜 네트워크 서비스, 모바일 환경에서 폭발적으로 생성되는 웹 문서, 이메일, 소셜 데이터(소셜 네트워크 서비스 텍스트 데이터, 유튜브 비디오 데이터 등) 등 비정형 빅데이터를 효과적으로 분석하는 것이 무엇보다 중요해졌다.
이러한 대용량의 빅데이터를 분석하기 위해서는, 통상적으로 다수의 고성능 서버를 이용하여 빅데이터 분석 시스템을 구축하여야 한다. 그런데, 이러한 고성능의 서버는 많은 전력을 소비하며, 이를 운영하기 위한 별도의 항온/항습 장치가 필요하다. 따라서 상기와 같은 고성능 서버를 이용하여 빅데이터 분석 시스템을 구현할 경우, 유지비용이 많이 드는 단점이 있다.
또한, 빅데이터 분석 클러스터는 일반적으로 특정 시점에만 사용되고 나머지 시간에는 대기상태를 하고 있어 비용 대비 이용 효율이 떨어지는 단점이 있다.
한국 등록특허번호 10-1700327호(공고일: 2017.01.26, 명칭: 빅데이터 분석 결과를 제공하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체)
따라서 본 발명은 개인용 컴퓨터 장치의 유휴 자원을 이용하여 빅데이터 분석을 위한 가상의 클러스터를 구축함으로써, 별도의 서버 구매 없이 빅데이터 분석을 위한 클러스터를 구축하는 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치를 제공하고자 한다.
또한, 본 발명은 빅데이터 분석을 위한 작업의 양 및 자원의 점유율에 따라 가상의 클러스터의 자원을 다르게 조절함으로써, 시스템 효율을 향상시킬 수 있는 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치를 제공하고자 한다.
상기 목적을 달성하기 위해, 본 발명에서 제공하는 빅데이터 분석을 위한 클러스터 장치는 전체 자원 중 일부를 클러스터 컨테이너를 위한 자원으로 할당하는 다수의 컴퓨터 장치들; 및 상기 다수의 컴퓨터 장치들 각각으로부터 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터를 생성/관리하는 관리노드를 포함하되, 상기 컴퓨터 장치는 자원현황정보를 상기 관리노드로 전달하고, 상기 관리노드는 상기 자원현황정보에 의거하여 클러스터 컨테이너 할당이 가능한 컴퓨터 장치를 선정하고, 상기 선정된 대상 컴퓨터 장치들 각각에 상기 빅데이터 클러스터 구성에 필요한 클러스터 컨테이너 할당 정보를 전달한 후, 상기 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터를 생성하는 것을 특징으로 한다.
바람직하게는, 상기 관리노드가 상기 다수의 컴퓨터 장치들을 관리하는 노드 관리부; 상기 빅데이터 클러스터로 입력되는 작업요청에 의거하여 작업리스트를 생성 및 관리하고, 상기 빅데이터 클러스터를 구성하는 다수의 클러스터 컨테이너들 중 작업할 클러스터 컨테이너를 선정하여 해당 작업을 지시하는 작업관리부; 및 상기 다수의 컴퓨터 장치들 각각에 할당된 클러스터 컨테이너들 및 상기 빅데이터 클러스터의 동작 상태를 감시하는 모니터링부를 포함하되, 상기 노드 관리부는 상기 컴퓨터 장치들 각각에 대하여, 전체 가용 자원 중 클러스터 컨테이너로 동작하는 자원의 비율을 시간대별로 다르게 설정할 수 있다.
바람직하게는, 상기 노드 관리부가 상기 컴퓨터 장치들 각각의 여유자원을 모니터링하고, 상기 모니터링 결과에 의거하여, 상기 컴퓨터 장치의 여유자원이 미리 설정된 제1 기준치 이하인 경우 상기 클러스터 컨테이너로 동작하는 자원의 비율을 낮출 수 있다.
바람직하게는, 상기 모니터링부가 기 빅데이터 클러스터의 자원 사용량 및 여유자원을 모니터링하고, 상기 노드 관리부는 상기 모니터링부로부터 모니터링 결과를 전달받고, 그 모니터링 결과에 의거하여 상기 빅데이터 클러스터에 할당된 클러스터 컨테이너의 수를 조정할 수 있다.
바람직하게는, 상기 노드 관리부가 상기 빅데이터 클러스터의 여유자원이 미리 설정된 제2 기준치 이하인 경우, 상기 할당가능리스트에 의거하여 클러스터 컨테이너를 추가할당하고, 상기 빅데이터 클러스터의 여유자원이 미리 설정된 제3 기준치 이상인 경우, 미사용 클러스터 컨테이너 중 클러스터 컨테이너로 할당된 시간 정보에 의거하여 클러스터 컨테이너 할당을 해제할 수 있다.
한편, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 빅데이터 분석을 위한 클러스터 구축 방법은 다수의 컴퓨터 장치들 각각으로부터 자원현황정보를 수신하는 자원현황정보 수신단계; 상기 컴퓨터 장치들 각각의 자원현황정보에 의거하여 클러스터 컨테이너 할당이 가능한 컴퓨터 장치들 및 대응된 자원현황정보를 포함하는 할당가능리스트를 생성하는 할당가능리스트 생성단계; 및 상기 할당가능리스트에 기초하여 가상의 빅데이터 클러스터를 생성하는 빅데이터 클러스터 생성단계를 포함하되, 상기 빅데이터 클러스터 생성단계는 상기 할당가능리스트에 포함된 컴퓨터 장치들 중 여유자원이 많은 순서에 의거하여 대상 컴퓨터 장치들을 선정한 후 상기 선정된 대상 컴퓨터 장치들 각각에 상기 빅데이터 클러스터 구성에 필요한 클러스터 컨테이너 할당 정보를 전달하여 클러스터 컨테이너를 할당하고, 상기 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터를 생성하는 것을 특징으로 한다.
바람직하게는, 상기 빅데이터 클러스터 생성단계는 상기 컴퓨터 장치들 각각에 대하여, 전체 가용 자원 중 클러스터 컨테이너로 동작하는 자원의 비율을 시간대별로 다르게 설정할 수 있다.
바람직하게는, 상기 방법은 상기 컴퓨터 장치들 각각의 여유자원을 모니터링하는 컴퓨터 장치 감시단계; 및 상기 모니터링 결과에 의거하여, 상기 컴퓨터 장치의 여유자원이 미리 설정된 제1 기준치 이하인 경우 상기 클러스터 컨테이너로 동작하는 자원의 비율을 낮추는 자원할당비율조정단계를 더 포함할 수 있다.
바람직하게는, 상기 방법은 상기 빅데이터 클러스터의 자원 사용량 및 여유자원을 모니터링하는 빅데이터 클러스터 감시단계; 및 상기 모니터링 결과에 의거하여, 상기 빅데이터 클러스터에 할당된 클러스터 컨테이너의 수를 조정하는 조정단계를 더 포함할 수 있다.
바람직하게는, 상기 컨테이너 수 조정단계는 상기 빅데이터 클러스터의 여유자원이 미리 설정된 제2 기준치 이하인 경우, 상기 할당가능리스트에 의거하여 클러스터 컨테이너를 추가할당하고, 상기 빅데이터 클러스터의 여유자원이 미리 설정된 제3 기준치 이상인 경우, 미사용 클러스터 컨테이너 중 클러스터 컨테이너로 할당된 시간 정보에 의거하여 클러스터 컨테이너 할당을 해제할 수 있다.
본 발명의 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치는 개인용 컴퓨터 장치의 유휴 자원을 이용하여 빅데이터 분석을 위한 가상의 클러스터를 구축함으로써, 별도의 서버 구매 없이 빅데이터 분석을 위한 클러스터를 구축할 수 있는 효과가 있다. 또한, 본 발명의 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치는 빅데이터 분석을 위한 작업의 양 및 자원의 점유율에 따라 가상의 클러스터의 자원을 다르게 조절함으로써, 시스템 효율을 향상시킬 수 있는 장점이 있다.
도 1은 본 발명의 일실시 예에 따른 클러스터 장치에 대한 개략적인 시스템 구성도이다.
도 2는 본 발명의 일실시 예에 따른 클러스터 장치에 포함된 관리노드에 대한 개략적인 블록도이다.
도 3은 본 발명의 일실시 예에 따른 클러스터 구축 방법에 대한 개략적인 처리 절차도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 설명하되, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 한편 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한 상세한 설명을 생략하여도 본 기술 분야의 당업자가 쉽게 이해할 수 있는 부분의 설명은 생략하였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일실시 예에 따른 클러스터 장치에 대한 개략적인 시스템 구성도이다. 도 1을 참조하면, 본 발명의 일실시 예에 따른 클러스터 장치(100)는 관리노드(110)와, 다수의 컴퓨터 장치들(120)과, 빅데이터 클러스터(130)를 포함한다.
관리노드(110)는, 다수의 컴퓨터 장치들(120) 각각의 자원들 중 유휴자원(즉, 클러스터 컨테이너로 할당 가능한 자원)을 이용하여 가상의 빅데이터 클러스터(130)를 생성하고, 이들을 관리한다. 즉, 관리노드(110)는 다수의 컴퓨터 장치들(120) 각각으로부터 자원현황정보(즉, 자원사용현황정보)를 전달받고, 그 정보에 의거하여 클러스터 컨테이너 할당이 가능한 컴퓨터 장치를 선정한다. 예를 들어, 관리노드(110)는, 상기 전달된 자원현황에 의거하여, 전체 자원 중 클러스터 컨테이너를 위한 자원으로 할당 가능한 자원의 비율이 미리 설정된 소정값 이상인 컴퓨터 장치를 선정한다. 이 때, 관리노드(110)는 CPU 및 메모리(MEM)의 사용률이 50% 미만인 컴퓨터 장치들을 선정할 수 있다. 그리고 관리노드(110)는 상기 선정된 컴퓨터 장치들 각각으로 빅데이터 클러스터(130) 구성에 필요한 클러스터 컨테이너 할당 정보를 전달한 후, 상기 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터(130)를 생성한다. 이 때, 클러스터 컨테이너 할당 정보는 컨테이너로 만들 자원정보(예컨대, 메모리, CPU, HDD 크기 등)와 컨테이너에 생성할 빅데이터 플랫폼 구성을 위한 서비스(예컨대, Hadoop, Spark 등)를 뜻하며, 이를 바탕으로 컨테이너를 생성할 수 있다.
그리고 다수의 컴퓨터 장치들(120) 각각에 할당된 클러스터 컨테이너들과, 상기 클러스터 컨테이너들에 의해 생성된 가상의 빅데이터 클러스터(130)를 관리한다.
다수의 컴퓨터 장치들(120)은 기업, 학교 등에서 직원의 업무를 위해 사용되는 개인 업무용 컴퓨터 장치로서, 전체 자원 중 일부를 클러스터 컨테이너를 위한 자원으로 할당할 수 있다. 이를 위해, 다수의 컴퓨터 장치들(120)은 자신의 자원현황정보를 파악하고, 그 결과를 관리노드(110)로 전달할 수 있다.
빅데이터 클러스터(130)는 다수의 컴퓨터 장치들(120) 각각에 할당된 클러스터 컨테이너들을 취합하여 생성된 가상의 서버 클러스터이다. 즉, 빅데이터 클러스터(130)는 빅데이터를 분석하기 위한 장치로서, 빅데이터 클러스터(130)에 포함된 클러스터 컨테이너의 사양과 개수에 의해 그 사양이 결정될 수 있다.
도 1의 예에서, 관리노드(110)는 다수의 컴퓨터 장치들(120)(컴퓨터 장치1(121), 컴퓨터 장치2(122), …, 컴퓨터 장치n(123))로부터 각각의 자원현황 정보를 전달받고, 그 정보에 의거하여 컴퓨터 장치들(120) 각각에게 클러스터 컨테이너 할당 정보를 전달한다. 즉, 관리노드(110)는 컴퓨터 장치1(121)에 클러스터 컨테이너1(121-1)을 할당하고, 컴퓨터 장치2(121)에 클러스터 컨테이너2(122-1)를 할당하고, 컴퓨터 장치3(123)에 클러스터 컨테이너3(123-1)을 할당한다. 그리고 관리노드(110)는 이들 클러스터 컨테이너들을 취합하여 가상의 빅데이터 클러스터(130)를 생성하고 관리한다.
이 때, 클러스터 컨테이너는 컴퓨터 장치(120)로부터 할당받은 자원으로서, 빅데이터 클러스터(130)의 구성자원이며, 빅데이터 분석을 위한 작업(task)을 실질적으로 수행하는 장소이다. 즉, 클러스터 컨테이너는 관리노드(110)의 명령으로 자신과 연결된 다른 클러스터 컨테이너와 네트워크를 통하여 작업 결과를 상호 교환함으로써, 최종 결과를 생성할 수 있다.
도 2는 본 발명의 일실시 예에 따른 클러스터 장치에 포함된 관리노드에 대한 개략적인 블록도이다. 도 1 및 도 2를 참조하면, 본 발명의 일실시 예에 따른 클러스터 장치에 포함된 관리노드(110)는 노드 관리부(111), 작업 관리부(112), 모니터링 부(113), 사용자 인터페이스부(I/F)(114), 제어부(115) 및 통신 인터페이스부(I/F)(116)를 포함한다.
노드 관리부(111)는 다수의 컴퓨터 장치들(120)을 관리한다. 즉, 노드 관리부(111)는 다수의 컴퓨터 장치들(120)의 동작 상태 등을 관리함으로써, 가상의 빅데이터 클러스터(130)를 구성하는 클러스터 컨테이너들을 관리할 수 있다.
노드 관리부(111)는 다수의 컴퓨터 장치들(120) 각각에 대하여, 전체 가용 자원 중 클러스터 컨테이너로 동작하는 자원의 비율을 시간대별로 다르게 설정할 수 있다. 예를 들어, 노드 관리부(111)는 다수의 컴퓨터 장치들(120) 각각의 자원들에 대하여 근무시간(예컨대, 09:00 ~ 18:00)에는 최대 스펙의 50% 까지 클러스터 컨테이너 자원으로 할당하고, 근무시간 이외의 시간(예컨대, 18:01 ~ 08:59)에는 최대 스펙의 80% 까지 클러스터 컨테이너 자원으로 할당할 수 있다.
또한, 노드 관리부(111)는 컴퓨터 장치들(120) 각각의 여유자원을 모니터링하고, 상기 모니터링 결과에 의거하여, 컴퓨터 장치의 여유자원이 미리 설정된 제1 기준치 이하인 경우 상기 클러스터 컨테이너로 동작하는 자원의 비율을 낮출 수 있다. 예를 들어, 노드 관리부(111)는 클러스터 컨테이너가 할당된 컴퓨터 장치들(120) 중 여유자원이 20% 미만인 컴퓨터 장치의 경우 현재 할당되어 있는 클러스터 컨테이너를 해제하거나, 클러스터 컨테이너로 사용 중인 자원의 비율을 낮출 수 있다. 이 때, 해당 클러스터 컨테이너에서 수행하는 작업이 있는 경우는 그 작업이 종료된 후에 해제할 수 있다.
작업 관리부(112)는 빅데이터 클러스터(130)로 입력되는 작업요청에 의거하여 작업리스트를 생성 및 관리한다. 즉, 작업 관리부(112)는 상기 다수의 클러스터 컨테이너들 중 작업할 클러스터 컨테이너를 선정하여, 상기 요청된 작업을 지시하고, 클러스터 컨테이너들 각각의 처리 결과를 취합하여 생성된 최종 결과를 사용자에게 제공할 수 있다. 이 때, 작업 관리부(112)는 상기 작업리스트에 추가된 순서대로 작업이 처리되도록 하며, 작업 처리시 데이터 공유시간을 줄이기 위해 네트워크상에서 거리가 가까운 클러스터 컨테이너들에게 작업을 할당할 수 있다. 한편, 작업 관리부(112)는 작업에 사용되는 데이터가 최대한 클러스터 컨테이너들 간에 공유되지 않도록 할당할 수 있다. 이는 네트워크를 통한 데이터의 이동에 소요되는 비용이, 메모리에 저장된 데이터가 작업을 위해 CPU로 가는 이동하는 비용 보다 훨씬 비싸기 때문이다.
모니터링 부(113)는 다수의 컴퓨터 장치들(120) 각각에 할당된 클러스터 컨테이너들 및 빅데이터 클러스터(130)의 동작 상태를 감시한다. 그리고 모니터링부(113)는 그 결과를 노드관리부(111)로 전달하여 동작 상태에 따른 노드 관리가 이루어질 수 있도록 할 수 있다.
즉, 모니터링부(113)가 빅데이터 클러스터(130)의 자원 사용량 및 여유자원을 모니터링하여 그 결과를 노드 관리부(111)로 전달하면, 노드 관리부(111)는 모니터링부(113)로부터 전달된, 모니터링 결과에 의거하여 빅데이터 클러스터(130)에 할당된 클러스터 컨테이너의 수를 조정할 수 있다. 예를 들어, 노드 관리부(111)는 빅데이터 클러스터의 여유자원이 20% 미만인 경우 상기 할당 가능 리스트에 포함된 컴퓨터 장치들에게 클러스터 컨테이너의 추가 할당을 요청하되, 여유자원이 많은 순서대로 컴퓨터 장치를 선택하여 클러스터 컨테이너의 생성을 요청하고, 상기 빅데이터 클러스터의 여유자원이 50% 이상일 경우 미사용 클러스터 컨테이너 중 클러스터 컨테이너로 할당된 지 오래된 순서대로 클러스터 컨테이너 할당을 해제할 수 있다. 이 때, 해당 클러스터 컨테이너에서 수행하는 작업이 있는 경우는 그 작업이 종료된 후에 해제할 수 있다.
사용자 인터페이스부(I/F)(114)는 사용자와의 인터페이스를 제공하되, 사용자가 요청한 작업 정보를 제어부(115)를 통해 작업 관리부(112)로 전달할 수 있다.
제어부(115)는 관리노드(110) 전체의 동작을 제어하되, 미리 설정된 제어 알고리즘 또는 사용자 I/F(인터페이스부)(114)를 통한 사용자의 입력 정보에 기초하여 관리노드(110) 전체의 동작을 제어할 수 있다.
통신 인터페이스부(I/F)(116)는 통신망과의 통신 인터페이스를 제공하되, 다수의 컴퓨터 장치들(120) 각각에 할당된 클러스터 컨테이너들과의 통신 인터페이스를 제공한다. 즉, ?v신 인터페이스부(I/F)(116)는 제어부(115)의 제어를 받아 동작하되, 클러스터 컨테이너들에게 작업을 요청하거나 클러스터 컨테이너들로부터 작업 결과를 전달받을 수 있다.
도 3은 본 발명의 일실시 예에 따른 클러스터 구축 방법에 대한 개략적인 처리 절차도로서, 도 3은 다수의 컴퓨터 장치들 중 컴퓨터 장치1(121)에 클러스터 컨테이너를 할당하고, 그 정보를 취합하여 빅데이터 클러스터(130)를 생성하는 예를 설명하고 있다. 한편, 도 3의 예에서는 관리노드(110)가 컴퓨터 장치1(121) 하나로부터 할당된 정보에 의거하여 빅데이터 클러스터(130)를 생성하는 예를 설명하고 있지만, 본 발명이 도 3의 예로 제한되는 것은 아니다. 본 발명은 다수의 컴퓨터 장치들과의 데이터 교환을 통해 다수의 클러스터 컨테이너를 포함하는 빅데이터 클러스터(130)를 생성할 수 있는 것이다.
도 1 및 도 3을 참조하면, 본 발명의 일 실시 예에 따른 클러스터 구축 방법은 다음과 같다.
단계 S105에서는, 컴퓨터 장치1(121)이 자원현황정보를 수집한다.
단계 S110에서는, 컴퓨터 장치1(121)이 상기 수집한 자원현황정보를 관리노드(110)로 전달하고, 관리노드(110)는 상기 자원현황정보를 수신한다.
단계 S115에서는, 관리노드(110)가 상기 수신된 자원현황정보에 의거하여 클러스터 컨테이너 할당이 가능한 컴퓨터 장치들 및 대응된 자원현황 정보를 포함하는 할당가능리스트를 생성한다. 즉, 단계 S115에서, 관리노드(110)는 상기 자원현황정보에 의거하여 CPU 및 메모리(MEM)의 사용률이 50% 미만인 컴퓨터 장치들을 선정하고 그 컴퓨터 장치들 및 그 컴퓨터 장치들 각각의 CPU 및 메모리(MEM)의 사용률을 포함하는 할당가능리스트를 생성할 수 있다.
단계 S120 내지 단계 S130에서는, 관리노드(110)가 상기 할당가능리스트에 기초하여 가상의 빅데이터 클러스터를 생성한다. 이를 위해, 단계 S120에서는, 관리노드(110)가 상기 할당가능리스트에 포함된 컴퓨터 장치들 중 여유자원이 많은 순서에 의거하여 대상 컴퓨터 장치들을 선정하고, 단계 S125에서는, 관리노드(110)가 상기 선정된 대상 컴퓨터 장치들 각각에 클러스터 컨테이너를 할당한다. 즉, 단계 S125에서, 관리노드(110)는 상기 선정된 대상 컴퓨터 장치들 각각에게 빅데이터 클러스터(130) 구성에 필요한 클러스터 컨테이너 할당 정보를 전달한다. 도 3의 예에서는, 관리노드(110)가 컴퓨터 장치1(121)을 상기 대상 컴퓨터 장치로 선정하고, 컴퓨터 장치1(121)에게 클러스터 컨테이너 정보를 전달한다.
이 때, 클러스터 컨테이너 할당 정보는 컨테이너로 만들 자원정보(예컨대, 메모리, CPU, HDD 크기 등)와 컨테이너에 생성할 빅데이터 플랫폼 구성을 위한 서비스(예컨대, Hadoop, Spark 등)를 뜻하며, 이를 바탕으로 컨테이너를 생성할 수 있다.
단계 S130에서는, 관리노드(110)가 상기 컴퓨터 장치들에게 전달한 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터를 생성한다. 또한, 단계 S130에서는, 관리노드(110)가 상기 컴퓨터 장치들 각각에 대하여, 전체 가용 자원 중 클러스터 컨테이너로 동작하는 자원의 비율을 시간대별로 다르게 설정할 수 있다. 예를 들어, 관리노드(110)는 근무시간(예컨대, 09:00 ~ 18:00)에는 컴퓨터 장치들(120) 각각의 자원들에 대하여, 최대 스펙의 50% 까지 클러스터 컨테이너 자원으로 할당하고, 근무시간 이외의 시간(예컨대, 18:01 ~ 08:59)에는 컴퓨터 장치들(120) 각각의 자원들에 대하여, 최대 스펙의 80% 까지 클러스터 컨테이너 자원으로 할당할 수 있다.
단계 S135에서는, 관리노드(110)가 상기 단계 S130에서 생성한 빅데이터 클러스터(130)를 모니터링한다. 즉, 단계 S135에서는, 관리노드(110)가 빅데이터 클러스터(130)의 자원 사용량 및 여유자원을 모니터링한다.
그리고, 단계 S140에서는, 관리노드(110)가 상기 모니터링 결과에 의거하여, 빅데이터 클러스터(130)에 할당된 클러스터 컨테이너의 수를 조정한다. 단계 S140에서, 관리노드(110)는 빅데이터 클러스터(120)의 여유자원이 20% 미만인 경우 상기 할당가능리스트에 포함된 컴퓨터 장치들에게 클러스터 컨테이너의 추가 할당을 요청하되, 여유자원이 많은 순서대로 컴퓨터 장치를 선택하여 클러스터 컨테이너의 생성을 요청하고, 상기 빅데이터 클러스터의 여유자원이 50% 이상일 경우 미사용 클러스터 컨테이너 중 클러스터 컨테이너로 할당된 지 오래된 순서대로 클러스터 컨테이너 할당을 해제할 수 있다. 이 때, 해당 클러스터 컨테이너에서 수행하는 작업이 있는 경우는 그 작업이 종료된 후에 해제할 수 있다.
한편, 상기 클러스터 구축 방법은 상기 컴퓨터 장치들 각각의 여유자원을 모니터링하는 컴퓨터 장치 감시단계(미도시)를 더 포함하고, 상기 모니터링 결과에 의거하여, 상기 컴퓨터 장치의 여유자원이 20% 미만인 컴퓨터 장치의 경우 현재 할당되어 있는 클러스터 컨테이너를 해제하거나, 클러스터 컨테이너로 사용 중인 자원의 비율을 낮출 수 있다. 이 때, 해당 클러스터 컨테이너에서 수행하는 작업이 있는 경우는 그 작업이 종료된 후에 해제할 수 있다.
이상에서는 본 발명의 실시예를 설명하였으나, 본 발명의 권리범위는 이에 한정되지 아니하며 본 발명이 실시예로부터 본 발명이 속하는 기술분야에서 통상의지식을 가진 자에 의해 용이하게 변경되어 균등한 것으로 인정되는 범위의 모든 변경 및 수정을 포함한다.

Claims (10)

  1. 빅데이터 분석을 위한 클러스터 장치에 있어서,
    전체 자원 중 일부를 클러스터 컨테이너를 위한 자원으로 할당하는 다수의 컴퓨터 장치들; 및
    상기 다수의 컴퓨터 장치들 각각으로부터 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터를 생성/관리하는 관리노드를 포함하되,
    상기 컴퓨터 장치는
    자원현황정보를 상기 관리노드로 전달하고,
    상기 관리노드는
    상기 자원현황정보에 의거하여 클러스터 컨테이너 할당이 가능한 컴퓨터 장치를 선정하고, 상기 선정된 컴퓨터 장치들 및 대응된 자원현황 정보를 포함하는 할당가능 리스트를 생성하고, 상기 선정된 대상 컴퓨터 장치들 각각에 상기 빅데이터 클러스터 구성에 필요한 클러스터 컨테이너 할당 정보를 전달한 후, 상기 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터를 생성하고,
    상기 관리노드는
    상기 다수의 컴퓨터 장치들을 관리하는 노드 관리부;
    상기 빅데이터 클러스터로 입력되는 작업요청에 의거하여 작업리스트를 생성 및 관리하고, 상기 빅데이터 클러스터를 구성하는 다수의 클러스터 컨테이너들 중 작업할 클러스터 컨테이너를 선정하여 해당 작업을 지시하는 작업관리부; 및
    상기 다수의 컴퓨터 장치들 각각에 할당된 클러스터 컨테이너들 및 상기 빅데이터 클러스터의 동작 상태를 감시하는 모니터링부를 포함하되,
    상기 노드 관리부는
    상기 컴퓨터 장치들 각각에 대하여, 전체 가용 자원 중 클러스터 컨테이너로 동작하는 자원의 비율을 시간대별로 다르게 설정하는 것을 특징으로 하는 빅데이터 분석을 위한 클러스터 장치.
  2. 삭제
  3. 제1항에 있어서, 상기 노드 관리부는
    상기 컴퓨터 장치들 각각의 여유자원을 모니터링하고, 상기 모니터링 결과에 의거하여, 상기 컴퓨터 장치의 여유자원이 미리 설정된 제1 기준치 이하인 경우 상기 클러스터 컨테이너로 동작하는 자원의 비율을 낮추는 것을 특징으로 하는 빅데이터 분석을 위한 클러스터 장치.
  4. 제1항에 있어서, 상기 모니터링부는
    상기 빅데이터 클러스터의 자원 사용량 및 여유자원을 모니터링하고,
    상기 노드 관리부는
    상기 모니터링부로부터 모니터링 결과를 전달받고, 그 모니터링 결과에 의거하여 상기 빅데이터 클러스터에 할당된 클러스터 컨테이너의 수를 조정하는 것을 특징으로 하는 빅데이터 분석을 위한 클러스터 장치.
  5. 제4항에 있어서, 상기 노드 관리부는
    상기 빅데이터 클러스터의 여유자원이 미리 설정된 제2 기준치 이하인 경우, 상기 할당가능리스트에 의거하여 클러스터 컨테이너를 추가할당하고, 상기 빅데이터 클러스터의 여유자원이 미리 설정된 제3 기준치 이상인 경우, 미사용 클러스터 컨테이너 중 클러스터 컨테이너로 할당된 시간 정보에 의거하여 클러스터 컨테이너 할당을 해제하는 것을 특징으로 하는 빅데이터 분석을 위한 클러스터 장치.
  6. 빅데이터 분석을 위한 클러스터 구축 방법에 있어서,
    다수의 컴퓨터 장치들 각각으로부터 자원현황정보를 수신하는 자원현황정보 수신단계;
    상기 컴퓨터 장치들 각각의 자원현황정보에 의거하여 클러스터 컨테이너 할당이 가능한 컴퓨터 장치들 및 대응된 자원현황정보를 포함하는 할당가능리스트를 생성하는 할당가능리스트 생성단계; 및
    상기 할당가능리스트에 기초하여 가상의 빅데이터 클러스터를 생성하는 빅데이터 클러스터 생성단계를 포함하되,
    상기 빅데이터 클러스터 생성단계는
    상기 할당가능리스트에 포함된 컴퓨터 장치들 중 여유자원이 많은 순서에 의거하여 대상 컴퓨터 장치들을 선정한 후 상기 선정된 대상 컴퓨터 장치들 각각에 상기 빅데이터 클러스터 구성에 필요한 클러스터 컨테이너 할당 정보를 전달하여 클러스터 컨테이너를 할당하고, 상기 클러스터 컨테이너 할당 정보를 취합하여 가상의 빅데이터 클러스터를 생성하고,
    상기 빅데이터 클러스터 생성단계는
    상기 컴퓨터 장치들 각각에 대하여, 전체 가용 자원 중 클러스터 컨테이너로 동작하는 자원의 비율을 시간대별로 다르게 설정하는 것을 특징으로 하는 클러스터 구축 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 컴퓨터 장치들 각각의 여유자원을 모니터링하는 컴퓨터 장치 감시단계; 및
    상기 모니터링 결과에 의거하여, 상기 컴퓨터 장치의 여유자원이 미리 설정된 제1 기준치 이하인 경우 상기 클러스터 컨테이너로 동작하는 자원의 비율을 낮추는 자원할당비율조정단계를 더 포함하는 것을 특징으로 하는 빅데이터 분석을 위한 클러스터 구축 방법.
  9. 제6항에 있어서,
    상기 빅데이터 클러스터의 자원 사용량 및 여유자원을 모니터링하는 빅데이터 클러스터 감시단계; 및
    상기 모니터링 결과에 의거하여, 상기 빅데이터 클러스터에 할당된 클러스터 컨테이너의 수를 조정하는 컨테이너 수 조정단계를 더 포함하는 것을 특징으로 하는 빅데이터 분석을 위한 클러스터 구축 방법.
  10. 제9항에 있어서, 상기 컨테이너 수 조정단계는
    상기 빅데이터 클러스터의 여유자원이 미리 설정된 제2 기준치 이하인 경우, 상기 할당가능리스트에 의거하여 클러스터 컨테이너를 추가할당하고,
    상기 빅데이터 클러스터의 여유자원이 미리 설정된 제3 기준치 이상인 경우, 미사용 클러스터 컨테이너 중 클러스터 컨테이너로 할당된 시간 정보에 의거하여 클러스터 컨테이너 할당을 해제하는 것을 특징으로 하는 빅데이터 분석을 위한 클러스터 구축 방법.
KR1020200054758A 2020-05-07 2020-05-07 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치 KR102289100B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200054758A KR102289100B1 (ko) 2020-05-07 2020-05-07 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200054758A KR102289100B1 (ko) 2020-05-07 2020-05-07 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치

Publications (1)

Publication Number Publication Date
KR102289100B1 true KR102289100B1 (ko) 2021-08-11

Family

ID=77313950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200054758A KR102289100B1 (ko) 2020-05-07 2020-05-07 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치

Country Status (1)

Country Link
KR (1) KR102289100B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403992B1 (ko) 2021-10-29 2022-05-31 (주)웰데이타시스템 멀티오케스트레이터 활용한 컨테이너클러스터 서비스 시스템
CN114756347A (zh) * 2022-04-19 2022-07-15 中国联合网络通信集团有限公司 基于集群的服务器资源调度方法、装置、云平台及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956636B1 (ko) * 2007-12-07 2010-05-11 한국전자통신연구원 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
KR101540631B1 (ko) * 2012-12-28 2015-07-30 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
KR101700327B1 (ko) 2016-01-05 2017-01-26 (주)미소정보기술 빅데이터의 분석 결과를 제공하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
KR101987664B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서 복수의 클러스터 및 어플리케이션을 모니터링하는 방법
KR101987661B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서의 클러스터 리소스 할당 및 관리 방법
KR20190070659A (ko) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
KR20190109795A (ko) * 2018-03-19 2019-09-27 고려대학교 산학협력단 유휴 컴퓨팅 자원을 이용한 클러스터 구축 장치 및 방법, 상기 방법을 수행하기 위한 저장 매체

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956636B1 (ko) * 2007-12-07 2010-05-11 한국전자통신연구원 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
KR101540631B1 (ko) * 2012-12-28 2015-07-30 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
KR101700327B1 (ko) 2016-01-05 2017-01-26 (주)미소정보기술 빅데이터의 분석 결과를 제공하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
KR20190070659A (ko) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
KR20190109795A (ko) * 2018-03-19 2019-09-27 고려대학교 산학협력단 유휴 컴퓨팅 자원을 이용한 클러스터 구축 장치 및 방법, 상기 방법을 수행하기 위한 저장 매체
KR101987664B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서 복수의 클러스터 및 어플리케이션을 모니터링하는 방법
KR101987661B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서의 클러스터 리소스 할당 및 관리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403992B1 (ko) 2021-10-29 2022-05-31 (주)웰데이타시스템 멀티오케스트레이터 활용한 컨테이너클러스터 서비스 시스템
CN114756347A (zh) * 2022-04-19 2022-07-15 中国联合网络通信集团有限公司 基于集群的服务器资源调度方法、装置、云平台及介质

Similar Documents

Publication Publication Date Title
CN101593134B (zh) 虚拟机cpu资源分配方法和装置
KR100985619B1 (ko) 그리드 시스템 자원의 온-디맨드 제어를 위한 장치, 시스템 및 방법
KR100956636B1 (ko) 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
US8191068B2 (en) Resource management system, resource information providing method and program
CN113364850B (zh) 软件定义云边协同网络能耗优化方法和系统
JP2003124976A (ja) 計算機資源割当方法
KR101113943B1 (ko) 워크로드 관리 방법과 장치 및 이를 이용한 분산 컴퓨팅 시스템
KR102289100B1 (ko) 빅데이터 분석을 위한 컨테이너 기반의 클러스터 구축 방법 및 클러스터 장치
CN110597639B (zh) Cpu分配控制方法、装置、服务器及存储介质
CN105159775A (zh) 基于负载均衡器的云计算数据中心的管理系统和管理方法
US20060200469A1 (en) Global session identifiers in a multi-node system
CN101321181A (zh) 基于模糊控制的分布式服务流程引擎管理系统
CN105024842A (zh) 服务器的扩容方法及装置
CN109085999A (zh) 数据处理方法及处理系统
KR20110083084A (ko) 가상화를 이용한 서버 운영 장치 및 방법
WO2016095524A1 (zh) 资源分配方法及装置
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
KR100618159B1 (ko) 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법
KR101671119B1 (ko) 클라우드 컴퓨팅 시스템의 자원 관리 방법
CN105046393B (zh) 基于云计算的交通资源管理系统
JP5351839B2 (ja) オーダ処理方法、プログラムおよびネットワークシステム
TW200838215A (en) System device utilizing policy to manage network service
CN110247855B (zh) 数据交换方法、客户端及服务器
JP2014219859A (ja) 分散処理システムおよび分散処理方法
DE202021102315U1 (de) Flexibles Computing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant