Nutch 2.0 Eclipse에서 돌리기 Ivy이용

1 minute read

일단 구동까지 성공과정이다. http://wiki.apache.org/nutch/RunNutchInEclipse http://techvineyard.blogspot.kr/2010/12/build-nutch-20.html#Datastores https://issues.apache.org/jira/browse/NUTCH-970 http://foreblue.net/wiki/index.php/Nutch_%EC%B4%88%EA%B0%84%EB%8B%A8_%EB%B9%8C%EB%93%9C%EC%99%80_%EC%8B%A4%ED%96%89 http://foreblue.net/wiki/index.php/Nutch_%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD%EA%B5%AC%EC%84%B1

이 세 포스팅을 순서대로 보고 따라하면 나와 같은 결과까지는 얻을 수 있을 것 같다.아마도.. 구동환경 mac lion, sts2.92, mysql 5.5

https://svn.apache.org/repos/asf/nutch/trunk 에서 코드를 받는다. 현재 시점에서 trunk에는 2.0이 아닌 1.6버전으로 표시가 되어 있고 아주 최신버전은 branch의 2.x였다. 그래서 그걸 받았다. revision 1366348

maven으로 임포트하면 의존성이 제대로 처리가 안된다. pom파일만 가지고 한참 씨름을 해야한다.

!! 프로젝트 우클릭 > Configure > Convert to Maven Project 이 명령으로 폴더를 자동으로 잡아주는것까지만 처리한다.

!! 그리고 메이븐취소하고 프로젝트 우클릭 > Configure > Add ivy dependency management !! conf 폴더는 자동으로 추가가 안된다. 수동으로 클래스패스에 추가한다. 그리고 맨 위로 올려놓는다.(이건 꼭 안해도 되는데 해야 에러가 덜난다고한다)

!! ivy.xml 우클릭 add library

!! build.xml 앤트 컴파일

!! run 설정 클래스 : org.apache.nutch.crawl.Crawl Program Arguments : urls -dir crawl -depth 3 -topN 50 VM arguments : -Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

여기서 실행! 하면 당연히 안돌아간다.

http://wiki.apache.org/nutch/NutchTutorial !! conf에 있는 파일들에 터미널에서 실행할 때 설정해주는 부분 다 셋팅해준다. urls도 해주고 이것저것….

아직도 더 남았다. 지금 실행시키면 고라 어쩌고저쩌고 에러가 날거다. 한참 찾아봤는데… 넛치의 코드에 hsql을 실행시켜주는 코드가 없는 것 같다. 그래서 컴퓨터에 깔려있는 mysql과 연결시켰다.

!! gora.properties mysql connection string 설정, ivy 의존성파일에 주석쳐있는 mysql 부분을 봉인해제해준다.

아직도 안된다. utf8-general-ci로 해놓으면 안된다고한다. Gora에 있는 버그인것같다. 이것도 수정

!! crawl폴더가 없다는 오류 발생

프로그램은 돌아간다. 근데 수집을 하지는 않는다. 설정이 머가 잘못된걸까?