-
[산대특] Cloud 1 이론, GitHub, ownCloud, Haddop[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정/Cloud 2024. 10. 28. 18:23
1028
Cloud
웹상에 데이터를 저장하는 Web Hard
웹상의 데이터베이스에 데이터나 각종 응용 프로그램, 서버 등을 저장하는 구조와 Cloud는 개념상 서로 다르다.
클라우드는 모든 호스트들데이터가 자동으로 동기화 =>보안이 매우 중요
유료 클라우드 컴퓨팅인 Amazon AWS, Microsoft Azure, Google GCP(Google Cloud Platform)
그리고 IBM, KT, Naver
=>IT 리소스를 인터넷을 통해서 온-디맨드(On-Demand) 방식으로 제공
=> 사용한 만큼만 비용을 지불하는 방식
사설 클라우드(Private Cloud)와 공개형 클라우드(Public Cloud), 혼합형 클라우드(Hybrid Cloud)로 분류
클라우드 서비스는 3가지로 나뉨
소프트웨어를 웹에서 쓸 수 있는 SaaS(Software as a Service, 서비스로서의 소프트웨어) <= like VDI
IT 인프라 하드웨어 장비를 빌려주는 IaaS(Infrastructure as a Service, 서비스로서의 하드웨어) <= like IDC center
개발용 플랫폼을 빌려주는 PaaS(Platform as a Service, 서비스로서의 실행 플랫폼)
=>클라우드에는
▪ GitHub, ownCloud, Hadoop
▪ AWS(Amazon Web Service), MS Azure, GCP(Google Cloud Platform), IBM -> on-demand로 상용
등이 있다.
=>가상화에는
▪ MS Hyper-V(WinSer), Linux KVM, VMware(VMware), VirtualBox(Oracle), VirtualPC(MS)
▪ Citrix의 XenServer, VMware의 VSphere 등은 서버용 가상머신 생성이 있다.
=>가상머신과 컨테이너의 차이점은 => 구조가 다르다.
=>가상머신과 컨테이너의 공통점
=> 가상머신이라는 것, 복사(Clone)/이동/삭제가 용이, 물리적(하드웨어적) 시스템이 필요 X
=>가상머신과 컨테이너의 극명한 차이는
=>자체적으로 저장.
=>주로 운영체제만 설치하고, 그 위에 개별 API를 설치.
MS Word, NginX만 단독으로 설치할 수 없다.=>외부 Host 머신의 HDD에 저장.
=> 각 가상머신 이미지는 CPU의 한 Process에 불다. 시스템에 별로 부담을 주지 않는다.
=> 개별 API도 OS 없이 이미지로 단독으로 설치 운영이 가능
언제 어디서나 웹 브라우저를 통해서 Office API를 이용하게 하는 VDI 기법이 적용GitHub
원래는 개발자들의 공동 프로젝트 작업을 수행할 때 프로젝트 버전 관리 도구.
Git의 특성을 이용해 로컬에 Git 리포지터리(repository: 저장소)를 만들고
각 노드들이 파일을 업로드 하거나 하면 Git 서버가 파일의 변경을 추적해
다른 사용자들에게 알려서 업데이트 시켜주는 등의 역할을 하게 하여 용도가 확장됨.
OneNote, Google Drive, Naver Drive 등과 동기화하여 사용가능
Git에서의 일반적인 작업 순서
① 'git add 파일_명' => 올릴 파일을 인덱싱
② 'git commit -m 코멘트 (버전 정보)' => 파일에 정보를 코멘트로 등록
③ 'git push origin master(서버)' => 로컬에서 인덱싱된 파일들을 웹상의 Git master로 올림
④ 'git fetch/get local' => 웹상의 데이터를 로컬로 가져오기
Git에서 자주 사용되는 명령어
add (인덱스/인덱싱) 로컬 자료를 웹으로 올리기 위해서 파일을 추가 comment 해당 파일의 버전이나 코멘트 commit 변경이 실행되게 해주는 execute와 같은 역할 push (upload) 로컬에서 메인 master 브랜치로 자료를 올릴 때 사용 master 웹상의 Git에 있는 메인 master 브랜치 origin 웹상의 Git의 메인 master 브랜치 웹 주소(alias) pull (download) 메인 master 브랜치에서 로컬로 자료를 가져올 때 사용 merge 여러 로컬의 브랜치들을 합치는 기능을 수행 fetch/get (download) 여러 브랜치에 흩어져 있는 자료들을 merge 해서 가져오기 ownCloud 서버
로컬 호스트 중 하나에 데이터 리포지터리를 설정
로컬 클라이언트들이 편리하게 데이터를 업/다운 받게 해주는 => 로컬 형상 서버의 역할로 많이 사용.
GitHub보다 Cloud 역할을 더 잘 수행
Hadoop 서버
클라우드에서 사용, Hadoop은 하둡 분산파일 시스템(HDFS: Hadoop Distributed File System)을 사용해
데이터를 빠르게 저장하고 사용하게 해준다.
Hadoop과 관련된 여러 부가적인 서비스들을 묶어 => Hadoop EcoSystem
ZooKeeper, Avro, Chukwa, Flume, Pig, Hive, Hbase, Sqoop, Impala, Woozie 등
=>하둡과 같이 움직이는 애들 눈에 익혀두기
Hadoop 네트워크의 구조,분산 파일 시스템(DFS)
like CDN(Contents Delivery Network)
실제 데이터를 저장 Data Node(client)
=> Name 보다 많은 저장 공간, 클라우드에서 Docker Image Container와 같은 역할
통제하는 Name Node(server)로 구성 => 클라우드에서 Kubernetes와 같은 역할
Java 프로그래밍 기반, 데이터는 <키:값>의 Json 포맷으로 저장
MapReduce 과정을 통해서 데이터가 처리
=> map 과정, 각 데이터에서 키를 따로 묶고
=> reduce 과정, 해당 키에 따른 적절한 값으로 매핑해서 묶는 과정
map 과정이 끝난 뒤에야 reduce 과정이 실행
▪ Master가 NameNode이고 TaskTracker(MapReduce 작업 요청)를 수행
▪ Slave가 DataNode이고 JobTracker(MapReduce 작업 추적)를 수행
▪ SecondaryNameNode는 마스터 NameNode의 로그를 가지고 있다가 Name Node에 문제가 생기면 복원.
백업X(보조 느낌)
SINGLE MODE HADOOP
하나의 머신이 모든 기능(name node, data node, ..등)을 다 해주는 싱글모드
MULTI MODE HADOOP
여러 data node 머신이 참여하는 멀티모드
Hadoop 패키지는 효율면에서 1.0대가 좋다.
'[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정 > Cloud' 카테고리의 다른 글
[산대특] Docker backup/restore, export/import, 이벤트, Dockerfile, Multi-Stage, Express, Node.js, React, Flask, (3) 2024.11.05 [산대특] Docker Daemon, Engine, Server, Client, Dangling Image (0) 2024.11.01 [산대특] Docker Layer, Volume, Network (0) 2024.10.31 [산대특] Docker와 Kubernetes (2) 2024.10.30 [산대특] Hadoop, ganglia, grids (4) 2024.10.29