Big Data/Hadoop: 7개의 글
Hadoop HDFS에서 디렉토리별 사용량 체크를 하는 방법 HDFS를 사용하다보면 directory 별로 디스크 사용량 체크가 필요하다. 아래와 같이 Permission denied 에러가 발생할것이다. 그 이유는 ROOT의 사용량 조회를 일반 유저 아이디로는 조회가 불가능하기 때문이다. 루트를 포함해 디스크 용량을 확인하기 위해서는 모든 키를 갖고 있는 HDFS 유저로 조회를 하면 된다. du: Permission denied: user=icecream, access=READ_EXECUTE, inode="/user/hue/.Trash":hue:hue:drwx------ ``` sudo -u hdfs hdfs dfs -du -s | sort -r -k 1 -g | awk '{ suffix="KMGT";..
하둡(Hadoop)에서 데이터 복사하는 방법 HDFS에서 데이터를 복사하는 방법은 아주 다양하다. 하지만 효율적으로 데이터를 복사하는게 중요하다 데이터를 복사하는 다양한 방법 일단 데이터를 복사하는 방법은 다양하다 로컬 클러스터 아래 속성을 통해서 로컬에 있는 데이터를, 클러스터에 있는 데이터를 옮길 수 있다. copyToLocal put get 클러스터 클러스터 클러스터간에 데이터를 옮기기 위해서는 아래와 같이 하면 된다. 클러스터 -> 로컬 -> 클러스터 과연 이렇게 하는 사람이 있을까 싶지만, 이렇게 하는 사람을 내가 보았음 클러스터 -> 클러스터 로 데이터를 옮기는 방법은 한가지가 아니다. cp distcp 두 가지 방법의 차이를 알지 못한다면, 작업에 엄청난 문제가 생길 것이다. 만약 distc..
Hadoop Cluster? 노드(node)는 하나의 컴퓨터를 말합니다. 이처럼 30~40개의 노드가 모여 하나의 rack을 구성합니다. rack은 물리적으로 같은 network의 switch에 모두 연결이 되어 있습니다. 그렇기 때문에 두 노드의 badnwidth는 다른 rack에 있는 노드보다 크게 됩니다. 즉, 데이터의 이동을 할 수 있는 폭이 크기 때문에 데이터의 속도가 빠른것을 알 수 있습니다. rack이 모여서 하나의 Hadoop Cluster를 구축하게 됩니다. 이처럼 network의 다른 switch에 연결되어 있는 rack으로 인해 어떤 성능 저하가 나타는지 추후에 알아보도록 하겠습니다. Hadoop의 주요한 컴포넌트는 HDFS와 MapReduce가 있습니다. HDFS(Hadoop Dis..
들어가며 우리에게 주어진 데이터가 1GB라고 생각해보자, 1GB의 크기를 갖는 데이터를 관계형 데이터베이스에 저장을 하고, 데이터를 처리하는데는 큰 어려움이 없을 것입니다. 하지만 데이터의 크기가 10GB, 100GB로 증가한다고 생각하면, 우리가 갖고 있는 컴퓨터의 성능을 업데이트를 해야 합니다. 하지만 만약 1TB, 10TB, 100TB로 데이터의 크기가 커진다면 어떻게 해야할까요? 그렇게 된다면 우리는 여러 컴퓨터를 이용해 분산으로 처리하는 방법을 사용해야 합니다. 하루에 처리할 내용을 몇시간에 처리하는게 일하는데 더 효율적이니 분산으로 처리하는게 좋을것 같습니다. 그렇다면 데이터가 어떻게 갑자기 늘어났을까요? 최근 스마트폰이 등장하면서 Facebook, Twitter, RFID readers, s..
Yarn? Hadoop 1.0에서는 JobTracker가 클러스터의 자원 배분과 Job관리를 함께 수행했기 때문에 JobTracker에서 병목현상이 일어났다. JobTracker가 하던 두 가지 역할-자원관리를 Resource Manager와 Application Master로 분리해서 JobTracker에 몰리던 병목을 제거했습니다. Resource Management, Scheduling/Monitoring을 구분하는 daemon의 기능을 분할하였습니다. global하게 ResourceManager, per-application ApplicationManager를 두자라는 아이디어에서 부터 시작했습니다. 범용 컴퓨팅 클러스터가 가능 (MapReduce)외에도 다양한 어플리케이션을 실행할 수 있으며, ..
High-Availability Distributed Object-Oriented Platform 깃허브: https://github.com/apache/hadoop 1. 하둡이란? 대용량 자료를 처리할 수 있는 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 오픈소스 자바 프레임워크 분산 데이터 처리 기술: 큰 용량의 단일 서버보다 여러 서버의 작은 용량을 묶은 컴퓨터 클러스터가 가성비가 더 좋다. 하둡의 핵심 철학: 코드(가벼움)를 데이터(무거움)가 있는 곳으로 보낸다. 레이드와 하둡 레이드시스템은 디스크는 여러개, OS도 1개, CPU1개. 10펙타바이트를 처리할때 OS와 CPU가 죽어난다(매우 느림) 하둡은 디스크도 여러개, OS도 여러개, CPU도 여러개. 10펙타바이트를 처리할때 분..
먼저 클라우데라를 소개하면 - 하둡 기반 빅데이터 벤처기업의 대표적인 선두주자로 야후, 오라클, 출신 등의 사람들에 의해 2008년 설립 - 여기서 만든 CDH라는 하둡 배포판이 아파치 파운데이션이 만든 아파치 하둡 배포판보다 훨씬 더 많이 사용됨 하둡은 - 대용량 자료를 처리할 수 있는 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 오픈소스 자바 프레임워크 - 하둡은 크게 분산 저장과 병렬 처리, 2개의 프레임워크로 구성 - 분산 저장은 클러스터 환경에서 대용량 데이터를 분산하여 안정적으로 저장하는 프레임워크 - 병렬 처리는 저장 환경 위에서 병렬로 데이터 Processing하는 프레임워크 - 여러 대의 컴퓨터를 모아 디스크를 묶어서 쓸 수 있게 하는 분산 저장소와, CPU를 동시에 쓸 수..