搜档网
当前位置:搜档网 › hbase简介与安装

hbase简介与安装

hbase简介与安装
hbase简介与安装

Hbase简介

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bi gtable中的海量数据,HBase同样利用HadoopMapReduce来处理HBase中的海量数据;Go ogle Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。

HBase系统架构如图所示

Client

HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC

Zookeeper

Zookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer 也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRe gionServer的健康状态。此外,Zookeeper也避免了HMaster的单点问题,见下文描述HMaster

HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master El ection机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作:

1. 管理用户对Table的增、删、改、查操作

2. 管理HRegionServer的负载均衡,调整Region分布

3. 在Region Split后,负责新Region的分配

4. 在HRegionServer停机后,负责失效HRegionServer上的Regions迁移

HRegionServer

HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase 中最核心的模块。

HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table中的一个Region,HRegion中由多个HStore组成。每个HStore对应了Table中的一个Column Famil y的存储,可以看出每个Column Family其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在一个Column Family中,这样最高效。

-ROOT- && .META. Table

HBase中有两张特殊的Table,-ROOT-和.META.

? .META.:记录了用户表的Region信息,.META.可以有多个regoin

? -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region

? Zookeeper中记录了-ROOT-表的location

Client访问用户数据之前需要首先访问zookeeper,然后访问-ROOT-表,接着访问.MET A.表,最后才能找到用户数据的位置去访问,中间需要多次网络操作,不过client端会做c ache缓存。

Hbase的安装:

集群环境:

192.168.11.12 作为hbase主master

192.168.11.14 作为hbase备用master

192.168.11.16作为zookeeperNode/HRegionsever

192.168.11.18作为zookeeperNode/HRegionsever

192.168.11.20作为zookeeperNode/HRegionsever

192.168.11.12——192.168.11.20是hdfs的datanode

Hdfs的namenode为192.168.11.8 主机名为hadoopNN00

软件版本:

Hadoop-0.20.1-dev

Hbase-0.90.3

Hbase的安装是基于hdfs的,Hbase的配置主要涉及conf目录下的三个文件:hbase-env. sh,hbase-site.xml,regionserver。

Hbase-env.sh配置如下:

#必须配置的项目如下:

export JA V A_HOME=/root/jdk1.6.0_25

export HBASE_OPTS="-ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"

export HBASE_MANAGES_ZK=true

export HBASE_CLASSPATH=/usr/local/hadoop-0.20.1-dev/conf

调优配置项如下:

# Extra Java CLASSPATH elements.Optional.

# export HBASE_CLASSPATH=

# The maximum amount of heap to use, in MB. Default is 1000.

# export HBASE_HEAPSIZE=1000

# Extra Java runtime options.

# Below are what we set by default. May only work with SUN JVM.

# For more on why as well as other possible settings,

# see https://www.sodocs.net/doc/d27678294.html,/hadoop/PerformanceTuning

export HBASE_OPTS="-ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"

# Uncomment below to enable java garbage collection logging.

# export HBASE_OPTS="$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+Print GCDateStamps -Xloggc:$HBASE_HOME/logs/gc-hbase.log"

# Uncomment and adjust to enable JMX exporting

# See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to c onfigure remote password access.

# More details at: https://www.sodocs.net/doc/d27678294.html,/javase/6/docs/technotes/guides/management/agent.ht ml

#

# export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun. management.jmxremote.authenticate=false"

# export HBASE_MASTER_OPTS="$HBASE_JMX_BASE -Dcom.sun.management.jmx remote.port=10101 -javaagent:lib/HelloWorldAgent.jar"

# export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_BASE -Dcom.sun.manage ment.jmxremote.port=10102"

# export HBASE_THRIFT_OPTS="$HBASE_JMX_BASE -Dcom.sun.management.jmxre mote.port=10103"

# export HBASE_ZOOKEEPER_OPTS="$HBASE_JMX_BASE -Dcom.sun.management. jmxremote.port=10104"

# File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/region servers by default.

# export HBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers

# Extra ssh options. Empty by default.

# export HBASE_SSH_OPTS="-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR "

# Where log files are stored. $HBASE_HOME/logs by default.

# export HBASE_LOG_DIR=${HBASE_HOME}/logs

# A string representing this instance of hbase. $USER by default.

# export HBASE_IDENT_STRING=$USER

# The scheduling priority for daemon processes. See 'man nice'.

# export HBASE_NICENESS=10

# The directory where pid files are stored. /tmp by default.

# export HBASE_PID_DIR=/var/hadoop/pids

# Seconds to sleep between slave commands. Unset by default. This

# can be useful in large clusters, where, e.g., slave rsyncs can

# otherwise arrive faster than the master can service them.

# export HBASE_SLA VE_SLEEP=0.1

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

export HBASE_CLASSPATH=/usr/local/hadoop-0.20.1-dev/conf

hbase-site.xml配置如下:

hbase.rootdir

hdfs://hadoopNN00:9000/hbase

The directory shared by region servers.

hbase.master.port

60000

hbase.cluster.distributed

true

hbase.zookeeper.property.dataDir

/usr/local/hbase/zookeeper

hbase.zookeeper.property.clientPort

2181

hbase.zookeeper.quorum

192.168.11.16,192.168.11.18,192.168.11.20

其中,hbase.rootdir这一项的配置必须与hdfs的https://www.sodocs.net/doc/d27678294.html,.default项一致,还要为hbase 指定根目录/hbase

hbase.rootdir

hdfs://hadoopNN00:9000/hbase

The directory shared by region servers.

Regionserver的配置如下:

192.168.11.16

192.168.11.18

192.168.11.20

配置完毕后将hbase拷贝到各个机器中的相同目录下。

启动habse

在192.168.11.12上启动hbase集群:bin/start-hbase.sh,首先启动的是zookeeper,再是master,最后是HRegionserver

educoder平台hbase的安装与环境搭建

第一关Hbase数据库的安装 mkdir /app 回车 cd /opt 回车 ulimit -f 1000000 回车 tar -zxvf hbase-2.1.1-bin.tar.gz -C /app 回车 echo $JAVA_HOME 回车;(复制这个命令所显示出的路径,要用) 结果是:/usr/lib/jvm/jdk1.8.0_111 vim /app/hbase-2.1.1/conf/hbase-env.sh 回车,翻到第二十八行,找到# export JAVA_HOME=/usr/java/jdk1.8.0/把前面的# 删了、把/usr/java/jdk1.8.0/换成export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111 esc,wq cd (回到根目录) 回车 vim /app/hbase-2.1.1/conf//hbase-site.xml 回车 到最后一行把代码复制到标签上 hbase.rootdir file:///root/data/hbase/data hbase.zookeeper.property.dataDir /root/data/hbase/zookeeper hbase.unsafe.stream.capability.enforce false 然后wq vim /etc/profile 在末尾添加以下 # SET HBASE_enviroment HBASE_HOME=/app/hbase-2.1.1 export PATH=$PATH:$HBASE_HOME/bin 然后wq source /etc/profile(使配置生效) 回车

(完整版)hbase学习系统架构图

HBase 系统架构图 组成部件说明 Client: 使用HBase RPC机制与HMaster和HRegionServer进行通信 Client与HMaster进行通信进行管理类操作 Client与HRegionServer进行数据读写类操作 Zookeeper: Zookeeper Quorum存储-ROOT-表地址、HMaster地址 HRegionServer把自己以Ephedral方式注册到Zookeeper中,HMaster随时感知各个HRegionServer的健康状况 Zookeeper避免HMaster单点问题 HMaster: HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Ma ster Election机制保证总有一个Master在运行 主要负责Table和Region的管理工作: 1 管理用户对表的增删改查操作 2 管理HRegionServer的负载均衡,调整Region分布 3 Region Split后,负责新Region的分布 4 在HRegionServer停机后,负责失效HRegionServer上Region迁移 HRegionServer: HBase中最核心的模块,主要负责响应用户I/O请求,向HDFS文件系统中读写数据

HRegionServer管理一些列HRegion对象; 每个HRegion对应Table中一个Region,HRegion由多个HStore组成; 每个HStore对应Table中一个Column Family的存储; Column Family就是一个集中的存储单元,故将具有相同IO特性的Column放在一个Column Family会更高效 HStore: HBase存储的核心。由MemStore和StoreFile组成。 MemStore是Sorted Memory Buffer。用户写入数据的流程: Client写入-> 存入MemStore,一直到MemStore满-> Flush成一个StoreFil e,直至增长到一定阈值-> 触发Compact合并操作-> 多个StoreFile合并成一个St oreFile,同时进行版本合并和数据删除-> 当StoreFiles Compact后,逐步形成越来越大的StoreFile -> 单个StoreFile大小超过一定阈值后,触发Split操作,把当前Regio n Split成2个Region,Region会下线,新Split出的2个孩子Region会被HMaster 分配到相应的HRegionServer上,使得原先1个Region的压力得以分流到2个Regio n上。 由此过程可知,HBase只是增加数据,有所得更新和删除操作,都是在Compact阶段做的,所以,用户写操作只需要进入到内存即可立即返回,从而保证I/O高性能。

Hbase安装配置文档

HBase安装和配置

1、准备工作 安装HBase之前必须先安装Hadoop和ZooKeeper以及jdk 这里安装的是Hadoop-2.7.1、ZooKeeper-3.4.6和jdk-1.7.0_79,具体安装参见其它文档 环境:3台CentOS6.5,64位 Master IP1 Slave1 IP2 Slave2 IP3 注:IP1、IP2、IP3是自己服务器的真实IP地址,服务器的主机名可以自己命名。 2、下载hbase https://www.sodocs.net/doc/d27678294.html,/apache/hbase/ 3、4需要在每一个hbase相关服务器上进行操作 3、设置ulimit vim /etc/security/limits.conf * hbase nofile 65536 * hard nofile 65536 保存后重新进入下终端。 4、配置环境变量 vim /etc/profile

追加下面两行 export HBASE_HOME=/home/hbase/hbase-1.1.3 export PATH=$HBASE_HOME/bin:$PATH 使环境变量生效 source /etc/profile 5、移动安装包到/home/hbase下,并解压 cd /home mkdir hbase tar -xvf hbase-1.1.3.tar.gz 6、配置hbase-env.sh 在文件/home/hbase/hbase-1.1.3/conf/hbase-env.sh中修改下面两行。如果配置文件中已经有设置,需要调整为下面的参数。 export JAVA_HOME=/usr/java/jdk1.7.0_79/ export HBASE_MANAGES_ZK=false 注意:对于JAVA_HOME的参数值需要根据,实际情况配置。可以通过echo $JAVA_HOME后查看当前环境中的值。 说明: 一个分布式运行的Hbase依赖一个zookeeper集群。所有的节点和客户端都必须能够访问zookeeper。默认的情况下Hbase会管理一个zookeep集群。这个集群会随着Hbase的启动而启动。当然,你也可以自己管理一个zookeeper集群,但需要配置Hbase。你需要修改conf/hbase-env.sh里面的HBASE_MANAGES_ZK来切换。这个值默认是true的,作用是让Hbase启动的时候同时也启动zookeeper。 7、配置hbase-site.xml 修改文件/home/hbase/hbase-1.1.3/conf/hbase-site.xml

HBASE安装及客户端编程配置

HBASE 安装 一、安装指南 二、常见问题 一、安装指南 Hadoop+Hbase安装配置实录 2010-10-12 22:53 生产环境: 3台机 器:master(192.168.0.61),slave1(192.168.0.62),slave2(192.168.0.63) 注意:hostname设置为master/slave1/slave2 操作系统:rhel5.4 x86_64 master做为namenonde,将slave1和slave2做为datanode 1.在master:(在slave1和slave2上操作和以下相同) vi /etc/hosts 192.168.0.61 master 192.168.0.62 slave1 192.168.0.63 slave2 2.用root操作 3.免密码登录 #ssh-keygen -t rsa #建立ssh目录,敲回车到底 ,这一步需要先在每台机器上执行。 在master上 #scp ~/.ssh/id_rsa.pub root@slave1:/root/.ssh/id_rsa.pub_m将master 上的密钥传到slave1的/home/hadoop下 在slave1上 #cat /root/.ssh/id_rsa.pub_m >> ~/.ssh/authorized_keys #chmod 644 ~/.ssh/authorized_keys 反复操作第3步,完成master<-->slave1 master<-->slave2的免密码登录 这样主节点和从节点之间就可以不用密码直接ssh访问,另外,在启动hadoop 时需要master ssh master, 因此,在master的~/.ssh下,也执行下cat id_rsa.pub >> authorized_keys 即可。

Hbase学习笔记

参考书籍:Hadoop in action, 吴超沉思录 简介 1.面向列的分布式数据库 2. 以HDFS作为文件系统 3. 利用MapReduce处理Hbase中海量数据 4. ZookKeeper作为协调工具 5. sqoop提供Hbase到关系型数据库中数据导入功能 6. Hive和pig提供高层语言支持如HSQL 2. 伪分布式安装 准备:安装Hadoop 详细见上一篇日志:hadoop分布式安装hbase版本:安装目录/usr/local 步骤: 1. 安装tar -zxvf 2. 重命名:mv hbase 3. 配置环境变量hbase_home (vi /etc/profile) 4. 修改配置文件 1. hbase_home/conf/ 修改java_home export JAVA_HOME=/usr/local/jdk/ 修改zookeeper(最后一行) export HBASE_MANAGES_ZK=true(使用Hbase托管的ZooKeeper) 2. hbase_home/conf/文件 configuration 中加入: true hadoop0 1 5. 启动hbase 先启动hadoop 启用hbase

jps查看进程(HMaster,HRegionServer, HQuorumPeer) ,如下: 6. 进程说明: HMaster: 管理Hbase table的DDL操作 给region分配工作 HResionServer:原则上每个slave对应一个HRegionServer HQuorumPeer:ZooKeeper的守护进程,此处我们使用的是Hbase内置的ZooKeeper(在中有配置) 3. 分布式安装 准备条件:hadoop分布式环境已安装,查看hadoop分布式安装 hadoop0主机上hbase伪分布已安装完成 安装: 1. scp -rp /usr/local/hbase hadoop1:/usr/local 2. 在hadoop0上更改hbase_home/conf/regionservers 将localhost更改为hadoop1 3. 在hadoop0上启动hbase 4. jps查看,如下: hadoop0上进程:

HBase在Linux下安装和配置详解

HBase在Linux下安装和配置详解 2012-11-05 13:33 ideawu ideawu我要评论(0)字号:T | T 在Linux系统下如何安装和配置HBase?首先从Hbase官网下载页面下载安装包, 然后配置hbase-env.sh和hbase-default.xml,详细步骤请看本文介绍。 AD:2013云计算架构师峰会超低价抢票中 1. 下载安装包 从 Hbase官网下载页面下载安装包, 然后: 1.tar xfz hbase-0.94. 2.tar.gz 2.cd hbase-0.94.2 3.chmodugo+x ./bin/*.sh 注意, 要修改 bin/ 目录下的脚本的的权限, 不然启动出错。 2. 配置 hbase-env.sh 和 hbase-default.xml 两个配置文件中的一个 hbase-env.sh 已经存在于 conf/ 目录下, 但 hbase-default.xml 并不在 conf/ 目录, 需要从 ./src/main/resources/ 目录拷贝: 1.cp ./src/main/resources/hbase-default.xml ./conf/ 修改 hbase-env.sh 的如下几个地方: 1.export JAVA_HOME=/home/wuzuyang/software/jdk1.7.0/ 2.export HBASE_CLASSPATH=/home/wuzuyang/software/hbase-0.94.2/lib/ 3.export HBASE_PID_DIR=${HBASE_HOME}/tmp 4.export HBASE_IDENT_STRING=my 修改 hbase-default.xml 的如下几个地方: 1.hbase.rootdir 2./home/work/software/hbase-0.94.2/data 3. 4.hbase.tmp.dir 5./home/work/software/hbase-0.94.2/tmp 6.

Hbase学习总结

HBase学习报告 0 引言 随着互联网的发展,用户的使用量和使用范围变得越来越广,因此会产生大量的数据,对于这些数据的储存、处理,传统的数据库表现出越来越多的问题,从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,查询效率随着数据量的增长变得越来越低。面对这些问题,一些新型的数据库应运而生,对海量数据的存储和处理提出了解决方案,HBase就是其中之一。 1 HBase简介 Hbase是Apache Hadoop的数据库,能够对大数据提供随机、实时的读写访问,具有开源、分布式、可扩展及面向列存储的特点。HBase的目标是处理大型的数据,具体来说就是使用普通的硬件配置即可处理成千上万行的列和行组成的大数据。 HBase是一个分布式的,多版本的,面向列的存储模型。它可以使用本地文件系统。也可以使用HDFS文件存储系统,但是,为了提高系统的健壮性和可靠性,并充分发挥HBase的大数据处理能力,使用HDFS作为文件存储系统更合适,使用MapReduce来处理海量数据,利用Zookeeper作为协同服务。 另外,HBase的存储结构是松散性数据,它使用简单的key和value的映射关系,但又不是简单的映射关系,这种关系为超大规模的高并发的海量数据实时响应系统提供了一个很好的解决方案。HBase的存储的数据从逻辑上来看就像是一张很大的表,并且,它的数据可以根据需求动态地增加。HBase还具有这样的特点:它向下提供了存储,向上提供了运算。这样的特点使它将数据存储和并行计算完美地结合在了一起。 2 HBase体系结构 HBase的服务器体系结构遵从简单的主从服务器架构,它由HRegion服务器群和HBase Master服务器构成。HBase Master服务器负责管理所有的HRegion服务器,而HBase中的所有服务器都是通过ZooKeeper来进行协调并处理HBase服务器运行期间可能遇到的错误。HBase Master本身并不储存HBase中的任何数据。HBase Master服务器中存储的是从数据到HRegion服务器的映射。 2.1 HRegion服务器 所有的数据库数据一般都是保存在HaDoop的分布式文件系统上,用户通过一系列的HRegion服务器获取这些数据。HRegion服务器包含两大部分:HLOG部分和HRegion部分。其中HLOG用来粗存数据日志,采取的是预写日志的方式。HRegion部分由很多的HRegion 组成,用来存储实际数据。每一个HRegion又由很多Store组成,每一个Store存储一个列

分布式数据库原理及应用实验10-redis与hbase安装

《分布式数据库原理及应用》 实验报告 实验10:redis与hbase安装

一、实验目的 1.掌握redis与hbase的特点。 2.掌握redis与hbase的安装。 二、实验环境 操作系统自定 三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果) 实验内容: 1.梳理mongodb,neo4j,memcache,redis,hbase的异同 2.完成redis的安装与测试 3.完成hbase的安装与测试 实验步骤: 1.梳理mongodb,neo4j,memcache,redis,hbase的异同 Redis 所用语言:C/C++ 特点:运行异常快使用许可: BSD 协议:类 Telnet 有硬盘存储支持的内存数据库 Master-slave复制 虽然采用简单数据或以键值索引的哈希表,但也支持复杂操作。 Redis支持事务,支持哈希表,支持排序sets,支持队列(阻塞/非阻塞),支持将数据设置成过期数据(类似快速缓冲区设计) Pub/Sub允许用户实现消息机制。最佳应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。 例如:股票价格、数据分析、实时数据搜集、实时通讯。 Master-slave复制:如果同一时刻只有一台服务器处理所有的复制请求,这被称为Master-slave复制,通常应用在需要提供高可用性的服务器集群。 MongoDB 所用语言:C++ 特点:保留了SQL一些友好的特性(查询,索引) 使用许可: AGPL(发起者: Apache)协议: Custom binary( BSON) Master/slave复制(支持自动错误恢复,使用 sets 复制)内建分片机制 支持javascript表达式查询可在服务器端执行任意的 javascript函数 update-in-place支持比CouchDB更好。在数据存储时采用内存到文件映射对性能的关注超过对功能的要求建议最好打开日志功能(参数–journal) 最佳应用场景:适用于需要动态查询支持;需要使用索引而不是 map/reduce功能;需要对

Hbase集群搭建的配置

Hbase集群搭建的配置参考 1.如果主机足够强大(10台小集群),可以将Hadoop JobTracker、NameNode、Secondary NameNode配置在这台机器上,但Secondary NameNode尽量不要。 2.如果Hbase和MapReduce的负载都很重的话,通常将他们分开到两个集群上。 3.小集群(10台机器左右)可以把HBase Master、Hadoop NameNode、JobTracker并行部 署在一个节点上,ZooKeeper也可以装在这个节点上(4~6核CPU,24~32G内存,4块SATA硬盘)。 4.如果集群更大一些(10~20台),可以将NameNode和JobTracker配置在同一台机器上, 但HBase Master和ZooKeeper配置在另一台机器上,但Zookeeper要一个单独的磁盘。 5.中型集群(50台左右)NameNode和JobTracker应该部署到不同的机器上,NameNode 和Secondary NameNode不能用太次的硬件,(应为它一挂掉,全挂)并确保他们有足够的内存。但HBase Master和ZooKeeper还可以在一台机器上,也可以增加HBase Master 和ZooKeeper的数量。 6.大型集群(超过50台)中NameNode和Secondary NameNode很重要,要用双电源、 RAID 1、好一点的网卡、足够的内存(8核,至少16G内存,1Gb网卡)。HBase Master 和ZooKeeper要5个以上。 7.中型集群中,如果可能,可以将HBase Master 配置在单独的一台机器上。(4~6核,8~16G 内存,两块硬盘,一块系统,一块日志,1Gb网卡)。 8.DataNode和RegionServer总部署在一起,最好不要让他们运行MapReduce(8~12核, 24~32G内存,12块1TB硬盘)。 9.ZooKeeper可以和HBase Master配置在一起,她们都是轻量级进程。但ZooKeeper对延 迟更加敏感,所以要有单独的硬盘。 10.部署软件可以用自动化的软件:Cloudera Manager、Puppet、Chef等。建议用Hadoop 专业的Cloudera Manager。 11.更多的冗余和更好的配置是为了增加其可用性。

HBASE数据库

HBASE数据库 简介 base 是bigtable 的开源java 版本。是建立在hdfs 之上,提供高可靠性、高性能、列存储、 可伸缩、实时读写nosql 的数据库系统。 它介于nosql 和RDBMS 之间,仅能通过主键(row key)和主键的range 来检索数据,仅支持单行事务(可通过hive 支持来实现多表join 等复杂操作)。 主要用来存储结构化和半结构化的松散数据。 结构化:数据结构字段含义确定,清晰,典型的如数据库中的表结构. 半结构化:具有一定结构,但语义不够确定,典型的如HTML 网页,有些字段是确定的(title),有些不确定(table) 非结构化:杂乱无章的数据,很难按照一个概念去进行抽取,无规律性 Hbase 查询数据功能很简单,不支持join 等复杂操作,不支持复杂的事务(行级的事务) Hbase 中支持的数据类型:byte[] 与hadoop 一样,Hbase 目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。 HBase 中的表一般有这样的特点: 1、大:一个表可以有上十亿行,上百万列 2、面向列:面向列(族)的存储和权限控制,列(族)独立检索。 3、稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。 表结构逻辑视图 Rowkey 访问hbase table 中的行,只有三种方式: 1、通过单个row key 访问 2、通过row key 的range 3、全表扫描 Row key 行键(Row key)可以是任意字符串(最大长度是64KB,实际应用中长度一般为10-100bytes,在hbase 内部,row key 保存为字节数组。Hbase 会对表中的数据按照rowkey排序(字典顺序) [推荐8或者16位] 存储时,数据按照Row key 的字典序(byte order)排序存储。设计key 时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)

hadoop中安装hbase及创建表

HBase创建表与Java API 1.HBase安装 ●解压安装包hbase-1.2.6-bin.tar.gz至路径/usr/local,命令如下:$ sudo tar -zxf ~/下载/hbase-1.2.6-bin.tar.gz -C /usr/local ●将将解压的文件名hbase-1.2.6改为hbase,以方便使用,命令如下:$ sudo mv /usr/local/hbase-1.2.6 /usr/local/hbase ●配置环境变量 (1)编辑~/.bashrc文件;$ vi ~/.bashrc (2)在~/.bashrc文件尾行添加;export PATH=$PATH:/usr/local/hbase/bin (3)编辑完成后,再执行source命令使上述配置在当前终端立即生效; $ source ~/.bashrc ●添加HBase权限: $ cd /usr/local $ sudo chown -R hadoop ./hbase ●查看HBase版本,确定hbase安装成功,命令如下:

$ /usr/local/hbase/bin/hbase version 2.HBase配置 ●用vi命令打开并编辑hbase-env.sh:$ vi /usr/local/hbase/conf/hbase-env.sh ●配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true; export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export HBASE_MANAGES_ZK=true ●配置/usr/local/hbase/conf/hbase-site.xml 打开并编辑hbase-site.xml,命令如下:$ vi /usr/local/hbase/conf/hbase-site.xml ●在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,添加配 置如下: ●测试运行,命令如下: $ cd /usr/local/hbase $ bin/start-hbase.sh

HBase安装和使用

实验报告

一、H base数据模型 hbase模式里的逻辑实体包括: (1)表(table):HBase用表来组织数据。表名是字符串(String),由可以在文件系 统路径里使用的字符组成。 (2)行(row):在表里,数据按行存储。行由行键(rowkey)唯一标识。行键没有数 据类型,总是视为字节数组byte []。 (3)列族(column family):行里的数据按照列族分组,列族也影响到HBase数据的 物理存放,因此,它们必须事前定义并且不轻易修改。表中每行拥有相同列族,尽管行不需要在每个列族里存储数据。列族名字是字符串(String),由可以在文件系统路径里使用的字符组成。 (4)列限定符(column qualifier):列族里的数据通过列限定符或列来定位。列限定 符不必事前定义,列限定符不必在不同行之间保持一致。就像行键一样,列限定符没有数据类型,总是视为字节数组byte []。 (5)单元(cell):行键、列族和列限定符一起确定一个单元。存储在单元里的数据 称为单元值(value)。值也没有数据类型,总是视为字节数组byte []。 (6)时间版本(version):单元值有时间版本。时间版本用时间戳标识,是一个long。 没有指定时间版本时,当前时间戳作为操作的基础。HBase保留单元值时间版本的数量基于列族进行配置,默认数量是3个。 HBase的每个数据值使用坐标来访问。一个值的完整坐标包括行键、列族、列限定符和时间版本。由于把所有坐标视为一个整体,因此HBase可以看作是一个键值(key-value)数据库。 二、H base分布式部署 1、下载发布包 到HBase官方下载最新的版本hbase-1.2.6-hadoop2-bin.tar.gz

Hadoop2.4、Hbase0.98、Hive集群安装配置手册

Hadoop、Zookeeper、Hbase、Hive 集群安装配置手册?

运行环境?
? 机器配置 虚机 CPU?E5504*2?(4 核心)、内存 4G、硬盘 25G ? 进程说明 QuorumPeerMain DFSZKFailoverController JournalNode ZooKeeper?ensemble?member Hadoop?HA 进程,维持 NameNode 高可用 Hadoop HA 进程,JournalNode 存储 EditLog, 每次写数据操作有大多数(>=N+1)返回成功时 即认为该次写成功,保证数据高可用 Hadoop?HDFS 进程,名字节点 HadoopHDFS 进程, serves?blocks Hadoop YARN 进程,负责 Container 状态的 维护,并向 RM 保持心跳。 Hadoop?YARN 进程,资源管理 Hadoop?MR1 进程, 管理哪些程序应该跑在哪 些机器上,需要管理所有 job 失败、重启等 操作。 Hadoop?MR1 进程,manages?the?local?Childs Hive 进程 HBase 主节点 HBase?RegionServer,?serves?regions 可以通过该服务查看已经运行完的 mapreduce 作业记录?
NameNode DataNode NodeManager ResourceManager JobTracker?
TaskTracker RunJar HMaster HRegionServer JobHistoryServer 主机/hostname 10.12.34.14/https://www.sodocs.net/doc/d27678294.html, 系统版 本 Centos 5.8?
应用 mysql mysqld?
服务进程?

Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册

Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13 完全安装手册

前言: (3) 一. Hadoop安装(伪分布式) (4) 1. 操作系统 (4) 2. 安装JDK (4) 1> 下载并解压JDK (4) 2> 配置环境变量 (4) 3> 检测JDK环境 (5) 3. 安装SSH (5) 1> 检验ssh是否已经安装 (5) 2> 安装ssh (5) 3> 配置ssh免密码登录 (5) 4. 安装Hadoop (6) 1> 下载并解压 (6) 2> 配置环境变量 (6) 3> 配置Hadoop (6) 4> 启动并验证 (8)

前言: 网络上充斥着大量Hadoop1的教程,版本老旧,Hadoop2的中文资料相对较少,本教程的宗旨在于从Hadoop2出发,结合作者在实际工作中的经验,提供一套最新版本的Hadoop2相关教程。 为什么是Hadoop2.2.0,而不是Hadoop2.4.0 本文写作时,Hadoop的最新版本已经是2.4.0,但是最新版本的Hbase0.98.1仅支持到Hadoop2.2.0,且Hadoop2.2.0已经相对稳定,所以我们依然采用2.2.0版本。

一. Hadoop安装(伪分布式) 1. 操作系统 Hadoop一定要运行在Linux系统环境下,网上有windows下模拟linux环境部署的教程,放弃这个吧,莫名其妙的问题多如牛毛。 2. 安装JDK 1> 下载并解压JDK 我的目录为:/home/apple/jdk1.8 2> 配置环境变量 打开/etc/profile,添加以下内容: export JAVA_HOME=/home/apple/jdk1.8 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 执行source /etc/profile ,使更改后的profile生效。 执行以下命令,赋予JDK运行的权限: chmod 777 /home/apple/jdk1.8/bin/* chmod 777 /home/apple/jdk1.8/lib/*

Hbase安装指南

Hbase简介 HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bi gtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;G oogle Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。 HBase系统架构如图所示 Client HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC Zookeeper Zookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer 也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRe gionServer的健康状态。此外,Zookeeper也避免了HMaster的单点问题,见下文描述HMaster HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master El ection机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作: 1. 管理用户对Table的增、删、改、查操作 2. 管理HRegionServer的负载均衡,调整Region分布 3. 在Region Split后,负责新Region的分配 4. 在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移 HRegionServer

hadoop + zookeeper +hive + hbase安装学习-12页文档资料

伪分布式安装Hadoop+zookeeper+hive+hbase安装配置 1.安装JDK,配置环境JAVA环境变量 export JAVA_HOME=/usr/lib/java-1.6.0/jdk1.6.0_37 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export HADOOP_INSTALL=/usr/hadoop/hadoop-1.0.3 export PATH=$PATH:$HADOOP_INSTALL/bin export JAVA_HOME=/user/local/jdk1.6.0_27 export JRE_HOME=/user/local/jdk1.6.0_27/jre export ANT_HOME=/user/local/apache-ant-1.8.2 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 2.安装Hadoop-1.0.3 2.1.下载hadoop文件,地址为:https://www.sodocs.net/doc/d27678294.html,/coases.html,下载完 成后解压hadoop-1.0.3.tar.gz sudo tar -xzf hadoop-1.0.3.tar.gz 2.2.配置Hadoop环境变量 export HADOOP_INSTALL=/user/local/hadoop-1.0.3 export PATH=$PATH:$HADOOP_INSTALL/bin 激活profile文件: [root@localhost etc]# chmod +x profile [root@localhost etc]# source profile [root@localhost etc]# hadoop version 2.3.查看hadoop版本 [root@localhost ~]# hadoop version Hadoop 1.0.3 Subversion https://https://www.sodocs.net/doc/d27678294.html,/repos/asf/hadoop/common/branches/branch-1.0 -r 1335192 Compiled by hortonfo on Tue May 8 20:31:25 UTC 2012 From source with checksum e6b0c1e23dcf76907c5fecb4b832f3be 输入 hadoop version命令后输入下图,则安装hadoop成功 2.4.修改配置文件 a)解压hadoop-1.0.3/hadoop-core-1.0.3.jar b)去解压后的hadoop-core-1.0.3文件夹下,复制文件core-default.xml,hdfs-default.xml,mapred-default.xml三个文件到hadoop-1.0.3/conf/下,删除hadoop-1.0.3/conf/文件夹下的core-site.xml,hdfs-site.xml,mapred-site.xml,将复制过来的三个文件的文件名中的default修改为site

Win10系统安装Hadoop与Hbase

目录 1. 前言 (2) 2. 准备工作 (2) 2.1. 下载Hadoop (2) 2.2. 下载hadoop-common (3) 2.3. 下载Hbase (3) 2.4. 下载JDK (4) 3. 环境配置 (4) 3.1. 将下载好的3个压缩包分别解压缩 (4) 3.2. 覆盖文件 (6) 3.3. 安装JDK (7) 3.3.1. 配置JAVA环境变量 (8) 3.3.2. 测试JDK安装是否成功 (11) 4. 配置Hadoop (11) 4.1. hadoop-env.cmd (12) 4.2. core-site.xml (13) 4.3. hdfs-site.xml (14) 4.4. 创建mapred-site.xml (15) 4.5. yarn-site.xml (18) 5. 启动Hadoop (20) 5.1. 以管理员身份运行CMD命令提示符 (20) 5.2. 切换到hadoop目录 (21) 5.3. 运行hadoop-env.cmd脚本 (21) 5.4. 格式化HDFS文件系统 (21) 5.5. 启动HDFS (22) 5.6. 遇到异常 (23) 5.6.1. 解决方案 (23) 5.7. 停止Hadoop (25) 6. 配置Hbase (26) 6.1. 编辑hbase-site.xml (26) 6.2. 编辑hbase-env.cmd (27) 7. 启动Hbase (28) 8. Hbase Shell (31) 8.1. 用shell连接HBase (31) 8.2. 使用shell (31) 8.2.1. 创建表 (31) 8.2.2. Scan表 (32) 8.2.3. Get一行 (33) 8.2.4. 删除表 (33) 8.2.5. 关闭shell (34) 8.2.6. 停止Hbase (34) 9. Java API Hbase (35)

Hadoop+HBase+ZooKeeper三者关系与安装

Hadoop+HBase+ZooKeeper三者关系与安装配置 (2013-02-27 11:48:48) 转载▼ 分类:分布式技术 标签: hadoop zookeeper hbase 分布式 这里有几个主要关系: 1.经过Map、Reduce运算后产生的结果看上去是被写入到HBase了,但是其实HBase中HLog和StoreFile中的文件在进行flush to disk操作时,这两个文件存储到了HDFS的DataNode中,HDFS才是永久存储。 2.ZooKeeper跟Hadoop Core、HBase有什么关系呢?ZooKeeper都提供了哪些服务呢?主要有:管理Hadoop集群中的NameNode,HBase中HBaseMaster的选举,Servers之间状态同步等。具体一点,细一点说,单只HBase中ZooKeeper实例负责的工作就有:存储HBase的Schema,实时监控HRegionServer,存储所有Region的寻址入口,当然还有最常见的功能就是保证HBase集群中只有一个Master。

2、搭建完全分布式集群 在做hadoop,hbase这方面的工作有一段时间了,经常有刚接触这些东西的身边朋友,向我询问基本环境的搭建问题,于是就想以回忆录的形式把基本配置的步骤整理出来,以便刚接触的朋友做个参考. HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以四台机器为例,搭建一个简单的集群. 使用的软件版本:hadoop-1.0.3,hbase-0.94.2,zookeeper-3.4.4. 四台机器IP:10.2.11.1,10.2.11.2,10.2.11.3,10.2.11.4. 一.搭建Hadoop集群 1. 安装JDK.在每台机器下建立相同的目录/usr/java.把下载的jdk(1.6及以上版本)复制

Hadoop1.1.2,ZooKeeper及HBase的安装配置过程(绝对可用)

Hadoop、ZooKeeper及HBase的安装配置过程(绝对可用) 这两天正在为公司配置一个Hadoop集群(以及HBase),作为存储及计算海量数据的平台。现在将安装的过程贴出来,仅供参考。 Hadoop的配置 ?集群的物理配置情况 集群IP: 172.16.38.213 ~ 172.16.38.218 (hostname分别为master、slave0、slave1、slave2、slave3、slave4) 用户名/密码:root/123456 其中,master作为jobtracker和namenode,其余节点作为tasktracker和datanode ?节点角色分配 修改每个节点的 /etc/hosts文件,追加如下内容 172.16.38.213 master 172.16.38.214 slave0 172.16.38.215 slave1 172.16.38.216 slave2 172.16.38.217 slave3 172.16.38.218 slave4 再修改每个节点自己的hostname,如对于master,将其/etc/sysconfig/network文件改为 NETWORKING=yes HOSTNAME=master 然后,运行 hostname master 退出,再进入输入env | grep hostname发现修改生效 ?为每个节点设置无密码ssh登录 1、在master节点上运行 ssh-keygen–t rsa 2、在master节点上,首先 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

相关主题