본문 바로가기

2012/10

(6)
Hbase pseudo distributed mode 로컬에서 디버깅환경구축중이다. 로컬모드는 다운받고 그대로 실행만 해주면 끝나지만 가상 분산 모드는 설정파일을 살짝 수정해주어야한다. HBase 를 가상 분산 모드로 실행하기 구글신으로 검색해서 해봤는데 안되서 헤딩했다;. 0.94.1 0.94.2 버전에서 테스트한 결과는 다음과 같다.hbase-site.xml 파일 다음과 같이 추가해준다.처음에는 configuration 엘리먼트만 있을 것이다. hbase.rootdir hdfs://localhost:9000/hbase 그리고 hadoop을 가상분산모드로 실행시킨 후에 hbase를 실행하면 된다.hdfs://localhost:9000 이것은 하둡 설정파일 core-site.xml 에 fs.default.name을 적어주면된다. (거기에 루트 디렉토리 추가..
Hadoop 디버깅 하기. 하둡을 로컬 환경에서 개발하면서 디버깅 하기 위한 방법에 대해서 정리해 보려한다. 구글신의 도움으로 이런 저런 블로그를 둘러보고 테스트한 결과를 토대로 다음과 같은 방법이 가능하다. 싱글모드, 즉 Standalone 모드일때는 디버깅이 사실 쉽다. hadoop-env.sh 파일에 자바 디버깅 옵션을 넣어주고 리모트 디버깅을 수행하면된다. 사실 이런것도 필요없고 이클립스에서 설정만 잘하고 실행시키면 바로 디버깅하면 실행할수 있다. 별도의 플러그인도 필요없다. 그래서 만약에 로컬모드로 실행시키는 경우 리모트디버깅하지 않고 클래스패스만 잘 잡고 이클립스에서 바로 실행하는 것이 오히려 좋다고 본다. 두번째는 가상분산모드이다. 여러 포스트를 살펴보았지만 별다른게 없었다. 별도의 태스크트랙커가 실행되어서 맵리듀스를..
HIVE 0.9.0, HBASE 0.94.0 버그 Hive에서 Insert까지는 되는데 HBASE 0.94.0 버그로 인해 SELECT에서 다음과 같은 예외가 발생한다.Failed with exception java.io.IOException:java.lang.NullPointerException 버전 0.94.1 에서 버그 수정했음
머신 하나에 Zookeeper 설치하기 머신 하나에 Zookeeper 설치하기 Zookeeper를 실행하려면 최소 3개의 호스트를 필요로 한다.Zookeeper JMX를 살펴보려고 하는데 다중 머신 환경이 안된다. VMWare 설치하기도 구찮고 이래저래 지금 환경이 안되서. 하나의 머신에 Zookeeper를 설치해 보려고한다.살짝만 설정을 바꿔서 성공했는데 알고보니 http://zookeeper.apache.org/doc/r3.1.2/zookeeperStarted.html 이곳에 이미 나와있었다.검색의 생활화 필요!NoteIf you want to test multiple servers on a single machine, specify the servername as localhost with unique quorum & leader ele..
HBase 클라이언트와 통신 플로우 HBase 클라이언트와 통신 플로우클라이언트는 특정 row에 접근을 시도할 때 Zookeeper와 연결한다.-ROOT- region을 호스트하는 서버 이름을 가져온다.-ROOT- 정보를 사용하여 클라이언트는 .META. 테이블 region을 호스트하는 서버 이름을 가져온다..META. 서버에 연결하여 row key를 포함하고 있는 region 을 가진 서버 이름을 가져온다. -ROOT-, .META.를 특별한 용도로 사용되어 카탈로그 테이블이라고 부른다.1) 클라이언트 ---> Zookeeper 2) 클라이언트 ---> Root Region Server3) 클라이언트 ---> Meta Region Server다음과 같이 호출하면 1), 2), 3) 과정을 처리하게됨HTable table = new HTa..
HADOOP_MASTER 프로퍼티 이전 프로젝트에서 네임노드에서 하둡설정파일을 변경후 데이터노드에 일일이 scp를 이용해서 복사한 기억이 나는데, 무지에 의한 노가다 였구나.책 Hadoop.The.Definitive.Guide 3rd 에서 설정부분을 꼼꼼히 살펴보다보니, hadoop-env.sh 파일에 HADOOP_MASTER라는 속성을 지정하면 자동으로 마스터노드와 싱크를 맞추어 준다. 굳이예요~conf/hadoop-env.sh 내에 다음과 같은 속성을 설정한다. (디폴트는 설정 x)export HADOOP_MASTER=hadoop@master:/home/hadoop/hadoop-1.0.3hadoop-dameon.sh 파일을 살펴보면 rsync를 통해 설정파일 동기화를 수행한다. 그러나 클러스터가 너무 큰 환경에서는 데몬 시작시 동시에..