HBase-설치

이 장에서는 HBase를 설치하고 초기 구성하는 방법에 대해 설명합니다. HBase를 진행하려면 Java 및 Hadoop이 필요하므로 시스템에 Java 및 Hadoop을 다운로드하여 설치해야합니다.

설치 전 설정

Linux 환경에 Hadoop을 설치하기 전에 다음을 사용하여 Linux를 설정해야합니다. ssh(보안 쉘). Linux 환경을 설정하려면 아래 단계를 따르십시오.

사용자 생성

먼저 Hadoop에 대해 별도의 사용자를 생성하여 Hadoop 파일 시스템을 Unix 파일 시스템에서 분리하는 것이 좋습니다. 사용자를 생성하려면 아래 단계를 따르십시오.

  • "su"명령을 사용하여 루트를 엽니 다.
  • "useradd username"명령을 사용하여 루트 계정에서 사용자를 만듭니다.
  • 이제 "su username"명령을 사용하여 기존 사용자 계정을 열 수 있습니다.

Linux 터미널을 열고 다음 명령을 입력하여 사용자를 만듭니다.

$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd

SSH 설정 및 키 생성

클러스터에서 시작, 중지 및 분산 데몬 셸 작업과 같은 다양한 작업을 수행하려면 SSH 설정이 필요합니다. 다른 Hadoop 사용자를 인증하려면 Hadoop 사용자에 대해 공개 / 개인 키 쌍을 제공하고이를 다른 사용자와 공유해야합니다.

다음 명령은 SSH를 사용하여 키 값 쌍을 생성하는 데 사용됩니다. 공개 키 형식 id_rsa.pub를 authorized_keys에 복사하고 각각 authorized_keys 파일에 대한 소유자, 읽기 및 쓰기 권한을 제공합니다.

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

SSH 확인

ssh localhost

자바 설치

Java는 Hadoop 및 HBase의 주요 전제 조건입니다. 먼저 "java -version"을 사용하여 시스템에 Java가 있는지 확인해야합니다. Java 버전 명령 구문은 다음과 같습니다.

$ java -version

모든 것이 제대로 작동하면 다음과 같은 출력이 제공됩니다.

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

시스템에 java가 설치되어 있지 않은 경우 아래 단계에 따라 java를 설치하십시오.

1 단계

다음 링크 Oracle Java를 방문하여 java (JDK <최신 버전>-X64.tar.gz)를 다운로드하십시오 .

그때 jdk-7u71-linux-x64.tar.gz 시스템에 다운로드됩니다.

2 단계

일반적으로 다운로드 폴더에서 다운로드 한 Java 파일을 찾을 수 있습니다. 그것을 확인하고 추출jdk-7u71-linux-x64.gz 다음 명령을 사용하여 파일.

$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz

$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz

3 단계

모든 사용자가 Java를 사용할 수 있도록하려면 "/ usr / local /"위치로 이동해야합니다. 루트를 열고 다음 명령을 입력하십시오.

$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit

4 단계

설정 용 PATHJAVA_HOME 변수에 다음 명령을 추가하십시오. ~/.bashrc 파일.

export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin

이제 모든 변경 사항을 현재 실행중인 시스템에 적용합니다.

$ source ~/.bashrc

5 단계

다음 명령을 사용하여 Java 대안을 구성하십시오.

# alternatives --install /usr/bin/java java usr/local/java/bin/java 2

# alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2

# alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2


# alternatives --set java usr/local/java/bin/java

# alternatives --set javac usr/local/java/bin/javac

# alternatives --set jar usr/local/java/bin/jar

이제 확인하십시오 java -version 위에서 설명한대로 터미널에서 명령.

Hadoop 다운로드

Java를 설치 한 후 Hadoop을 설치해야합니다. 먼저 아래 그림과 같이“Hadoop version”명령을 사용하여 Hadoop의 존재 여부를 확인합니다.

hadoop version

모든 것이 제대로 작동하면 다음과 같은 출력이 제공됩니다.

Hadoop 2.6.0
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using
/home/hadoop/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar

시스템에서 Hadoop을 찾을 수없는 경우 시스템에 Hadoop을 다운로드하십시오. 그렇게하려면 아래에 주어진 명령을 따르십시오.

다음 명령을 사용하여 Apache Software Foundation에서 hadoop-2.6.0 을 다운로드하고 추출 합니다.

$ su
password:
# cd /usr/local
# wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0-src.tar.gz
# tar xzf hadoop-2.6.0-src.tar.gz
# mv hadoop-2.6.0/* hadoop/
# exit

Hadoop 설치

필요한 모드에서 Hadoop을 설치합니다. 여기에서는 의사 분산 모드에서 HBase 기능을 시연하고 있으므로 의사 분산 모드에서 Hadoop을 설치합니다.

다음 단계는 설치에 사용됩니다. Hadoop 2.4.1.

1 단계-Hadoop 설정

다음 명령을 추가하여 Hadoop 환경 변수를 설정할 수 있습니다. ~/.bashrc 파일.

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

이제 모든 변경 사항을 현재 실행중인 시스템에 적용합니다.

$ source ~/.bashrc

2 단계-Hadoop 구성

"$ HADOOP_HOME / etc / hadoop"위치에서 모든 Hadoop 구성 파일을 찾을 수 있습니다. Hadoop 인프라에 따라 이러한 구성 파일을 변경해야합니다.

$ cd $HADOOP_HOME/etc/hadoop

Java에서 Hadoop 프로그램을 개발하려면 다음에서 Java 환경 변수를 재설정해야합니다. hadoop-env.sh 대체하여 파일 JAVA_HOME 시스템의 java 위치와 함께 값.

export JAVA_HOME=/usr/local/jdk1.7.0_71

Hadoop을 구성하려면 다음 파일을 편집해야합니다.

core-site.xml

그만큼 core-site.xml 파일에는 Hadoop 인스턴스에 사용되는 포트 번호, 파일 시스템에 할당 된 메모리, 데이터 저장을위한 메모리 제한 및 읽기 / 쓰기 버퍼 크기와 같은 정보가 포함됩니다.

core-site.xml을 열고 <configuration> 및 </ configuration> 태그 사이에 다음 속성을 추가합니다.

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
   </property>
</configuration>

hdfs-site.xml

그만큼 hdfs-site.xml 파일에는 Hadoop 인프라를 저장할 로컬 파일 시스템의 복제 데이터 값, 이름 노드 경로 및 데이터 노드 경로와 같은 정보가 포함됩니다.

다음 데이터를 가정 해 보겠습니다.

dfs.replication (data replication value) = 1
(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)

namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)

datanode path = //home/hadoop/hadoopinfra/hdfs/datanode

이 파일을 열고 <configuration>, </ configuration> 태그 사이에 다음 속성을 추가합니다.

<configuration>
   <property>
      <name>dfs.replication</name >
      <value>1</value>
   </property>
	
   <property>
      <name>dfs.name.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
   </property>
	
   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
   </property>
</configuration>

Note: 위 파일에서 모든 속성 값은 사용자가 정의하며 Hadoop 인프라에 따라 변경할 수 있습니다.

yarn-site.xml

이 파일은 yarn을 Hadoop으로 구성하는 데 사용됩니다. yarn-site.xml 파일을 열고 <configuration $ gt ;, </ configuration $ gt; 사이에 다음 속성을 추가하십시오. 이 파일의 태그.

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>

mapred-site.xml

이 파일은 우리가 사용하는 MapReduce 프레임 워크를 지정하는 데 사용됩니다. 기본적으로 Hadoop에는 yarn-site.xml의 템플릿이 포함되어 있습니다. 먼저 파일을 복사해야합니다.mapred-site.xml.template ...에 mapred-site.xml 다음 명령을 사용하여 파일.

$ cp mapred-site.xml.template mapred-site.xml

열다 mapred-site.xml 파일을 열고 <configuration> 및 </ configuration> 태그 사이에 다음 속성을 추가합니다.

<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>

Hadoop 설치 확인

다음 단계는 Hadoop 설치를 확인하는 데 사용됩니다.

1 단계-이름 노드 설정

다음과 같이“hdfs namenode -format”명령을 사용하여 namenode를 설정합니다.

$ cd ~
$ hdfs namenode -format

예상 결과는 다음과 같습니다.

10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to
retain 1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/

2 단계-Hadoop dfs 확인

다음 명령은 dfs를 시작하는 데 사용됩니다. 이 명령을 실행하면 Hadoop 파일 시스템이 시작됩니다.

$ start-dfs.sh

예상되는 출력은 다음과 같습니다.

10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]

3 단계-Yarn 스크립트 확인

다음 명령은 yarn 스크립트를 시작하는 데 사용됩니다. 이 명령을 실행하면 yarn 데몬이 시작됩니다.

$ start-yarn.sh

예상되는 출력은 다음과 같습니다.

starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out
localhost: starting nodemanager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out

4 단계-브라우저에서 Hadoop 액세스

Hadoop에 액세스하기위한 기본 포트 번호는 50070입니다. 다음 URL을 사용하여 브라우저에서 Hadoop 서비스를 가져옵니다.

http://localhost:50070

5 단계-클러스터의 모든 애플리케이션 확인

클러스터의 모든 애플리케이션에 액세스하기위한 기본 포트 번호는 8088입니다.이 서비스를 방문하려면 다음 URL을 사용하십시오.

http://localhost:8088/

HBase 설치

독립 실행 형 모드, 의사 분산 모드 및 완전 분산 모드의 세 가지 모드 중 하나로 HBase를 설치할 수 있습니다.

독립 실행 형 모드에서 HBase 설치

안정적인 최신 버전의 HBase 양식 다운로드 http://www.interior-dsgn.com/apache/hbase/stable/"wget"명령을 사용하고 tar "zxvf"명령을 사용하여 압축을 풉니 다. 다음 명령을 참조하십시오.

$cd usr/local/
$wget http://www.interior-dsgn.com/apache/hbase/stable/hbase-0.98.8-
hadoop2-bin.tar.gz
$tar -zxvf hbase-0.98.8-hadoop2-bin.tar.gz

슈퍼 유저 모드로 전환하고 HBase 폴더를 아래 그림과 같이 / usr / local로 이동합니다.

$su
$password: enter your password here
mv hbase-0.99.1/* Hbase/

독립 실행 형 모드에서 HBase 구성

HBase를 진행하기 전에 다음 파일을 편집하고 HBase를 구성해야합니다.

hbase-env.sh

HBase 용 Java Home을 설정하고 엽니 다. hbase-env.shconf 폴더의 파일. JAVA_HOME 환경 변수를 편집하고 아래와 같이 기존 경로를 현재 JAVA_HOME 변수로 변경합니다.

cd /usr/local/Hbase/conf
gedit hbase-env.sh

그러면 HBase의 env.sh 파일이 열립니다. 이제 기존JAVA_HOME 아래에 표시된대로 현재 값으로 값.

export JAVA_HOME=/usr/lib/jvm/java-1.7.0

hbase-site.xml

HBase의 기본 구성 파일입니다. / usr / local / HBase에서 HBase 홈 폴더를 열어 데이터 디렉토리를 적절한 위치로 설정합니다. conf 폴더 안에는 여러 파일이 있습니다.hbase-site.xml 아래와 같이 파일.

#cd /usr/local/HBase/
#cd conf
# gedit hbase-site.xml

내부 hbase-site.xml파일에서 <configuration> 및 </ configuration> 태그를 찾을 수 있습니다. 그 안에 아래와 같이 "hbase.rootdir"이라는 이름으로 속성 키 아래에 HBase 디렉터리를 설정합니다.

<configuration>
   //Here you have to set the path where you want HBase to store its files.
   <property>
      <name>hbase.rootdir</name>
      <value>file:/home/hadoop/HBase/HFiles</value>
   </property>
	
   //Here you have to set the path where you want HBase to store its built in zookeeper  files.
   <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/home/hadoop/zookeeper</value>
   </property>
</configuration>

이것으로 HBase 설치 및 구성 부분이 성공적으로 완료됩니다. 다음을 사용하여 HBase를 시작할 수 있습니다.start-hbase.shHBase의 bin 폴더에 제공되는 스크립트. 이를 위해 HBase Home Folder를 열고 아래와 같이 HBase 시작 스크립트를 실행합니다.

$cd /usr/local/HBase/bin
$./start-hbase.sh

모든 것이 잘되면 HBase 시작 스크립트를 실행하려고하면 HBase가 시작되었다는 메시지가 표시됩니다.

starting master, logging to /usr/local/HBase/bin/../logs/hbase-tpmaster-localhost.localdomain.out

의사 분산 모드에서 HBase 설치

이제 HBase가 의사 분산 모드로 설치되는 방법을 확인하겠습니다.

HBase 구성

HBase를 진행하기 전에 로컬 시스템 또는 원격 시스템에서 Hadoop 및 HDFS를 구성하고 실행 중인지 확인하십시오. HBase가 실행 중이면 중지하십시오.

hbase-site.xml

hbase-site.xml 파일을 편집하여 다음 속성을 추가합니다.

<property>
   <name>hbase.cluster.distributed</name>
   <value>true</value>
</property>

HBase가 실행되어야하는 모드를 언급합니다. 로컬 파일 시스템의 동일한 파일에서 hdfs : //// URI 구문을 사용하여 HDFS 인스턴스 주소 인 hbase.rootdir을 변경합니다. 포트 8030의 로컬 호스트에서 HDFS를 실행하고 있습니다.

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

HBase 시작

구성이 끝나면 HBase 홈 폴더로 이동하여 다음 명령을 사용하여 HBase를 시작합니다.

$cd /usr/local/HBase
$bin/start-hbase.sh

Note: HBase를 시작하기 전에 Hadoop이 실행 중인지 확인하십시오.

HDFS에서 HBase 디렉토리 확인

HBase는 HDFS에 디렉토리를 생성합니다. 생성 된 디렉토리를 보려면 Hadoop bin으로 이동하고 다음 명령을 입력합니다.

$ ./bin/hadoop fs -ls /hbase

모든 것이 잘되면 다음과 같은 출력을 제공합니다.

Found 7 items
drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/.tmp
drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/WALs
drwxr-xr-x - hbase users 0 2014-06-25 18:48 /hbase/corrupt
drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/data
-rw-r--r-- 3 hbase users 42 2014-06-25 18:41 /hbase/hbase.id
-rw-r--r-- 3 hbase users 7 2014-06-25 18:41 /hbase/hbase.version
drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/oldWALs

마스터 시작 및 중지

"local-master-backup.sh"를 사용하여 최대 10 개의 서버를 시작할 수 있습니다. HBase, master의 홈 폴더를 열고 다음 명령을 실행하여 시작합니다.

$ ./bin/local-master-backup.sh 2 4

백업 마스터를 죽이려면 프로세스 ID가 필요합니다.이 ID는 다음과 같은 파일에 저장됩니다. “/tmp/hbase-USER-X-master.pid.” 다음 명령을 사용하여 백업 마스터를 종료 할 수 있습니다.

$ cat /tmp/hbase-user-1-master.pid |xargs kill -9

RegionServers 시작 및 중지

다음 명령을 사용하여 단일 시스템에서 여러 리젼 서버를 실행할 수 있습니다.

$ .bin/local-regionservers.sh start 2 3

리젼 서버를 중지하려면 다음 명령을 사용하십시오.

$ .bin/local-regionservers.sh stop 3

 

HBaseShell 시작

HBase를 성공적으로 설치 한 후 HBase Shell을 시작할 수 있습니다. 다음은 HBase 셸을 시작하기 위해 따라야하는 일련의 단계입니다. 터미널을 열고 슈퍼 사용자로 로그인하십시오.

Hadoop 파일 시스템 시작

Hadoop 홈 sbin 폴더를 탐색하고 아래와 같이 Hadoop 파일 시스템을 시작합니다.

$cd $HADOOP_HOME/sbin
$start-all.sh

HBase 시작

HBase 루트 디렉터리 bin 폴더를 검색하고 HBase를 시작합니다.

$cd /usr/local/HBase
$./bin/start-hbase.sh

HBase 마스터 서버 시작

이것은 동일한 디렉토리입니다. 아래와 같이 시작하십시오.

$./bin/local-master-backup.sh start 2 (number signifies specific
server.)

시작 지역

아래와 같이 리젼 서버를 시작하십시오.

$./bin/./local-regionservers.sh start 3

HBase 셸 시작

다음 명령을 사용하여 HBase 셸을 시작할 수 있습니다.

$cd bin
$./hbase shell

그러면 아래와 같이 HBase 셸 프롬프트가 표시됩니다.

2014-12-09 14:24:27,526 INFO [main] Configuration.deprecation:
hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.98.8-hadoop2, r6cfc8d064754251365e070a10a82eb169956d5fe, Fri
Nov 14 18:26:29 PST 2014

hbase(main):001:0>

HBase 웹 인터페이스

HBase의 웹 인터페이스에 액세스하려면 브라우저에 다음 URL을 입력하십시오.

http://localhost:60010

이 인터페이스는 현재 실행중인 리젼 서버, 백업 마스터 및 HBase 테이블을 나열합니다.

HBase 지역 서버 및 백업 마스터

HBase 테이블

자바 환경 설정

Java 라이브러리를 사용하여 HBase와 통신 할 수도 있지만 Java API를 사용하여 HBase에 액세스하기 전에 해당 라이브러리에 대한 클래스 경로를 설정해야합니다.

클래스 경로 설정

프로그래밍을 진행하기 전에 클래스 경로를 HBase 라이브러리로 설정하십시오. .bashrc파일. 열다.bashrc 아래와 같이 편집기에서.

$ gedit ~/.bashrc

아래와 같이 HBase 라이브러리 (HBase의 lib 폴더)에 대한 클래스 경로를 설정합니다.

export CLASSPATH = $CLASSPATH://home/hadoop/hbase/lib/*

이는 Java API를 사용하여 HBase에 액세스하는 동안 "클래스를 찾을 수 없음"예외를 방지하기위한 것입니다.