인프런 커뮤니티 질문&답변

sd4beatles님의 프로필 이미지

작성한 질문수

15일간의 빅데이터 파일럿 프로젝트

7.수집 파일럿 실행 5단계 - 수집 기능 테스트

kafka consumer에서 데이터를 못 읽는데요.

작성

·

594

0

아랫분 처럼 저도 kafka에서 그리고 flume에 지정한 곳에서도 데이터를 전송받지 못하고 있습니다. log simulator, kafka topic 이름, flume refresh 다 해봤는데요. 왜 이런거죠?

답변 11

0

car-batch-log  폴더에 SmartCarStatusInfo_20160101.txt 를 mv 하면 삭제되는데 왜 그럴까요?

Big.D님의 프로필 이미지
Big.D
지식공유자

안녕하세요! 빅디 입니다.

car-batch-log 폴더로 이동된 파일은 플럼이 수집해서 하둡에 적재하고, 적재가 끝나면 삭제처리 하기 때문입니다.

참고로 플럼의  SpoolDir 기능의 옵션을 조정해 삭제 되지 않고 다른 폴더로 백업도 가능합니다. 

- 빅디 드림

0

왜 반복해서 mv 해도 삭제가 될까요?

----------------------------------------------------

[root@server02 driver-realtime-log]# mv /home/pilot-pjt/working/SmartCar/SmartCarStatusInfo_20160101.txt /home/pilot-pjt/working/car-batch-log/

[root@server02 driver-realtime-log]# cd /home/pilot-pjt/working/car-batch-log/

[root@server02 car-batch-log]# ls -ltr

total 0

0

sd4beatles님의 프로필 이미지
sd4beatles
질문자

너무 감사합니다^^ 드디어 kafka에서 실행이 되네요. 얼마 남지 않은 강의 빨리 듣고,  수강평 남기도록 하겠습니다. 좋은 하루 되세요. ^^

0

sd4beatles님의 프로필 이미지
sd4beatles
질문자

회사 프로젝트 때문에 뒷편 부터 강의를 신청했지만, 여전히 kafka가 말썽입니다. 초기설치를 하고 해도,  flume batch는 전송을 잘 받는데, kafka한테 메시지를 주지 않는 것은 왜 일까요? virtual box 의 문제가 있을 수도 있다고 구글링을 해봤는데, 혹시 그 문제일까요? 현재 전 6.01을 쓰고 있거든요. 정말 이 문제 때문에, 정말 듣고 싶은 후속 강의를 듣지도 못하고 있네요...

구글링을 해봤는데, 어쩌면 아래 link에 있는cloudera 사용자와 마찬가지로, real time 적재가 불가능한 거 같습니다. 

https://community.cloudera.com/t5/Support-Questions/Problem-about-Configuring-Flume-as-Kafka-Consumer/td-p/61018/page/2

Big.D님의 프로필 이미지
Big.D
지식공유자

ㅠㅠ 

버츄얼박스 문제 같지는 않지만 혹시 모르니 5.0.4버젼을 설치해 테스트 부탁 드립니다.

그리고..위 테스트로도 해결되지 않으면 플럼/카프카 테스트를 완료한 VM 이미지를 공유 드리도록 하겠습니다.  - 빅디 올림

sd4beatles님의 프로필 이미지
sd4beatles
질문자

Virtual Box 5.0.4 버젼은 아예 윈도우에서 설치조자 안되게 막아버렸네요 ㅠ.ㅠ 송구스럽지만  VM 이미지 공유 부탁드리겠습니다. 너무 죄송합니다. 

Big.D님의 프로필 이미지
Big.D
지식공유자

ㅎㅎ..네! 이메일 주소를 남겨 주세요~

다운로드 URL을  전달해 드리겠습니다. -빅디 드림

sd4beatles님의 프로필 이미지
sd4beatles
질문자

sd4beatles@naver.com 입니다. 감사합니다. 

0

sd4beatles님의 프로필 이미지
sd4beatles
질문자

자꾸 귀찮게 해드려서 죄송해서, 일단 그냥 계속 강의 진행하겠습니다.근데  SmartCar-Topic2를 했는데도, 여전히 real-time 데이터가 kafka에게 전송이 안되는 거 같습니다. 데이터 분석일을 3년 하고 있지만, 데이터를 수집 적재하는 것이 이렇게 어렵다는 것이 피부로 다가오는 군요.

Big.D님의 프로필 이미지
Big.D
지식공유자

절~대 귀찮지 않습니다. ㅎㅎ

카푸카에 이상이 있으면 단계를 넘어 갈수록 파일럿 실습을 못하게 됩니다.

꼭 문제를 해결 하고 넘어가셔야 합니다.
가상화 환경에서 동일 VM이미지를 다른 분들은 정상적으로 진행 하고 있기 때문에 분명 큰 문제는 아닙니다.

요런 트러블슈팅을 반복적으로 진행 하면서 문제 해결을 많이 해보는 경험이 파일럿 프로젝트의 큰 목적중 하나 이고요..

SmartCar-Topic2가 문제가 없다면 토픽을 삭제하고 재생성을 요청 드릴려고 했는데요,

이보단 깔끔하게 카푸카를 재설치 해보시는 것을 추천 드립니다. 재설치는...

Cloudera Manager 홈에서 카푸카를 선택하고 제거 메뉴를 통해 삭제하고, 카푸카 설치 단계부터 다시 시작해 테스트를 진행해 보시기 바랍니다. -빅디 올림 

0

sd4beatles님의 프로필 이미지
sd4beatles
질문자

unkown error가 뜨는 것을 확인할 수가 있습니다. 두 개의 topic (SmartCar-Topic, SmartCar-Topic2) 둘 다 똑같은 unknown error를 가지고 있습니다. 

Big.D님의 프로필 이미지
Big.D
지식공유자

안녕하세요! 빅디 입니다.

Will not attempt to authenticate using SASL (unknown error) 

상기 메세지는 정상 입니다.
주키퍼를 사용할때 SASL 프로토콜을 사용하지 않기 때문에 나는 메세지 입니다.

일단 보내주신 로그상 "SmartCar-Topic2" 는 정상으로 보입니다.

플럼의 Config 설정중 Kafka Sink의 토픽 이름을 "SmartCar-Topic2"로 변경해
플럼을 재시작 하고 테스트 해보시기 바랍니다.  -빅디 드림

0

Big.D님의 프로필 이미지
Big.D
지식공유자

안녕하세요! 빅디입니다.

로그를 보니 카프카 리더에 문제가 있어 보입니다.
아래의 명령 실행후 결과를 볼 수 있을까요?

$ kafka-topics --describe --zookeeper  server02.hadoop.com:2181 --topic SmartCar-Topic

추가로 테스트를 하나더 해보는데요..

1. SmartCar-Topic2 를 추가 생성

2. 플럼의 config에서 카프카 Sink의 토픽 이름을 SmartCar-Topic --> SmartCar-Topic2로 변경

3. 플럼 재기동

4. 실시간 로그 테스트 > 결과 확인

 잘 해결 될겁니다~  -빅디 올림


0

sd4beatles님의 프로필 이미지
sd4beatles
질문자

저 나름대로 정리를 해서, 처음부터 끝 까지 올려보았습니다.

#create a kafka  topic under the name of 'SmartCar-Topic'

kafka-topics --create --zookeeper server02.hadoop.com:2181 --replication-factor 1 --partitions 1 --topic SmartCar-Topic

#command lines for the list of Topics

kafka-topics  --zookeeper server02.hadoop.com:2181 --list

#generate both batch and real data

java -cp bigdata.smartcar.loggen-1.0.jar com.wikibook.bigdata.smartcar.loggen.CarLogMain 20160101 3 &

java -cp bigdata.smartcar.loggen-1.0.jar com.wikibook.bigdata.smartcar.loggen.DriverLogMain 20160101 3 &

#double-check the status of those generated data

cd /home/pilot-pjt/working/SmartCar/

tail -f /home/pilot-pjt/working/driver-realtime-log/SmartCarDriverInfo.log

#move the current  file to the assigned directory 

mv /home/pilot-pjt/working/SmartCar/SmartCarStatusInfo_20160101.txt /home/pilot-pjt/working/car-batch-log

#restart flume

0

Big.D님의 프로필 이미지
Big.D
지식공유자

안녕하세요! 빅디 입니다.

로그를 보니 문제의 원인을 알것 같습니다.

플럼은 작동할때 Agent 이름을 지정하는데 이때 Configuration에 설정된 이름을 사용 하게 되고 
"No configuration found for this host:tier1.." 라는 경고 메세지는 Agent 이름(SmartCar_Agent) 이 Configuration 파일에 정의된 Agent 이름과 불일치 하여, 데이터를 수집/전송 하기 위해 파일럿 환경에 등록 했던 에이전트가 원천적으로 작동 되지 않은것 같습니다.

아래의 내용을 확인 하시고 조치해 보시기 바랍니다.

1. "클라우데라 매니져 Home > Flume > 구성" 선택

2. 구성의 중간 영역에 "Agent이름" 항목 확인

3. "SmartCar_Agent" 로 대소문자 구분 하여 명확히 표기 되어 있는지 확인

4. Flume 재기동

결국 3번이 파일럿 환경에서 사용하는 플럼의 에이전트 명이 되고, 정확히 입력 되어 있는지 확인해 보시기 바랍니다.  - 빅디 올림

0

sd4beatles님의 프로필 이미지
sd4beatles
질문자

vim으로 실행하니 이러한 메시지가 나오더군요. 참고로 여러 방식으로 구글링도 해보고, 말씀해주신 되로 해보았는데도, 여전히 flume은 말썽이고, 반응이 없습니다. Kafka consumer도 real-time data를 읽어오지도 못하고 있습니다. 

2021-04-26 01:33:16,126 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,126 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,127 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,129 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_Channel

2021-04-26 01:33:16,131 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,131 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,132 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_LoggerSink

2021-04-26 01:33:16,132 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,133 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,136 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,137 INFO org.apache.flume.conf.FlumeConfiguration: Added sinks: SmartCarInfo_LoggerSink DriverCarInfo_KafkaSink Agent: SmartCar_Agent

2021-04-26 01:33:16,138 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,138 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,139 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,139 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,140 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_Channel

2021-04-26 01:33:16,141 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_KafkaSink

2021-04-26 01:33:16,143 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_Channel

2021-04-26 01:33:16,143 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_KafkaSink

2021-04-26 01:33:16,147 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_Channel

2021-04-26 01:33:16,147 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,148 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_KafkaSink

2021-04-26 01:33:16,148 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,149 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_TailSource

2021-04-26 01:33:16,150 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_KafkaSink

2021-04-26 01:33:16,150 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_Channel

2021-04-26 01:33:16,150 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_KafkaSink

2021-04-26 01:33:16,151 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,153 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_Channel

2021-04-26 01:33:16,153 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:33:16,153 WARN org.apache.flume.conf.FlumeConfiguration: Agent configuration for 'SmartCar_Agent' has no configfilters.

2021-04-26 01:33:16,295 INFO org.apache.flume.conf.FlumeConfiguration: Post-validation flume configuration contains configuration for agents: [SmartCar_Agent]

2021-04-26 01:33:16,298 WARN org.apache.flume.node.AbstractConfigurationProvider: No configuration found for this host:tier1

2021-04-26 01:33:16,307 INFO org.apache.flume.node.Application: Starting new configuration:{ sourceRunners:{} sinkRunners:{} channels:{} }

2021-04-26 01:33:16,462 INFO org.eclipse.jetty.util.log: Logging initialized @5107ms

2021-04-26 01:33:17,025 INFO org.eclipse.jetty.server.Server: jetty-9.3.25.v20180904, build timestamp: 2018-09-05T06:11:46+09:00, git hash: 3ce520221d0240229c862b122d2b06c12a625732

2021-04-26 01:33:17,334 INFO org.eclipse.jetty.server.AbstractConnector: Started ServerConnector@35ce6302{HTTP/1.1,[http/1.1]}{0.0.0.0:41414}

2021-04-26 01:33:17,343 INFO org.eclipse.jetty.server.Server: Started @5991ms

2021-04-26 01:33:17,398 WARN com.cloudera.cmf.event.publish.EventStorePublisherWithRetry: Failed to publish event: SimpleEvent{attributes={ROLE=[flume-AGENT-08fa03562e178ba513af21531a0d067e], HOSTS=[server02.hadoop.com], ROLE_TYPE=[AGENT], CATEGORY=[LOG_MESSAGE], EVENTCODE=[EV_LOG_EVENT], SERVICE=[flume], SERVICE_TYPE=[FLUME], LOG_LEVEL=[WARN], HOST_IDS=[28755065-292e-43b9-8e72-6e7cbbb66351], SEVERITY=[IMPORTANT]}, content=Agent configuration for 'SmartCar_Agent' has no configfilters., timestamp=1619368396153}

2021-04-26 01:41:26,101 INFO org.apache.flume.node.Application: Shutting down configuration: { sourceRunners:{} sinkRunners:{} channels:{} }

2021-04-26 01:41:26,116 INFO org.eclipse.jetty.server.AbstractConnector: Stopped ServerConnector@35ce6302{HTTP/1.1,[http/1.1]}{0.0.0.0:41414}

2021-04-26 01:41:26,128 INFO org.apache.flume.lifecycle.LifecycleSupervisor: Stopping lifecycle supervisor 11

2021-04-26 01:41:26,134 INFO org.apache.flume.node.PollingPropertiesFileConfigurationProvider: Configuration provider stopping

2021-04-26 01:45:14,770 INFO org.apache.flume.node.PollingPropertiesFileConfigurationProvider: Configuration provider starting

2021-04-26 01:45:14,820 INFO org.apache.flume.node.PollingPropertiesFileConfigurationProvider: Reloading configuration file:/var/run/cloudera-scm-agent/process/36-flume-AGENT/flume.conf

2021-04-26 01:45:14,857 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_LoggerSink

2021-04-26 01:45:14,862 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

2021-04-26 01:45:14,863 INFO org.apache.flume.conf.FlumeConfiguration: Processing:DriverCarInfo_KafkaSink

2021-04-26 01:45:14,867 INFO org.apache.flume.conf.FlumeConfiguration: Processing:SmartCarInfo_SpoolSource

0

Big.D님의 프로필 이미지
Big.D
지식공유자

안녕하세요! 빅디 입니다.

무엇이 문제 였을까 한참을 고민해 봤습니다...
진행중에 특별히 에러 메세지가 없었다면,
강의 내용이 헷갈려서..실습 하는데 어려움이 있나 생각도 듭니다. (해당 강의를 제가 다시 들어 보고 보완 할 부분이 있는지 확인해 보게씁니다. ^^;)

우선 기능상의 오류로 보이지는 않은데요..
아래 내용을 점검해 보시기 바랍니다.

1. 해당 단계는 비교적 작은 파일(3MB)을 테스트 하는 단계로 플럼의 로그가 빠르게 지나 갈 수 있습니다. tail 명령 말고, vi 명령으로 전체 로그 확인해 봐 주시고, 혹시나 Error가 있었는지도 확인 부탁 드립니다.

2. /home/pilot-pjt/working/car-batch-log 경로에 이동 시켰던 스마트카상태정보 로그 파일(SmartCarStatusInfo_20160101.log)이 남아 있는지 확인해 봐 주시기 바랍니다. 만약 오래전 파일이 그대로 남아 있으면 플럼의 파일 처리에 문제가 있는것 입니다.

3. 플럼의 로그를 tail 명령으로 모니터링 한 상태에서 SmartCarStatusInfo_200160101.log 파일을 한번더 생성해서 /home/pilot-pjt/working/car-batch-log/ 경로로 이동시켜 플럼이 정상 수집하는지 tail명령으로 확인 부탁 드립니다.

4. 위 3개 사항을 점검해도 전송 확인이 되지 않으면 플럼의 로그 파일 전체를 다운로드 받아서 메일로 보내 주시면 확인해 보겠습니다.

- 빅디 올림