2016-12-07 10 views
0

나는 flume을 syslogs 소스 및 hbase 싱크와 함께 사용하려고합니다.
내가 flume agent를 실행할 때 나는이 오류를 얻는다 : Failed to start agent because dependencies were not found in classpath. Error follows. java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration, 어떤 hbase lib가 빠져 있다는 것을 의미하는 (question에서) 나는 flume-env.sh 파일을 이러한 lib에 대한 경로로 설정해야한다. 내가 그랬어,하지만 flume 실행하지만 여기에 지속되는 오류는 내가 flume 에이전트를 실행하는 데 사용되는 명령입니다 : bin/flume-ng agent --conf ./conf --conf-file ./conf/flume.properties --name agent -Dflume.root.logger=INFO,console
그래서 내 질문은, 내가 사용하는 솔루션이 올바른지 (내가 flume에 lib를 추가해야합니다) 왜 아직도 얻을 같은 오류는 문서에서 그 문제를flush 에이전트 (syslogs 소스 및 hbase 싱크 포함)

편집
를 해결하지 어떻게하면 내가 읽어 The flume-ng executable looks for and sources a file named "flume-env.sh" in the conf directory specified by the --conf/-c commandline option..
아직 테스트하지는 않았지만 해결책이라고 생각합니다. (단지 확인이 필요합니다)

+0

한 가지 해결책은 HBASE_HOME/lib의 hbase jars를 FLUME_HOME/lib로 복사하는 것입니다. 작동하지만 flume-env.sh를 사용하는 방법을 알고 싶습니다. – aName

답변

1

HBase full tar ball을 다운로드하고 HBASE_HOME 등의 환경 변수를 올바른 위치에 설정하는 것이 좋습니다. 그런 다음 Flume은 HBase 저장소에서 라이브러리를 자동으로 선택할 수 있습니다.