Hadoop/Nutch

완전분산 Nutch Test에서 발생한 문제 해결방법

조규현15 2015. 1. 9. 18:17
반응형

Nutch를 수정하여 사용하고 있다.

eclipse에서 java파일을 수정하여 Test를 하는 과정에서 몇 가지 주의해야 할 점을 말해본다.


첫 번째, Eclipse에서는 file Path가 자유로웠다.

하지만 완전분산 Test에서는 이 방법에서 에러가 발생한다. Hadoop은 hdfs Path가 정해져있다.

예를 들면 hdfs://localhost:9000/user/root ~ 이다.


이런 경우에 기존의 workspace/nutch1.7/~ 를 기준으로 file IO는 동작하지 않는다.

> Error 발생


해결은 Hadoop의 Path Class를 사용하여 새로운 path를 가져와야 한다.

> 이 해결방법은 Hadoop IO 게시글에서 설명한다.


두 번째, Class Value 공유가 불가하다.

eclipse에서는 crawl static value를 사용하여 다른 Class에서 접근하였다.

완전분산에서는 이러한 경우 null Exception이 발생한다.


해결방안은 Job마다 생성한 Value들은 hdfs의 file로 write를 한다.

이러한 경우 IO cost가 발생하지만 되는게 어디인가..

마지막에 data를 사용할 경우는 IO의 read를 사용하여 읽은 뒤 사용하면 된다.


> Hadoop의 동작에서 value 접근은 동일 Class에서 한 번의 Job이 아니면 불가능하다.

> Param으로 value 접근은 가능하다.


위 해결방안은 필자의 의견이자 해결법이며 공식적이거나 일반적이지 않다.

반응형

'Hadoop > Nutch' 카테고리의 다른 글

Nutch Content 크기 제한  (0) 2015.01.13