먼저 하둡(Hadoop) 이 필히 설치가 되어 있어야 합니다. 이번에 HBase 를 가-분산 방식 (Pseudo Distributed )으로 설치해 볼 예정이기 때문에 하둡 (Hadoop) 또한 가-분산 방식으로 설치가 되어 있는 것이 좋을 것입니다.

하둡이 먼저 설치되어야 하는 이유는 HBase 가 하둡 기반위에서 돌아가기 때문입니다. $HBASE_HOME/lib 밑의 추가되어 있는 hadoop-core-x.x.x.jar 는 스탠드얼론(Stand Alone) 버젼에서 쓰이는 것으로 나중에 분산적용할 때는 클러스터(Cluster)에 설치되어 있는 하둡과 버젼을 일치시켜줘야 한다. 따라서 HBase 0.92.0 버젼을 설치하기 위해서는 Hadoop-1.0.0 버젼이 설치되어야 합니다.

하둡 설치하는 방법은 저의 지난 아티클 을 참조합니다.


하둡이 설치되고 구동되는 것까지 확인해 보셨다면 설정 파일들을 몇개 수정해 줘야 합니다. 일단 디렉토리를 계속 왔다리 갔다리 하는게 귀찮으니 하둡쪽의 conf/hdfs-site.xml 을 HBase 쪽의 conf/hdfs-site.xml 로 링크를 걸어주는 작업부터 하기로 합니다.

$ cd ~/work/hbase-0.92.0/conf
$ ln -s ~/work/hadoop-1.0.0/conf/hdfs-site.xml hdfs-site.xml

링크가 걸렸다면 다음 파일을 열어서

conf/hbase-site.xml, conf/hdfs-site.xml

 
<property>
    <name>dfs.support.append</name>
    <value>true</value>
 </property>

위의 내용을 추가해 줍니다.

그리고

conf/hdfs-site.xml 파일 아래쪽에 동시에 제공될 수 있는 파일들 갯수의 상한선을 지정해줘야 합니다.

      <property>
        <name>dfs.datanode.max.xcievers</name>
        <value>4096</value>
      </property>


에 추가 , 이것을 지정 안해 줄시에는 이상한 에러가 발생한다고 하니 유념하시기 바랍니다.

그리고 다음 파일을 열어서

conf/hbase-env.sh

export HADOOP_HOME = /home/crazia/work/hadoop-1.0.0
export HBASE_CLASSPATH=${HBASE_CLASSPATH}:$HADOOP_HOME/conf


이 내용을 추가해 주고

export JAVA_HOME=/usr/java/jdk1.6.0_31/


위의 내용을 추가해서 어떤 자바를 쓸 것인지 지정해줘야 합니다.

여기까지는 공통된 부분이고 이제부터 분산방식을 지정해야 합니다.  분산 방식은 보통 가-분산 (Pseudo-Distributed) 방식이랑 완전-분산(Fully-Distributed) 방식으로 나뉩니다. 컴퓨터 한대에 설치해서 테스트 해 볼것이기 때문에 가-분산 방식으로 설치해보기로 합니다.

하둡은 이미 설치되서 가-분산 방식으로 설정이 되어 있다고 했었기 때문에

hbase-site.xml 의 최종 모습입니다.

<configuration>

  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>

  <property>
    <name>dfs.support.append</name>
    <value>true</value>
  </property>

  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>

</configuration>


hbase.rootdir 은 $HADOOP_HOME/conf/core-site.xml 에 있는 fs.default.name 을 참조합니다. 제 것은 포트 번호가 9000으로 되어 있군요. 그래서 9000 으로 지정해주고 /hbase 라고 추가해 줬습니다.

hdfs-site.xml 의 최종모습입니다.

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>

  <property>
    <name>dfs.name.dir</name>
    <value>/home/crazia/work/hadoop-1.0.0/name</value>
  </property>

  <property>
    <name>dfs.data.dir</name>
    <value>/home/crazia/work/hadoop-1.0.0/data</value>
  </property>

  <property>
    <name>dfs.support.append</name>
    <value>true</value>
  </property>

  <property>
    <name>dfs.datanode.max.xcievers</name>
    <value>4096</value>
  </property>

</configuration>


설정이 다 되었습니다. 이제 하둡부터 구동시킵니다.

$ cd $HADOOP_HOME


  하둡이 설치된 곳으로 이동하라는 명령입니다. 참고로 저는 /home/crazia/work/hadoop-1.0.0 에 설치가 되어 있습니다.

$ ./bin/start-all.sh


하둡을 구동시킵니다. 사실 하둡 파일 시스템만 구동시키면 되지만 그냥 전부 다 구동시켜줍니다. (파일 시스템만 구동시킬 경우에는 start-dfs.sh 를 사용합니다) 하둡이 완벽하게 구동 되었으면 이제 HBase 를 구동시킬 차례입니다.

$ cd $HBASE_HOME


  HBASE 가 설치된 곳으로 이동하라는 명령입니다. 참고로 저는 /home/crazia/work/hbase-0.92.0 에 설치가 되어 있습니다.

$ ./bin/start-hbase.sh


구동이 완료 되었습니다. 저번 아티클 에서 언급됐던 shell 을 띄워서 제대로 구동이 됐는지 테스트를 해봅니다.

이상입니다.


+ Recent posts