hbase笔记

来源:互联网 发布:linux修改tomcat端口 编辑:程序博客网 时间:2024/04/29 05:15

1 安装

下载,解压

配置

hbase-env.sh 
java_home, HBASE_MANAGES_ZK:true
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
export HBASE_MANAGES_ZK=true



hbase-site.xml


<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,h1,h2</value>
                          </property>
                          <property>
                                  <name>hbase.zookeeper.property.dataDir</name>
                                          <value>/home/hadoop/zookeeper-3.4.3</value>
                                          </property>
</configuration>


注意:<property>
    <name>dfs.support.append</name>
    <value>true</value>
  </property>

分布式设置

其他参数

hbase.master.port 端口
hbase.cluster.distributed 是不是分布式
hbase.tmp.dir 临时文件地址
hbase.master.info.port  web 状态监控绑定地址,默认0.0.0.0
hbase.master.info.bindAddress web状态监控端口 默认60010 (master:60010/status查看hbase状况)
hbase.client.write.buffer  默认2MB.写的缓存大小
                    


regionservers

server列表


2启动与关闭

./start-hbase.sh

./stop-hbase.sh

http://master:60010/status查看状态


3 hbase介绍

面向列族的数据库

Hbase是bigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。
与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族(row family)

Row Key

column-family1

column-family2

column-family3

 

column1

column1

column1

column2

column3

column1

key1

t1:abc
t2:gdxdf

t4:dfads
t3:hello
t2:world

key2

t3:abc
t1:gdxdf

t4:dfads
t3:hello

t2:dfdsfa
t3:dfdf

key3

t2:dfadfasd
t1:dfdasddsf


4 物理存储

 Table 在行的方向上分割为多个Hregion。
 每个server上面一个HregionServer 多个regions.每个表刚刚开始一个region,随着表的不断增加,region分裂成多个 然后负载到其他server一个region只能在一个server上,不会迁移到别的server 


 表的存储结构:
-ROOT-(储存regions的信息,同hadoop namenode 的images)
.META.
宽表1
  结构
  内容
    region1:
      -region infor (store)
      -columnfamily1 (store)
        -StoreFile        
      -columnfamily2 (store)
      -columnfamily3... (store)
    region2:....
    region3:....
宽表2...
宽表3...






region:
store
MEMstore
StoreFile
block
 
 负载均衡:
 客户端寻址,通过_ROOT_,.META. 找到region地址,然后访问信息.

regions自动分裂和手动合并:

---------------------------我是分割线----------------------------------------------------未完待补充----------------------------------------

5 写数据


6操作


7api
java
mr inputfomat
avro 
rest hbase-daemen.sh start rest  hbase-daemen.sh stop  rest  8080
thrift hbase-daemen.sh start thrift 9090




8读写连接与hadoop参数调整
集群的ulimit值http://wiki.apache.org/hadoop/Hbase/FAQ
dfs.datanode.max.xcievers 256个值
 
9模式
 行键设计
 二级索引
 lucene集成
 宽表
 
10批量加载http://hbase.apache.org/docs/current/bulk-loads.html
 
 




原创粉丝点击