2014-03-13 1 views
1

나는 서버 시스템에서 HDFS로 로그를 가져 오기 위해 Flume에서 작업 해 왔습니다. 서버와 클라이언트 컴퓨터가 동일한 네트워크에 연결되어 있으면이 작업을 수행 할 수있었습니다. 그러나 서버와 클라이언트가 서로 다른 네트워크에있는 경우 어떻게 동일한 결과를 얻을 수 있습니까?네트워크를 통해 로그를 가져 오는 flume

이 용도로 맞춤 소스를 작성해야하나요? [자신의 맞춤 소스를 사용하여 트위터 트윗을 가져 오는 cloudera의 트위터 예를 확인해보십시오.]

도움이 될만한 정보가 있으면 알려주세요.

감사합니다,

칼라이

답변

0

수로 에이전트는 이벤트를 수송에 연결할 수 있어야합니다. 즉, 동일한 네트워크에 있어야합니다.

귀하의 질문에 대한 확신이 없습니다. 왜 그것이 전혀 작동하기를 기대합니까?

+0

필자가 요구하는 것은 원격 서버에서 생성 된 로그를 가져 오는 것입니다. 클라이언트의 네트워크에 연결됩니다. – Kalai

1

배송을 원하는 두 개의 비 - 토킹 네트워크에 멀티 홈 호스트가있는 경우 한 곳에서 들어오는 로그를 연결하고 다른 한 곳으로 전달하는 flume 에이전트를 실행할 수 있습니다. 따라서 멀티 홈 호스트는 일종의 프록시 역할을합니다. 네트워크 간의 유일한 연결 인 경우 프록시가 이미 다른 작업을 수행하는 중일 것 같아서 이것이 반드시 좋은 아이디어인지는 모르겠습니다. 그러나 이것을 설정할 수 있다면 사용자 지정 싱크 또는 소스가 필요하지 않습니다.

인터넷을 볼 수있는 두 개의 분리 된 네트워크가있는 경우 HTTP를 통해 웹 서버에 게시 할 수 있습니다 (또는 그 문제에 대해서는 TCP이지만 더 많은 작업 임). 다른 하나는 동일한 웹 사이트에서 가져옵니다. . 웹 서비스 자체는 말할 것도없고 성능이 우수하고 안정적이며 안전한 방식으로 작동하려면 두 개의 맞춤 에이전트 (소스 & 싱킹)를 작성해야합니다.

마지막으로 두 개의 네트워크가 완전하게 단절된 경우 (예 : 공백), 삽입 된 테이프를 자동 검색하고 로그를 테이프에 복사하는 등의 사용자 지정 싱크를 작성하는 것이 좋습니다. 그런 다음 테이프를 가져 와서 다른 네트워크로 걸어서 연결하고 다른 에이전트도 자동 검색하여 데이터를 수집합니다.

+0

나는 '테이프'와 운동화를 사용하는 것에 +1 언급하고 싶다. :) – alph486