HBase를 설치하는 방법 Ubuntu (HBase 설치)

Apache HBase 설치 모드

Apache HBase는 세 가지 모드로 설치할 수 있습니다. 이러한 모드의 기능은 아래에 설명되어 있습니다.

1) 독립형 모드 설치(Hadoop 시스템에 의존하지 않음)

  • HBase의 기본 모드입니다.
  • 로컬 파일 시스템에 대해 실행됩니다.
  • 사용하지 않습니다 하둡 HDFS
  • HMaster 데몬만 실행할 수 있습니다.
  • 프로덕션 환경에는 권장되지 않음
  • 단일 JVM에서 실행

2) 의사 분산 모드 설치(단일 노드 Hadoop 시스템 + HBase 설치)

  • 그것은에서 실행됩니다 Hadoop HDFS
  • 모든 데몬은 단일 노드에서 실행됩니다.
  • 프로덕션 환경에 권장

3) 완전 분산 모드 설치(MultinodeHadoop 환경 + HBase 설치)

  • 그것은에서 실행됩니다 Hadoop HDFS
  • 모든 데몬은 클러스터에 있는 모든 노드에서 실행됩니다.
  • 프로덕션 환경에 적극 권장됩니다.

Hadoop 설치는 이 URL을 참조하세요. 여기에

HBase tar 파일 안정 버전을 다운로드하는 방법

단계 1) 링크로 이동 LINK HBase를 다운로드합니다. 아래와 같이 웹페이지가 열립니다.

HBase Tar 파일 안정 버전 다운로드

단계 2) 아래 그림과 같이 stable 버전을 선택하세요. 1.1.2 버전

HBase Tar 파일 안정 버전 다운로드

단계 3) hbase-1.1.2-bin.tar.gz를 클릭합니다. tar 파일을 다운로드하게 됩니다. tar 파일을 설치 위치에 복사합니다.

HBase Tar 파일 안정 버전 다운로드

HBase를 설치하는 방법 Ubuntu 독립형 모드 포함

다음은 HBase 독립형 모드 설치의 단계별 프로세스입니다. Ubuntu:

1 단계) 아래 명령을 입력하십시오.
/home/hduser에 hbase-1.1.2-bin.tar.gz를 배치합니다.
2 단계) $tar -xvf hbase-1.1.2-bin.tar.gz 명령을 실행하여 압축을 풉니다.
내용의 압축을 풀고 /home/hduser 위치에 hbase-1.1.2가 생성됩니다.

3단계) ​​hbase-env.sh를 엽니다.
아래와 같이 hbase-env.sh를 열고 위치에 JAVA_HOME 경로를 언급합니다.

HBase 설치 Ubuntu 독립형 모드 포함

4단계) 파일을 열고 경로를 언급하세요.
~/.bashrc 파일을 열고 아래와 같이 HBASE_HOME 경로를 언급합니다.

HBASE_HOME=/home/hduser/hbase-1.1.1 내보내기
내보내기 경로= $PATH:$HBASE_HOME/bin

HBase 설치 Ubuntu 독립형 모드 포함

5단계) 파일에 속성 추가
hbase-site.xml을 열고 다음 속성을 파일 내부에 넣으세요.

hduser@ubuntu$ gedit hbase-site.xml(코드는 아래와 같음)

<property>

<name>hbase.rootdir</name>

<value>file:///home/hduser/HBASE/hbase</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/hduser/HBASE/zookeeper</value>

</property>

HBase 설치 Ubuntu 독립형 모드 포함

여기에 두 가지 속성을 배치합니다.

  • 하나는 HBase 루트 디렉터리용이고
  • 두 번째 데이터 디렉토리는 ZooKeeper에 해당합니다.

모든 HMaster 및 ZooKeeper 활동은 이 hbase-site.xml을 가리킵니다.

6단계) IP 언급
/etc에 있는 호스트 파일을 엽니다. 위치를 확인하고 아래와 같이 IP를 언급하세요.

HBase 설치 Ubuntu 독립형 모드 포함

7 단계) 이제 아래와 같이 hbase-1.1.1/bin 위치에서 Start-hbase.sh를 실행합니다.

그리고 jps 명령으로 HMaster가 실행 중인지 확인할 수 있습니다.

HBase 설치 Ubuntu 독립형 모드 포함

8단계) HBase 셸 시작
HBase 쉘은 "를 사용하여 시작할 수 있습니다.hbase 쉘”라고 입력하면 아래 스크린샷과 같이 대화형 셸 모드로 들어갑니다. 쉘 모드로 들어가면 모든 유형의 명령을 수행할 수 있습니다.

HBase 설치 Ubuntu 독립형 모드 포함

독립형 모드에서는 Hadoop 데몬을 시작할 필요가 없습니다. HBase는 독립적으로 실행될 수 있습니다.

HBase 의사 분산 설치 모드

이는 의사 분산 설치 모드로 알려진 또 다른 Apache HBase 설치 방법입니다.
다음은 의사 분산 모드를 통해 HBase를 설치하는 단계입니다.

단계 1) /home/hduser에 hbase-1.1.2-bin.tar.gz를 배치합니다.

단계 2) $tar -xvf hbase-1.1.2-bin.tar.gz 명령을 실행하여 압축을 풉니다. 내용의 압축을 풀고 /home/hduser 위치에 hbase-1.1.2가 생성됩니다.

단계 3) 아래와 같이 hbase-env.sh를 열고 해당 위치에 JAVA_HOME 경로와 지역 서버 경로를 언급하고 표시된 대로 명령을 내보냅니다.

HBase 의사 분산 설치 모드

단계 4) 이 단계에서는 ~/.bashrc 파일을 열고 스크린샷에 표시된 대로 HBASE_HOME 경로를 언급하겠습니다.

HBase 의사 분산 모드 설치

단계 5) HBase-site.xml을 열고 파일에서 아래 속성을 언급합니다.(아래 코드)

<property>

<name>hbase.rootdir</name>

<value>hdfs://localhost:9000/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>localhost</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/hduser/hbase/zookeeper</value>

</property>

HBase 의사 분산 설치 모드

HBase 의사 분산 설치 모드

  1. 이 속성에서 Hbase 루트 디렉터리 설정
  2. 분산 설정의 경우 이 속성을 설정해야 합니다.
  3. ZooKeeper 쿼럼 속성은 여기에서 설정되어야 합니다.
  4. 이 속성에서 복제 설정이 완료되었습니다. 기본적으로 복제를 1로 설정합니다. 완전 분산 모드에서는 여러 데이터 노드가 존재하므로 dfs.replication 속성에 1개 이상의 값을 배치하여 복제를 늘릴 수 있습니다.
  5. 이 속성에는 클라이언트 포트가 언급되어야 합니다.
  6. ZooKeeper 데이터 디렉터리는 이 속성에서 언급될 수 있습니다.

단계 6) Hadoop 데몬을 먼저 시작한 다음 아래와 같이 HBase 데몬을 시작합니다.

여기서 먼저 다음을 사용하여 Hadoop 데몬을 시작해야 합니다.“./start-all.sh” 아래에 표시된 대로 명령을 실행합니다.

HBase 의사 분산 설치 모드

hbase-start.sh로 Hbase 데몬을 시작한 후

HBase 의사 분산 설치 모드

이제 jps를 확인해보세요

HBase 의사 분산 설치 모드

HBase 완전 분산 모드 설치

  • 이 설정은 여러 노드가 클러스터에 생성되어 실행되는 Hadoop 클러스터 모드에서 작동합니다.
  • 설치는 의사 분산 모드와 동일합니다. 유일한 차이점은 여러 노드에 걸쳐 생성된다는 것입니다.
  • HBase-site.xml 및 hbase-env.sh에 언급된 구성 파일은 의사 모드에서 언급된 것과 동일합니다.

HBase 설치 문제 해결

1) 문제 설명: 마스터 서버는 초기화되지만 지역 서버는 초기화되지 않습니다.

IP 주소를 통한 마스터 서버와 지역 서버 간의 통신. 마스터가 지역 서버가 실행 중이거나 IP 주소가 127.0.0.1임을 수신하는 방식과 같습니다. 로컬 호스트이고 마스터 서버 자체 로컬 호스트로 확인되는 IP 주소 127.0.0.1입니다.

원인:

지역 서버와 마스터 간의 이중 통신에서 지역 서버는 지속적으로 마스터 서버에 자신의 IP 주소가 127.0.0.1임을 알려줍니다.

해결 방법 :

  • 호스트 파일에 있는 로컬 호스트에서 마스터 서버 이름 노드를 제거해야 합니다.
  • 호스트 파일 위치 /etc/hosts

변경할 사항:

/etc./hosts를 열고 이 위치로 이동하세요.

127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost
: : 1              localhost3.localdomain3 localdomain3

위 구성을 아래와 같이 수정합니다(위에서 강조 표시된 지역 서버 이름 제거).

127.0.0.1    localhost.localdomainlocalhost
: : 1 localhost3.localdomain3 localdomain3

2) 문제 설명: 내 주소를 찾을 수 없습니다: Zookeeper 쿼럼 서버 목록의 XYZ

원인:

  • ZooKeeper 서버를 시작할 수 없으며 서버 이름에 .xyz와 같은 오류가 발생합니다.
  • HBase는 일부 시스템에서 ZooKeeper 서버를 시작하려고 시도하지만 동시에 시스템이 쿼럼 구성을 스스로 찾을 수 없습니다. HBase.zookeeper.quorum 구성 파일.

해결책:-

  • 호스트 이름을 오류 메시지에 표시된 호스트 이름으로 바꿔야 합니다.
  • DNS 서버가 있다고 가정하면 HBase-site.xml에서 아래 구성을 설정할 수 있습니다.
    • HBase.zookeeper.dns.인터페이스
    • HBase.zookeeper.dns.nameserver

3) 문제 설명: Hadoop DFS를 통해 HBase용 루트 디렉터리 생성

  • 마스터는 HBase 마이그레이션 스크립트를 실행해야 한다고 말합니다.
  • 그것을 실행하면, HBase 마이그레이션 스크립트는 루트 디렉터리에 파일이 없는 것처럼 응답합니다..

원인:

  • 다음을 사용하여 HBase에 대한 새 디렉터리 생성 하둡 분산 파일 시스템
  • 여기서 HBase는 두 가지 가능성을 기대합니다.

1) 루트 디렉터리가 존재하지 않습니다.

2) 이전에 초기화된 HBase 이전 실행 인스턴스

해결 방법 :

  • HBase 루트 디렉터리가 현재 존재하지 않거나 이전 HBase 인스턴스 실행으로 초기화되었습니다.
  • 해결의 일환으로 다음 단계를 따라야 합니다.

단계 1) Hadoop dfs를 사용하여 HBase 루트 디렉터리 삭제

단계 2) HBase는 스스로 디렉터리를 생성하고 초기화합니다.

4) 문제 설명: Zookeeper 세션 만료 이벤트

원인:

  • 예외를 발생시켜 HMaster 또는 HRegion 서버가 종료됨
  • 로그를 관찰하면 발생한 실제 예외를 확인할 수 있습니다.

다음은 Zookeeper 만료 이벤트로 인해 발생한 예외를 보여줍니다. 강조된 이벤트는 로그 파일에서 발생한 예외 중 일부입니다.

로그 파일 코드는 아래와 같습니다.

WARN org.apache.zookeeper.ClientCnxn: Exception
closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec

java.io.IOException: TIMED OUT	
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906)
WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000
INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT
INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT]
INFO org.apache.zookeeper.ClientCnxn: Server connection successful
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e

java.io.IOException: Session Expired	 
at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589)
at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945)
ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired

해결 방법 :

  • 기본 RAM 크기는 1GB입니다. 장기 실행 가져오기를 수행하기 위해 RAM 용량을 1GB 이상 유지했습니다.
  • 세션 시간 초과를 늘려야 합니다. 동물원의 관리자.
  • Zookeeper에서 세션 시간을 늘리려면 hbase /conf 폴더 경로에 있는 "hbase-site.xml"에서 다음 속성을 수정해야 합니다.
  • 기본 세션 시간 제한은 60초입니다. 아래와 같이 120초로 변경할 수 있습니다.
<property>
    <name> zookeeper.session.timeout </name>
    <value>1200000</value>
</property>
<property>
    <name> hbase.zookeeper.property.tickTime </name>
    <value>6000</value>
</property>