대규모 데이터 처리의 개발 경험

출처: 인터넷
작성자: 사용자
키워드: 수 있습니다 매우 매우 큰 데이터를 응용 프로그램을

큰 데이터는 실제 개발 및 건축 과정에서 새로운 주제가 없는 최적화 및 대용량 데이터 처리를 위해 조정 하는 방법 이며 중요 한 주제, 최근, 컨설턴트 Fabiane Nardon 페르난도 Babadopulos "자바 magzine"에 뉴스 레터 전자 저널에 자신의 경험을 공유합니다.

저자는 먼저 큰 데이터 혁명의 중요성을 강조:

큰 데이터 혁명 진행 중 이며 참여 하는 시간 이다. 기업에 의해 생성 되는 데이터의 양을 매일 증가 하 고 새로운 정보를 다시 사용할 수 있는 일반적인 데이터 집합은 또한 널리 이용 된다. 작은, 온디맨드 클라우드 컴퓨팅 포트폴리오와 결합, 무한 한 가능성의 새로운 세계에 있습니다. 구름에 큰 데이터 기술의 힘을 활용 하 여 많은 파괴적인 응용 프로그램 나타날 것입니다 상상 하기 어렵지 않다 컴퓨팅. 많은 신흥 회사는 지금 충분 한 재정 지원을 몇 년 전 실패 한 새로운 흥미로운 애플 리 케이 션을 제공 합니다. 자바 개발자로 서 우리는 가장 인기 있는 데이터 도구 많은 자바 기반 이기 때문에 완전히이 혁명에 참여 할 수 있다. 그러나, 호스팅 비용 통제를 유지 하면서 진정으로 확장 가능 하 고 강력한 응용 프로그램을 구축, 우리 도구를 사용할 수의 무수 한에서 분실 하지 않으려고 노력 하는 동안 아키텍처를 재검토 해야 합니다.

이 문서에서는 Apache Hadoop, 수 있는 프레임 워크 배포 큰 데이터 집합의 처리 그리고 가장 잘 알려진 중 하나가 될 수 있습니다 이러한 도구. 강력한 mapreduce 구현 및 신뢰할 수 있는 분산 파일 시스템-hadoop 분산 파일 시스템 (HDFS)를 제공 하는 큰 데이터 도구 생태계 Hadoop, 다음을 포함 하 여에 만들어집니다.

아파치 HBase는 큰 테이블에 대 한 분산된 데이터베이스입니다.

아파치 하이브 HDFs에 저장 된 데이터에서 임시 SQL과 유사한 쿼리를 허용 하는 데이터 웨어하우스의 인프라입니다.

아파치 돼지는 mapreduce 프로그램을 만들기 위한 고급 플랫폼입니다.

Apache Mahout 기계 학습 및 데이터 마이닝 라이브러리 이다.

아파치 위기와 계단식 mapreduce 파이프라인을 생성 하는 데 사용 되는 프레임 워크는.

이러한 도구는 강력한, 그들은 또한 많은 오버 헤드를 추가 하 고 매우 큰 데이터 집합 않으면, 당신이 그 비용을 상쇄 수 없습니다. 예를 들어 하나의 행 파일 등 아주 작은 데이터 집합에는 문서에 제공 된 코드 예제 실행을 시도할 수 있습니다. 처리 시간 예상 보다 훨씬 더 긴 것을 볼 것 이다. 만약 당신이 정말 문제가 큰 데이터 어떻게 확인할 수 있습니까? 문서는 고정된 데이터는, 거기 데이터를 충분히 큰 경우 결정 하는 데 도움이 사용할 수 있는 몇 가지 지표는 지적:

모든 데이터 의미 해야 허용 시간 범위 내에서 데이터를 처리 하는 서버 클러스터는 단일 컴퓨터에서 실행을 위해 적당 하다.

당신이 다루고 있는 무엇의 대부분은 테라바이트 보다는 기가바이트의 데이터.

작업 중인 데이터의 양을 계속 성장 하 고 1 년에 한 번에 의해 증가 시킬 수 있습니다.

정말 큰 데이터의 경우 것 들 간단 하 게. Grep 이나 데이터를 처리 하는 awk 등 간단한 도구로 전통적인 Java 응용 프로그램 시간과 비용을 저장할 수 있습니다.

저자는 Hadoop을 사용 하 여 데이터 집합을 분석 하려는 경우 당신이 데이터 증가 함에 따라 성능 병목 현상을 피하기 위해 원할 것입니다 스트레스. 많은 구성 Hadoop 클러스터에 튜닝을 적용할 수 있습니다. 있습니다 그리고 경우 응용 프로그램이 필요한 만큼 신속 하 게 데이터를 처리 하지 않습니다, 당신은 항상 더 많은 노드를 추가할 수 있습니다. 그러나 명심, 아무것도 큰 데이터 응용 프로그램에 큰 영향을가지고 자신의 코드 보다 더 효율적입니다.

대규모 데이터 처리 응용 프로그램을 구현할 때의 보통 실행 된 수백만 또는 10 억 사이클을 처리 당 번의 코드가입니다. 예를 들어, 10 GB 로그 파일을 처리 해야 하 고 각 줄은 500 바이트 길이 고려 하십시오. 파일의 각 행을 분석 하는 코드는 20 백만 번 실행 됩니다. 만약 10 마이크로초가 3.3 분 동안 빨리 파일을 처리 하는 프로세스를 만들 것입니다, 빠른 각 줄을 처리 하기 위해 코드를 얻을 수 있습니다. 매일, 10GB의 파일을 많이 처리 해야 할 수 있습니다 때문에 시간이 지남에 그 분 자원 및 시간에 상당한 이점을 표시 됩니다.

교훈은 여기 모든 마이크로초 중요 하다는 것입니다. 캐싱 가능한, 불필요 한 개체 인스턴스화를 방지, 효율적인 문자열 조작, 사용 및 당신이 당신의 자바 프로그래밍 기술을 생산할 수 있는 가장 효율적인 코드를 생성 하는 사용, 당신의 문제에 대 한 가장 빠른 자바 데이터 구조를 선택 합니다.

효율적인 코드 생산 뿐만 아니라 Hadoop이 어떻게 작동 하는지 이해 일반적인 실수를 피하는 것이 중요입니다.

구름에 큰 데이터 응용 프로그램을 배포 많은 이점이 있다. 데이터 증가의 볼륨으로 필요에 따라 더 많은 기계를 구입 하 고 수 있는 스파이크에 대 한 준비는 기사는 지적 한다. 그러나, 비용이 많이 드는 확장 없이 클라우드 서비스를 사용 하려는 경우 응용 프로그램을 구축 하기 전에 당신의 마음에 클라우드 플랫폼의 특성을 고려 해야 합니다. 첫째, 더 효율적인 코드는 적은 처리 시간 또는 더 적은 호스팅 비용을 의미합니다. 클러스터에 새 노드를 추가할 때마다 더 비용, 그래서 그것은 코드를 최대한 효율적으로 작동 하는지 확인 하는 좋은 아이디어를 추가 하 고 있습니다.

클라우드에 대용량 데이터 응용 프로그램을 배포할 때 공유-무료 스키마를 사용 하 여 중요 하다. 공유 전용 아키텍처는 기본적으로 하나의 컴퓨터만 네트워크에 의해 연결 되 고 어떤 디스크 또는 메모리를 공유 하지 않습니다. 이 때문에 디스크 액세스 또는 다른 프로세스의 존재에서 경쟁 때문에 병목 현상 되지 것입니다 때문에이 아키텍처는 매우 확장. 각 컴퓨터 계정에 모든 작업을, 기계는 독립적이 고 자 급 자족.

Hadoop의 결함 허용 기능 탐험의 가능성을 열고, 심지어 싼 클라우드 시스템 제공할 수 있습니다. 아마존 자리 (손실 될 수도 있습니다 기계 가격이 입찰가 보다 높은 경우)의 예. 이 기계를 사용 하 여 Tasktracker를 실행 하는 경우 예를 들어 Hadoop 작업 중인 하나 이상의 노드를 잃 었 감지 하기 때문에 언제 든 지 기계를 잃고 감당할 수 있는 그리고 그것 다른 노드에서 작업을 다시 실행 됩니다.

사실, 많은 큰 데이터 응용 프로그램에서는 데이터의 작은 금액을 잃게 하도 허용입니다. 통계 처리를 하는 경우 처리 되지 않습니다 작은 데이터 집합 최종 결과 영향을 주지 않을 수 있습니다 하 고 아키텍처를 만들 때 당신의 장점으로 사용할 수 있습니다 일반적입니다.

호스트 응용 프로그램을 클라우드에서 Hadoop을 지 원하는 서비스를 사용할 수 있습니다. 아마존 EMR이이 서비스의 좋은 예입니다. Hadoop을 사용 하 여 관리 되는 서비스 설치 및 Hadoop 클러스터를 유지 관리의 부담을 완화 것입니다. 그러나, 더 많은 융통성이 필요한 경우 구름에서 Hadoop 솔루션을 또한 설치할 수 있습니다.

문서 포인트는 Hadoop을 사용 하 여 구름에서의 또 다른 이점은, 작업의 동작을 모니터링할 수 있습니다 및 있습니다 수 자동으로 노드 추가 또는 제거 작업은 실행 하는 경우에 필요에 따라. Hadoop의 고장 자연 하면 모든 계속 작동 합니다. 여기 트릭은 마스터 노드는 IP 주소 범위를 허용 하도록 미리 구성 됩니다. 이것은 Hadoop 설치 디렉토리에 conf/노예 파일을 통해 이루어집니다. 이 구성으로 미리 구성 된 IP 주소에서 새 노드를 설정할 수 있습니다 그리고 그것은 자동으로 클러스터에 가입 됩니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.