IT Log

HBase 구성 ( Full-distributed ) 본문

Open Source/Apache

HBase 구성 ( Full-distributed )

newly0513 2021. 3. 24. 16:29
728x90
반응형

[이전 단계] HBase 구성 (Standalone) : https://newly0513.tistory.com/149

[다음 단계]


전제 조건 (Prerequisites)

  1. Java
    • JDK8 권장
    • HBase 버전 1.2+인 경우 JDK7도 지원
    • JDK9, 10, 11은 확실하지 않음
  2. 운영체제 유틸리티
    • ssh
    • DNS
    • NTP
  3. Zookeeper
    • Zookeeper 3.4.x 이상
  4. Hadoop
  5. 본인이 설치한 Hadoop버전과 호환되는 HBase버전을 선택합니다.


분산 클러스터 구조

Node Master Zookeeper RegionServer
master O O X
slave1 backup O O
slave2 X O O

Download

  1. Download Url
  2. Version
    • 위 2사이트에서 안정적인 버전(stable version) 또는 목록 중에서 다른 Application들과의 호환성을 고려하여 선택합니다.
  3. Download
    • Download 서버 : master
    • Download 위치 : /usr/local

 

 위 표에서 Hadoop과의 호환성을 확인한 뒤 알맞은 버전을 다운로드 합니다.

cd /usr/local; \
wget http://apache.mirror.cdnetworks.com/hbase/2.2.5/hbase-2.2.5-bin.tar.gz; \
tar xzvf hbase-2.2.5-bin.tar.gz; \
rm -rf hbase-2.2.5-bin.tar.gz; \
mv hbase-2.2.5 hbase

 

경로 설정 (Path)

  • 진행 노드 : master
  • 파일 : /etc/profile

 HBASE_HOME 환경변수를 설정한 뒤 PATH에 $HBASE_HOME/bin을 추가합니다.

export HBASE_HOME=/usr/local/hbase

$HBASE_HOMBE/bin

 

구성파일

  • 진행 노드 : master
  • 위치 : /usr/local/hbase/conf

 

1. hbase-site.xml

 기존 파일에 있던 <configuration> ... </configuration>을 삭제한 뒤 아래 코드를 복사하여 붙여넣기 합니다. HQuorumPeer는 HBase에서 실행하는 Zookeeper이고, QuorumPeerMain은 사용자가 설치한 Zookeeper입니다. 둘 중 하나 선택하시면 되나 Zookeeper를 직접 구성하여 QuorumpeerMain으로 실행하는 것을 권장드립니다.

 

  • HQuorumPeer

 

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave1,slave2</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/var/lib/zookeeper</value>
  </property>
</configuration>

 

  • QuorumPeerMain
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
    <description>Property from ZooKeepers config zoo.cfg. The port at which the clients will connect.</description>
  </property>
</configuration>

 

2. hbase-env.sh

 QuorumPeerMain으로 Zookeeper를 실행하는 경우에만 HBASE_MANAGES_ZK를 true로 설정합니다.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64       #28번 라인


export HBASE_MANAGES_ZK=true                                                        #126번 라인

 

3. regionservers

slave1
slave2

 

4. backup-masters

 backup-masters는 없는 파일로 새로 생성하여 backup server를 작성합니다.

vi backup-masters
slave1

배포

  • 진행 노드 : master
scp -r /usr/local/hbase root@slave1:/usr/local; \
scp -r /usr/local/hbase root@slave2:/usr/local

NTP

  • 진행 노드 : master

HBase 시작

  • 진행 노드 : master

1. HBase 시작

start-hbase.sh

 

2. 확인

  • master : HMaster
  • slave1 : HMaster, HRegionServer
  • slave2 : HRegionServer
jps

 

3. Hbase 연결

hbase shell
728x90
반응형

'Open Source > Apache' 카테고리의 다른 글

HIVE 구성 (with MySQL)  (1) 2021.03.24
Hadoop 완전분산모드(Fully-Distributed)  (0) 2021.03.24
HBase 구성 (Standalone)  (0) 2021.03.24
Hive Metastore Derby  (0) 2021.03.24
Hive Metastore MySQL  (0) 2020.09.07
Comments