Apache Flume 튜토리얼 : Twitter 데이터 스트리밍



이 Apache Flume 튜토리얼 블로그에서는 Apache Flume의 기본 사항과 기능을 설명합니다. 또한 Apache Flume을 사용하는 Twitter 스트리밍을 선보일 예정입니다.

이 Apache Flume 튜토리얼 블로그에서는 Flume이 다양한 소스에서 데이터를 스트리밍하는 데 어떻게 도움이되는지 이해할 것입니다. 하지만 그 전에 데이터 수집의 중요성을 이해하겠습니다. 데이터 수집은 데이터를 처리 및 분석 한 다음 데이터에서 비즈니스 가치를 도출하기위한 초기이자 중요한 단계입니다. 조직에서 데이터를 수집하는 여러 소스가 있습니다.

Flume이 인기를 얻게 된 또 다른 중요한 이유에 대해 이야기하겠습니다. 나는 당신이 익숙 할 수 있기를 바랍니다 , 모든 종류의 데이터를 저장할 수있어 업계에서 엄청나게 사용되고 있습니다. Flume은 Hadoop과 쉽게 통합 할 수 있으며 HDFS에서 비정형 데이터 및 반 정형 데이터를 덤프하여 Hadoop의 성능을 보완 할 수 있습니다. 이것이 Apache Flume이 Hadoop 생태계의 중요한 부분 인 이유입니다.





이 Apache Flume 튜토리얼 블로그에서는 다음 내용을 다룰 것입니다.



Apache Flume이 무엇인지에 대해 논의하면서이 Flume 튜토리얼을 시작할 것입니다. 그런 다음 계속해서 Flume 사용의 장점을 이해할 것입니다.

Apache Flume 튜토리얼 : Apache Flume 소개

Apache Flume 로고-Apache Flume 튜토리얼-EdurekaApache Flume은 HDFS에서 데이터 수집을위한 도구입니다. 네트워크 트래픽, 소셜 미디어, 이메일 메시지 등과 같은 다양한 소스에서 로그 파일, 이벤트와 같은 대량의 스트리밍 데이터를 수집, 집계 및 전송하여 HDFS로 전송합니다.Flume은 매우 안정적이고 분산되어 있습니다.

Flume 디자인의 기본 아이디어는 다양한 웹 서버에서 HDFS로 스트리밍 데이터를 캡처하는 것입니다. 스트리밍 데이터 흐름을 기반으로하는 간단하고 유연한 아키텍처입니다. 내결함성이며 내결함성 및 장애 복구를위한 신뢰성 메커니즘을 제공합니다.



Flume이 무엇인지 이해했으면 이제 Flume Tutorial 블로그로 넘어 가서 Apache Flume의 이점을 이해하겠습니다. 그런 다음 계속해서 Flume의 아키텍처를 살펴보고 기본적으로 어떻게 작동하는지 이해하려고 노력할 것입니다.

SQL Server 예제의 하위 문자열

Apache Flume 튜토리얼 : Apache Flume의 장점

Apache Flume에는 몇 가지 장점이있어 다른 것보다 더 나은 선택입니다. 장점은 다음과 같습니다.

  • Flume은 확장 가능하고 안정적이며 내결함성이 있으며 다양한 소스 및 싱크에 맞게 사용자 정의 할 수 있습니다.
  • Apache Flume은 HBase 및 HDFS와 같은 중앙 집중식 저장소 (즉, 단일 저장소에서 데이터가 제공됨)에 데이터를 저장할 수 있습니다.
  • Flume은 수평 확장이 가능합니다.
  • 읽기 속도가 쓰기 속도를 초과하면 Flume은 읽기와 쓰기 작업 사이에 일정한 데이터 흐름을 제공합니다.
  • Flume은 안정적인 메시지 전달을 제공합니다. Flume의 트랜잭션은 각 메시지에 대해 두 개의 트랜잭션 (하나의 발신자 및 하나의 수신자)이 유지되는 채널 기반입니다.
  • Flume을 사용하면 여러 서버의 데이터를 Hadoop으로 수집 할 수 있습니다.
  • 신뢰할 수 있고 배포 된 솔루션을 제공하며 Facebook, Twitter 및 전자 상거래 웹 사이트와 같은 많은 양의 데이터 세트를 수집, 집계 및 이동하는 데 도움이됩니다.
  • HDFS에서 네트워크 트래픽, 소셜 미디어, 이메일 메시지, 로그 파일 등과 같은 다양한 소스에서 온라인 스트리밍 데이터를 수집하는 데 도움이됩니다.
  • 다양한 소스 및 대상 유형을 지원합니다.

아키텍처는 Apache Flume에 이러한 이점을 제공하는 것입니다. 이제 Apache Flume의 장점을 알고 있으므로 Apache Flume 아키텍처를 이해하겠습니다.

Apache Flume 튜토리얼 : Flume 아키텍처

이제 아래 다이어그램에서 Flume의 아키텍처를 이해하겠습니다.

다양한 데이터 소스에서 HDFS로 스트리밍 데이터를 수집하는 Flume 에이전트가 있습니다. 다이어그램에서 웹 서버가 데이터 소스를 표시한다는 것을 쉽게 이해할 수 있습니다. Twitter는 스트리밍 데이터의 유명한 소스 중 하나입니다.

수로 에이전트에는 소스, 싱크 및 채널의 세 가지 구성 요소가 있습니다.

    1. 출처 : 들어오는 유선에서 데이터를 받아 채널에 데이터를 저장합니다.
    2. 채널 : 일반적으로 읽기 속도가 쓰기 속도보다 빠릅니다. 따라서 읽기 및 쓰기 속도 차이를 맞추기 위해 버퍼가 필요합니다. 기본적으로 버퍼는 일시적으로 전송되는 데이터를 저장하는 중간 저장소 역할을하여 데이터 손실을 방지합니다. 마찬가지로 채널은 HDFS의 데이터 소스와 영구 데이터 간의 로컬 저장소 또는 임시 저장소 역할을합니다.
    3. 싱크대 : 그런 다음 마지막 구성 요소 인 Sink는 채널에서 데이터를 수집하고 HDFS에 데이터를 영구적으로 커밋하거나 씁니다.

이제 Apache Flume의 작동 방식을 알았으므로 Twitter 데이터를 싱크하고 HDFS에 저장하는 실용적인 방법을 살펴 보겠습니다.

Apache Flume 튜토리얼 : Twitter 데이터 스트리밍

이 실습에서는 Flume을 사용하여 Twitter에서 데이터를 스트리밍 한 다음 아래 이미지와 같이 데이터를 HDFS에 저장합니다.

첫 번째 단계는 Twitter 애플리케이션을 만드는 것입니다. 이를 위해 먼저 다음 URL로 이동해야합니다. https://apps.twitter.com/ Twitter 계정에 로그인합니다. 아래 이미지와 같이 응용 프로그램 탭 만들기로 이동하십시오.

그런 다음 아래 이미지와 같이 응용 프로그램을 만듭니다.

이 응용 프로그램을 만든 후 키 및 액세스 토큰을 찾을 수 있습니다. 키와 액세스 토큰을 복사합니다. 이 애플리케이션에 연결하기 위해 Flume 구성 파일에 이러한 토큰을 전달합니다.

이제 아래 이미지와 같이 flume의 루트 디렉토리에 flume.conf 파일을 만듭니다. 앞서 설명한대로 Flume의 아키텍처에서 소스, 싱크 및 채널을 구성합니다. 소스는 데이터를 스트리밍하는 Twitter이고 Sink는 데이터를 쓰는 HDFS입니다.

소스 구성에서 Twitter 소스 유형을 다음과 같이 전달합니다. org.apache.flume.source.twitter.TwitterSource. 그런 다음 트위터에서받은 4 개의 토큰을 모두 전달합니다. 마지막으로 소스 구성에서 트윗을 가져올 키워드를 전달합니다.

싱크 구성에서 HDFS 속성을 구성 할 것입니다. HDFS 경로, 쓰기 형식, 파일 유형, 배치 크기 등을 설정합니다. 마지막으로 아래 이미지와 같이 메모리 채널을 설정합니다.

이제 우리는 모두 실행할 준비가되었습니다. 계속해서 다음 명령을 실행 해 보겠습니다.

$ FLUME_HOME / bin / flume-ng 에이전트 --conf ./conf/ -f $ FLUME_HOME / flume.conf

이 명령을 잠시 실행 한 후 CTRL + C를 사용하여 터미널을 종료 할 수 있습니다. 그런 다음 Hadoop 디렉토리에서 파일이 생성되었는지 여부에 관계없이 언급 된 경로를 확인할 수 있습니다.

자바에서 stringbuffer를 사용하는 방법

파일을 다운로드하고 엽니 다. 아래 이미지와 같은 것을 얻을 수 있습니다.

이 블로그가 유익하고 가치가 있기를 바랍니다. 더 많은 것을 배우고 싶다면이 과정을 통해 빅 데이터에 대해 설명하고 Hadoop이 빅 데이터와 관련된 문제를 어떻게 해결하는지 알려줍니다.

이제 Apache Flume을 이해 했으므로 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka BigData Hadoop 인증 교육 과정은 학습자가 소매, 소셜 미디어, 항공, 관광, 금융 도메인에서 실시간 사용 사례를 사용하여 HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume 및 Sqoop의 전문가가 될 수 있도록 도와줍니다.

질문이 있으십니까? 의견란에 언급 해 주시면 연락 드리겠습니다.