HDFS - HBase 설치

Posted 05 10, 2013 21:36, Filed under: BigData


1) Hadoop 설치 : http://develop.sunshiny.co.kr/868
2) Zookeeper 설치 :
http://develop.sunshiny.co.kr/886

HBase 설치 버전 : hbase-0.95.0

# 환경 설정 확인 : Hadoop, Zookeeper, HBase

[hadoop@master ~]$ vi .bash_profile
JAVA_HOME=/home/hadoop/jdk1.7.0_17
export JAVA_HOME

export HADOOP_HOME=/home/hadoop/hadoop-1.1.2
export HBASE_HOME=/home/hadoop/hbase
export ZOOKEEPER_HOME=/home/hadoop/zookeeper

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin

export PATH


# conf/hbase-env.sh 설정

[hadoop@master conf]$ vi hbase-env.sh
# The java implementation to use.  Java 1.6 required.
export JAVA_HOME=/home/hadoop/jdk1.7.0_17/

# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false


### HDFS 연동 설정 ###

아래의 두가지 설정 방식중 1번은 필수, 2번은 선택

1) hbase-site.xml(최소 설정)을 생성.
2) 심볼릭 링크로 $HADOOP_HOME/conf/hdfs-site.xml 파일 의 내용 전체를 참고.

# (1) conf/hbase-site.xml 설정 추가

[hadoop@master conf]$ vi hbase-site.xml

 <property>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>
  <name>hbase.rootdir</name>
  <value>hdfs://master.namenode:9000/hbase</value>
 </property>
 <property>  
  <name>hbase.cluster.distributed</name>
  <value>true</value>
 </property>
 <property>
   <name>hbase.tmp.dir</name>
   <value>/home/hadoop/hbase/tmp</value>
 </property>
 <property>
   <name>hbase.ZooKeeper.quorum</name>
   <value>master.namenode,secondary.namenode,datanode01</value>
 </property>
</configuration>

# (2) hadoop/conf/hdfs-site.xml 파일을 링크로 연결

[hadoop@master conf]$ ln -sf $HADOOP_HOME/conf/hdfs-site.xml $HBASE_HOME/conf/hdfs-site.xml
[hadoop@master conf]$ ls -al
합계 40
drwxr-xr-x. 2 hadoop hadoop 4096 2013-05-10 18:36 .
drwxrwxr-x. 7 hadoop hadoop 4096 2013-05-10 14:35 ..
-rw-r--r--. 1 hadoop hadoop 1026 2013-03-13 04:11 hadoop-metrics2-hbase.properties
-rw-r--r--. 1 hadoop hadoop 3385 2013-03-13 04:11 hbase-env.cmd
-rw-r--r--. 1 hadoop hadoop 6234 2013-05-10 18:33 hbase-env.sh
-rw-r--r--. 1 hadoop hadoop 2257 2013-03-13 04:11 hbase-policy.xml
-rw-r--r--. 1 hadoop hadoop 1351 2013-05-10 18:31 hbase-site.xml
lrwxrwxrwx. 1 hadoop hadoop   44 2013-05-10 18:36 hdfs-site.xml -> /home/hadoop/hadoop-1.1.2/conf/hdfs-site.xml
-rw-r--r--. 1 hadoop hadoop 3551 2013-03-22 14:11 log4j.properties
-rw-r--r--. 1 hadoop hadoop   46 2013-05-10 18:34 regionservers


# regionservers 설정

[hadoop@master conf]$ vi regionservers

master.namenode
secondary.namenode
datanode01


# Hadoop, Zookeeper 라이브러리 버전 확인

[hadoop@master lib]$ ls -al zoo* hadoo*
-rw-r--r--. 1 hadoop hadoop 4036158 2013-03-23 07:30 hadoop-core-1.1.2.jar
-rw-r--r--. 1 hadoop hadoop  779974 2013-03-23 07:30 zookeeper-3.4.5.jar


# 설정파일 배포

master.namenode 에 설치되어 있는 hbase 디렉토리 전체를 배포

// secondary.namenode 원격전송
scp -r /home/hadoop/hbase secondary.namenode:/home/hadoop/hbase
 
// datanode 원격전송
scp -r /home/hadoop/hbase datanode01:/home/hadoop/hbase


# Hbase 구동및 확인

// master.namenode 에서만 구동(다른 노드는 HRegionServer 자동 실행)
[hadoop@master bin]$ ./start-hbase.sh
[hadoop@master bin]$ jps
1000 NameNode
7568 HMaster
1201 JobTracker
6668 QuorumPeerMain
7833 Jps
7674 HRegionServer

// secondary.namenode 에서 확인
[hadoop@secondary ~]$ jps
17066 QuorumPeerMain
14766 DataNode
17743 Jps
14999 TaskTracker
14895 SecondaryNameNode
17646 HRegionServer

// datanode 에서 확인
[hadoop@zookeeper1 ~]$ jps
10056 HRegionServer
7981 TaskTracker
7894 DataNode
10080 Jps
9553 QuorumPeerMain


# Hadoop에서 hbase 디렉토리 생성 확인

[hadoop@master bin]$ pwd
/home/hadoop/hadoop-1.1.2/bin
[hadoop@master bin]$ ./hadoop fs -ls /hbase
Found 6 items
drwxr-xr-x   - hadoop supergroup          0 2013-05-10 19:24 /hbase/.META.
drwxr-xr-x   - hadoop supergroup          0 2013-05-10 19:25 /hbase/.logs
drwxr-xr-x   - hadoop supergroup          0 2013-05-10 19:25 /hbase/.oldlogs
drwxr-xr-x   - hadoop supergroup          0 2013-05-10 19:25 /hbase/.tmp
-rw-r--r--   2 hadoop supergroup         42 2013-05-10 19:24 /hbase/hbase.id
-rw-r--r--   2 hadoop supergroup          7 2013-05-10 19:24 /hbase/hbase.version


# HBase shell 테스트

[hadoop@master bin]$ pwd
/home/hadoop/hbase/bin
[hadoop@master bin]$ ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.95.0-hadoop1, rUnknown, Tue Apr  2 20:41:41 PDT 2013

hbase(main):001:0> list
TABLE                                                                                                                    
0 row(s) in 0.3940 seconds

=> []
hbase(main):002:0> create '1', '2'
0 row(s) in 1.2640 seconds

=> Hbase::Table - 1
hbase(main):003:0> list
TABLE                                                                                                                    
1                                                                                                                        
1 row(s) in 0.0250 seconds

=> ["1"]
hbase(main):004:0>

hbase(main):005:0> create '2', '3'
0 row(s) in 1.5770 seconds

=> Hbase::Table - 2
hbase(main):006:0> list
TABLE                                                                                                                    
1                                                                                                                        
2                                                                                                                        
2 row(s) in 0.0620 seconds

=> ["1", "2"]


# HBase와 ZooKeeper 관계성(의존)

 - HBase는 ZooKeeper(분산 상호조정)에 의존적이며 기본적으로 ZooKeeper 인스턴스를 사용하여 전반적인 클러스터 상태를 관리합니다.
 - ZooKeeper를 통해서 리전(RegionServer) 할당


# ZooKeeper 중지시 에러 발생
 - HBase Shell 실행중 주키퍼 접속이 되지 않을때, list 검색은 되지만 테이블 신규  생성은 되지 않음
 - 아래는 ZooKeeper 중지후 HBase Shell 실행시 에러

[hadoop@master bin]# hbase shell
2015-05-18 09:56:17,825 INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2015-05-18 09:56:38,614 ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 4 attempts
2015-05-18 09:56:38,615 WARN  [main] zookeeper.ZKUtil: hconnection-0x3e5e898b0x0, quorum=localhost:2181, baseZNode=/hbase Unable to set watcher on znode (/hbase/hbaseid)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
        at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
        at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:222)
        at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:481)
        at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65)
        at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:86)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:850)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218)
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
        at org.jruby.javasupport.JavaMethod.invokeStaticDirect(JavaMethod.java:362)
        at org.jruby.java.invokers.StaticMethodInvoker.call(StaticMethodInvoker.java:58)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
        at org.jruby.RubyClass.newInstance(RubyClass.java:822)
        at org.jruby.RubyClass$i$newInstance.call(RubyClass$i$newInstance.gen:65535)
        at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrNBlock.call(JavaMethod.java:249)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
        at usr.lib.hbase.bin.$_dot_dot_.bin.hirb.__file__(/usr/lib/hbase/bin/../bin/hirb.rb:131)
        at usr.lib.hbase.bin.$_dot_dot_.bin.hirb.load(/usr/lib/hbase/bin/../bin/hirb.rb)
        at org.jruby.Ruby.runScript(Ruby.java:697)
        at org.jruby.Ruby.runScript(Ruby.java:690)
        at org.jruby.Ruby.runNormally(Ruby.java:597)
        at org.jruby.Ruby.runFromMain(Ruby.java:446)
        at org.jruby.Main.doRunFromMain(Main.java:369)
        at org.jruby.Main.internalRun(Main.java:258)
        at org.jruby.Main.run(Main.java:224)
        at org.jruby.Main.run(Main.java:208)
        at org.jruby.Main.main(Main.java:188)
2015-05-18 09:56:38,620 ERROR [main] zookeeper.ZooKeeperWatcher: hconnection-0x3e5e898b0x0, quorum=localhost:2181, baseZNode=/hbase Received unexpected KeeperException, re-throwing exception
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
        at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
        at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:222)
        at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:481)
        at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65)
        at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:86)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:850)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218)
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
        at org.jruby.javasupport.JavaMethod.invokeStaticDirect(JavaMethod.java:362)
        at org.jruby.java.invokers.StaticMethodInvoker.call(StaticMethodInvoker.java:58)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
        at org.jruby.RubyClass.newInstance(RubyClass.java:822)
        at org.jruby.RubyClass$i$newInstance.call(RubyClass$i$newInstance.gen:65535)
        at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrNBlock.call(JavaMethod.java:249)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
        at usr.lib.hbase.bin.$_dot_dot_.bin.hirb.__file__(/usr/lib/hbase/bin/../bin/hirb.rb:131)
        at usr.lib.hbase.bin.$_dot_dot_.bin.hirb.load(/usr/lib/hbase/bin/../bin/hirb.rb)
        at org.jruby.Ruby.runScript(Ruby.java:697)
        at org.jruby.Ruby.runScript(Ruby.java:690)
        at org.jruby.Ruby.runNormally(Ruby.java:597)
        at org.jruby.Ruby.runFromMain(Ruby.java:446)
        at org.jruby.Main.doRunFromMain(Main.java:369)
        at org.jruby.Main.internalRun(Main.java:258)
        at org.jruby.Main.run(Main.java:224)
        at org.jruby.Main.run(Main.java:208)
        at org.jruby.Main.main(Main.java:188)
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.0-cdh5.4.0, rUnknown, Tue Apr 21 12:21:37 PDT 2015

hbase(main):001:0>
hbase(main):002:0*
hbase(main):003:0*
hbase(main):004:0* list
TABLE                                                                                                     
1                                                                                                         
2                                                                                                         
2 row(s) in 1.0460 seconds

=> ["1", "2"]
hbase(main):005:0>
hbase(main):006:0*
hbase(main):007:0* create '3','4'
0 row(s) in 0.4170 seconds

=> Hbase::Table - 3
hbase(main):008:0> list
TABLE                                                                                                     
1                                                                                                         
2                                                                                                         
3                                                                                                         
3 row(s) in 0.0140 seconds

=> ["1", "2", "3"]
hbase(main):009:0> list
TABLE                                                                                                     
1                                                                                                         
2                                                                                                         
3                                                                                                         
3 row(s) in 0.0130 seconds

=> ["1", "2", "3"]


※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
05 10, 2013 21:36 05 10, 2013 21:36


Trackback URL : http://develop.sunshiny.co.kr/trackback/887

  1. # 니코 2013年 06月 15日 22時 29分 Delete Reply

    안녕하세요 글 너무 잘 읽었습니다. ㅎㅎ
    한가지 궁금한게 있는데요 ㅠㅠ
    # hadoop/conf/hdfs-site.xml 파일을 링크로 연결
    이부분은 왜 해주는 것인가요?
    또 hbase및에는 hdfs-site.xml파일이 없는데 어떻게 해주어야 하나요?
    제가 많이 부족한지라..ㅠㅠ
    덕분에 많이 배우고 있습니다.

    1. Re: # sunshiny 2013年 06月 17日 13時 10分 Delete

      안녕하세요.
      글 남겨주셔서 감사합니다^^

      여쭤보신 내용에 대해서 확인을 해봤습니다.

      파일이 없다고 하신거는 아마도 hbase-site.xml 파일을 말씀하신것 같은데요.
      $HBASE_HOME/conf/hbase-site.xml 파일은 기본 껍데기만 존재하던 hbase-site.xml 파일에 옵션을 추가 한 것 입니다.

      $HADOOP_HOME/conf/hdfs-site.xml 파일을 $HBASE_HOME/conf/ 디렉토리에 링크로 설정을 한부분에 대해서는, 하둡 분산 시스템의 설정을 hbase에서 전체 참고 하고자 할때를 위한 것입니다.

      결론적으로,
      hbase-site.xml 파일을 생성한 것과, hdfs-site.xml 파일을 링크로 설정한 것은 HDFS(하둡분산파일시스템) 과의 연동을 위한 것 중에 하나입니다.
      hbase-site.xml 파일에 설정한 옵션들은 HDFS와의 연동에 필수(최소)사항으로 이해하시면 될것 같습니다.

      테스트를 해보니 심볼릭 링크 없이 hbase-site.xml 파일의 설정만으로도 HDFS와 정상적으로 연동 되는걸 확인했습니다.

      그러나 hbase-site.xml 설정 없이 심볼릭 링크(hdfs-site.xml)만으로는 hbase 구동이 되질 않았습니다.
      이부분은 저도 더 확인을 해봐야 할것 같습니다.^^;

      아래 경로의 레퍼런스 내용을 참고 했습니다.
      http://hbase.apache.org/book/standalone_dist.html#distributed

      2.2.2.2.3. HDFS Client Configuration
      Of note, if you have made HDFS client configuration on your Hadoop cluster
      -- i.e. configuration you want HDFS clients to use as opposed to server-side configurations
      -- HBase will not see this configuration unless you do one of the following:
      * Add a pointer to your HADOOP_CONF_DIR to the HBASE_CLASSPATH environment variable in hbase-env.sh.
      * Add a copy of hdfs-site.xml (or hadoop-site.xml) or, better, symlinks, under ${HBASE_HOME}/conf, or
      * if only a small set of HDFS client configurations, add them to hbase-site.xml.

      제가 적은 지식으로 hbase 설정을 정리했는데요, 님 덕분에 저도 좀더 공부해보게 됐습니다.

      감사합니다^^

  2. # 비밀방문자 2014年 11月 05日 09時 47分 Delete Reply

    관리자만 볼 수 있는 댓글입니다.

    1. Re: # sunshiny 2014年 11月 05日 11時 23分 Delete

      안녕하세요^^

      Hadoop을 이용한 분산 환경을 HDFS(Hadoop Distributed File System)라고 합니다.
      그리고 HBase는 하둡 환경에 종속적인 컬럼기반 NoSQL이구요.
      HBase등을 비롯한 NoSQL 데이터베이스를 사용하는 이유중에는,
      RDBMS(Oracle, Mysql 등등)에서 처럼 복잡한 데이터 구조나 연산이 필요하지 않고, 많은 데이터의 읽기 쓰기등의 성능 위주의 환경에서 활용도가 높습니다.

      RDBMS vs NoSQL : http://develop.sunshiny.co.kr/883

      일반적으로 내외부에서 HBase에 데이터를 입출력할때는 HBase에 포함된 라이브러리의 자바 API 또는 Avro, Thrift등을 사용할 수 있습니다.
      HBase에서 Map/Reduce를 사용하는 경우에는 스키마 조인등의 별도 작업에 필요에 따라 사용할 수 있습니다.

      추가로 HDFS는 기본적으로 분산된 데이터 저장소라고 이해하시면 될것 같습니다.
      그래서, HDFS에는 HBase 데이터 이외에도 로그파일, 텍스트 문서, 이미지, 동영상등의 모든 데이터를 일반 PC의 드라이브처럼 저장할 수 있습니다.
      다만 PC와 다른점은. 많은 데이터들을 일정크기(기본 1블록:64MB) 단위로 여러 Hadoop 클러스터에 분리해서 저장을 하는 것입니다.
      분산해서 저장하는 것의 장점중에는 대량의 데이터를 처리하고 읽는 속도, 데이터 복제를 이용한 장애 극복(failover)등이 있습니다.

      HBase도 HDFS 환경에 맞게 분산해서 읽기 쓰기등을 처리 합니다.

      좋은 답변이 될지 모르겠습니다.
      더 자세한 사항은 관련된 자료가 많으니 찾아보시고 테스트 해보시면 좋을 것 같습니다.
      또 다른 궁금한 점이 있으시면 글 남겨주세요.

      좋은 시간 보내시길 바랍니다.^^

Leave a comment

« Previous : 1 : ... 129 : 130 : 131 : 132 : 133 : 134 : 135 : 136 : 137 : ... 648 : Next »

Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. 안녕하세요^^ 배그핵
  2. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  3. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  4. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny
  5. 감사합니다 많은 도움 되었습니다!ㅎㅎ 프리시퀸스

Recent Trackbacks

  1. church building construction church building construction %M
  2. wireless clocks transmitter wireless clocks transmitter %M
  3. how to build a metal building how to build a metal building %M
  4. builder builder %M
  5. social media management company social media management company %M

Calendar

«   12 2019   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2781546 HIT
TODAY 1129 HIT
YESTERDAY 1360 HIT