개인 재정 HDFS에서 Flume이있는 로그 데이터

HDFS에서 Flume이있는 로그 데이터

비디오: hdfs -fs -lsr -rmr -du [하둡 동영상 강의] 2024

비디오: hdfs -fs -lsr -rmr -du [하둡 동영상 강의] 2024
Anonim

Hadoop 분산 파일 시스템 (HDFS)에서 끝나는 일부 데이터는 데이터베이스로드 작업 또는 다른 유형의 배치 프로세스를 통해 거기에 착륙 할 수 있습니다. 응용 프로그램 로그 데이터와 같이 처리량이 많은 데이터 스트림에서 흐르는 데이터를 캡처하려면? Apache Flume은이를 쉽고 효율적이며 안전하게 수행하기위한 현재의 표준 방법입니다.

아파치 소프트웨어 재단 (Apache Software Foundation)의 또 다른 최상위 프로젝트 인 Apache Flume 는 대량의 스트리밍 데이터를 서로 다른 소스에서 중앙 집중식 데이터 저장소로 모으고 이동시키는 분산 시스템입니다.

events ; 이벤트의 예는 로그 레코드입니다. Humeop 클러스터에서 Flume이 작동하는 방식을 이해하려면 Flume이 하나 이상의 에이전트로 실행되며 각 에이전트에는 소스, 채널 및 싱크의 세 가지 플러그 가능 구성 요소가 있음을 알아야합니다.

-

소스
  • 는 데이터를 검색하여 채널로 보냅니다. 채널

  • 은 데이터 대기열을 유지하고 소스와 싱크 사이의 도관 역할을합니다. 이는 들어오는 유속이 나가는 유속을 초과 할 때 유용합니다. 싱크

  • 는 채널에서 가져온 데이터를 처리하여 HDFS와 같은 대상으로 전달합니다.

에이전트에는 실행할 각 구성 요소 중 적어도 하나가 있어야하며 각 에이전트는 JVM (Java Virtual Machine)의 자체 인스턴스 내에 포함됩니다. 소스에 의해 채널에 기록 된 이벤트는 싱크가 트랜잭션을 통해이를 제거 할 때까지 해당 채널에서 제거되지 않습니다. 네트워크 장애가 발생하면 채널은 싱크가 클러스터에 이벤트를 쓸 수있을 때까지 이벤트를 대기 상태로 유지합니다. 메모리 내 채널은 이벤트를 신속하게 처리 할 수 ​​있지만 휘발성이어서 복구 할 수 없지만 파일 기반 채널은 지속성을 제공하고 장애 발생시 복구 할 수 있습니다.

각 에이전트는 여러 소스, 채널 및 싱크를 가질 수 있지만 소스가 많은 채널에 쓸 수는 있지만 싱크는 하나의 채널에서만 데이터를 가져올 수 있습니다.

에이전트는 Flume을 실행하는 JVM 일 뿐이며 Hadoop 클러스터의 각

에이전트 노드

에 대한 싱크는 컬렉터 노드 에 데이터를 보내고 전에 많은 에이전트의 데이터를 집계합니다 그것을 다른 Hadoop 도구로 분석 할 수있는 HDFS에 기록합니다. 한 에이전트의 싱크가 다른 에이전트로부터 소스로 데이터를 보내도록 에이전트를 함께 연결할 수 있습니다.아파치의 원격 호출 및 직렬화 프레임 워크 인 Avro는 데이터를 효율적인 바이너리 형식으로 효율적으로 직렬화하거나 변환하기위한 유용한 도구로 사용되기 때문에 Flume을 사용하여 네트워크를 통해 데이터를 전송하는 일반적인 방법입니다. Flume의 컨텍스트에서는 호환성이 중요합니다. 예를 들어 Avro 이벤트에는 Avro 소스가 필요하며 싱크는 대상에 적합한 이벤트를 제공해야합니다.

소스, 채널 및 싱크의 위대한 체인을 만드는 것이 Flume 에이전트 구성입니다. 이는 Java 특성 파일과 같은 구조의 로컬 텍스트 파일에 저장됩니다. 동일한 파일에서 여러 에이전트를 구성 할 수 있습니다. flume-agent라는 샘플 파일을보십시오. conf - shaman이라는 에이전트를 구성하도록 설정되었습니다.

# 에이전트 shaman: shaman의 구성 요소를 식별합니다. sources = netcat_s1 shaman. 싱크 = hdfs_w1 무당. channels = in-mem_c1 # 소스 설정: 무당. 출처. netcat_s1. type = netcat shaman. 출처. netcat_s1. bind = localhost shaman. 출처. netcat_s1. port = 44444 # 수채화를 묘사하십시오: 무당. 싱크대. hdfs_w1. type = hdfs shaman. 싱크대. hdfs_w1. hdfs. path = hdfs: // shaman. 싱크대. hdfs_w1. hdfs. writeFormat = 텍스트 무당. 싱크대. hdfs_w1. hdfs. fileType = DataStream # 메모리에 이벤트를 버퍼링하는 채널을 설정합니다: shaman. 채널. in-mem_c1. type = memory shaman. 채널. in-mem_c1. 용량 = 20000 무당. 채널. in-mem_c1. transactionCapacity = 100 # 소스와 싱크를 채널 shaman에 바인드합니다. 출처. netcat_s1. 채널 = in-mem_c1 무당. 싱크대. hdfs_w1. channels = in-mem_c1

구성 파일에는 에이전트의 각 소스, 채널 및 싱크에 대한 속성이 포함되어 있으며 연결 방법이 지정됩니다. 이 예에서 에이전트 shaman은 포트 44444의 데이터 (netcat에 대한 메시지), 이벤트 데이터를 메모리에 버퍼링하는 채널 및 이벤트 데이터를 콘솔에 기록하는 싱크를 수신하는 소스를 가지고 있습니다.

이 구성 파일은 여러 에이전트를 정의하는 데 사용될 수 있습니다. 여기, 당신은 물건을 단순하게 유지하기 위해 하나만 구성하고 있습니다.

에이전트를 시작하려면 flume-ng라는 쉘 스크립트를 사용하십시오.이 스크립트는 Flume 배포판의 bin 디렉토리에 있습니다. 명령 행에서 에이전트 명령을 실행하여 구성 파일의 경로와 에이전트 이름을 지정하십시오.

다음 샘플 명령은 Flume 에이전트를 시작합니다.

flume-ng 에이전트 -f / -n shaman

Flume 에이전트의 로그에는 소스, 채널 및 싱크가 성공적으로 시작되었는지 확인하는 항목이 있어야합니다.

설정을 더 테스트하려면 다른 터미널에서 포트 44444로 텔넷하고 임의의 텍스트 문자열을 입력하여 Flume에 이벤트를 보낼 수 있습니다. 모든 것이 잘 진행되면, 원래 Flume 터미널은 에이전트 로그에서 볼 수 있어야하는 로그 메시지로 이벤트를 출력합니다.
HDFS에서 Flume이있는 로그 데이터

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...