文档章节

大数据系列6:HBase – 基于Hadoop的分布式数据库

杨尚川
 杨尚川
发布于 2015/04/06 19:14
字数 685
阅读 88
收藏 0

wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz

tar -xzvf zookeeper-3.4.5.tar.gz

cd zookeeper-3.4.5

cp conf/zoo_sample.cfg conf/zoo.cfg

vi conf/zoo.cfg
  
修改:dataDir=/home/ysc/zookeeper
  
添加:
       server.1=host001:2888:3888

maxClientCnxns=100

mkdir /home/ysc/zookeeper注:dataDirzookeeper的数据目录,需要手动创建

echo 1 > /home/ysc/zookeeper/myid

启动服务:

bin/zkServer.sh start

连接服务:

bin/zkCli.sh -server host001:2181

查看服务状态:

bin/zkServer.sh status

 

hbase存在系统时间同步的问题,并且误差要再30s以内

sudo apt-get install ntp
sudo ntpdate -u 210.72.145.44

HBase是数据库,会在同一时间使用很多的文件句柄,大多数linux系统使用的默认值1024是不能满足的,还需要修改 hbase 用户的nproc,在压力很大的情况下,如果过低会造成 OutOfMemoryError异常

sudo vi /etc/security/limits.conf

添加:
   ysc soft nproc 32000
   ysc hard nproc 32000
   ysc soft nofile 32768
   ysc hard nofile 32768

sudo vi /etc/pam.d/common-session
添加:
   session required  pam_limits.so

 

wget http://mirrors.hust.edu.cn/apache/hbase/hbase-0.94.12/hbase-0.94.12.tar.gz

tar -xzvf  hbase-0.94.12.tar.gz

cd hbase-0.94.12
vi conf/hbase-env.sh

追加:
  export JAVA_HOME=/home/ysc/jdk1.7.0_40
  export HBASE_MANAGES_ZK=false
  export HBASE_HEAPSIZE=1000

vi conf/hbase-site.xml

加入:

 <property> 

  <name>hbase.rootdir</name> 

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

 </property>

 <property> 

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

  <value>true</value> 

 </property> 

 <property>  

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

  <value>host001</value>  

 </property>

vi conf/regionservers

localhosthost001

因为HBase建立在Hadoop之上,Hadoop使用的hadoop*.jarHBase使用的必须一致。所以要将 HBase lib目录下的hadoop*.jar替换成Hadoop里面的那个,防止版本冲突。

cp  /home/ysc/hadoop-1.2.1/hadoop-core-1.2.1.jar  /home/ysc/hbase-0.94.12/lib

rm  /home/ysc/hbase-0.94.12/lib/hadoop-core-1.0.4.jar

启动hadoop并创建目录
hadoop fs -mkdir /hbase

sudo vi /etc/profile

增加:

export PATH=$PATH:/home/ysc/hbase-0.94.12/bin

source /etc/profile

启动初始 HBase 集群:

start-hbase.sh

web界面
  
http://host001:60010
  
http://host001:60030

停止HBase 集群:

stop-hbase.sh

启动额外备份主服务器,可以启动到 9 个备份服务器(总数10 )

local-master-backup.sh start 1

local-master-backup.sh start 2 3

启动更多regionservers, 支持到99 个额外regionservers(100)

local-regionservers.sh start 1

local-regionservers.sh start 2 3 4 5

停止备份主服务器:

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

停止单独regionserver

local-regionservers.sh stop 1

使用HBase命令行模式:

hbaseshell

 

命令演示:

创建表Person,列族basicdetail

create 'Person', 'basic', 'detail'

看有哪些表:

list

看是否有person表:

list 'person'

增加数据,动态增加列:

数据1

put 'Person','533001198510125838', 'basic:idcard', '533001198510125838'

put 'Person', '533001198510125838','basic:name', '章子怡'

put 'Person','533001198510125838', 'detail:age', '25'

数据2

put 'Person', '533001198510125837','basic:idcard', '533001198510125837'

put 'Person','533001198510125837', 'basic:name', '杨尚川'

put 'Person','533001198510125837', 'detail:age', '22'

查询整条数据:

get 'Person','533001198510125838'

get 'Person','533001198510125837'

查询单列数据:

get 'Person', '533001198510125837','basic:idcard'

查询多列数据:

get 'Person', '533001198510125837','basic:idcard', 'detail:age'

查询全部数据:

scan 'Person'

删除表:

disable 'Person'

drop 'Person'

 

 

 

APDPlat旗下十大开源项目

 

 

 

 

 


© 著作权归作者所有

杨尚川

杨尚川

粉丝 1103
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
分布式数据库 Apache HBase 1.4.0 带来新功能和改进

Apache HBase 1.4.0 已发布,该版本是 1.4 系列的首个维护版本,目标仍是为 Apache 大数据生态系统等周边带来稳定可靠的数据库。 作为次要版本,1.4.0 包含许多新功能和改进,但它们不会出现...

局长
2017/12/21
1K
1
Apache HBase 2.1.0 发布,分布式数据库

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

h4cd
2018/07/23
2.4K
5
Apache HBase 2.0.3 发布,分布式数据库

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

王练
2018/12/04
889
0
Apache HBase 1.2.7 发布,分布式数据库

Apache HBase 1.2.7 发布了,HBase 1.2.7 是 HBase 1.2 系列中的最新维护版本,继续以向 Hadoop 和 NoSQL 社区提供稳定、可靠的数据库为目标。此版本包括 250 多个自 1.2.6 以来的错误修复。...

局长
2018/09/27
1K
1
【HBase】 - 单机模式、伪分布式、完全分布式配置

Hbase 简介 Hbase: Hadoop Database Hbase是非关系型数据库,随着现在互联网的数据量越来越多,需求更加多元化,传统的关系型数据库无法满足实际的业务需求,NoSql类型数据库孕育而生。 传统...

ZeroneLove
02/25
23
0

没有更多内容

加载失败,请刷新页面

加载更多

js如何控制table中的某一行动态置顶

两行代码搞定: $('#'+item.roadCode).fadeOut().fadeIn();//获取到需要置顶的行 $(".table").prepend($('#'+item.roadCode)); 其中,fadeOut()方法 作用 --- 从可见到隐藏 如下: prepend(......

码妞
今天
4
0
四种解决Nginx出现403 forbidden 报错的方法

我是在在本地用虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403, 于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下: 1....

dragon_tech
今天
3
0
获取RestResultResponse返回的值

Springboot项目,需要调其他服务的接口,返回值类型是RestResultResponse 打断点的结果集是这个 打印出来的getData(): [{id=3336b624-8474-4dd9-bd5b-c7358687c877, paraNo=104, para=Postpo...

栾小糖
今天
4
0
【小学】 生成10以内的加减法

#!/usr/bin/env python# coding: utf-8from random import randrange# 题目的最大数值R_MAX = 10# 生成的题目的数量R_PAGE = 70# 生成减法列表def get_sub_list():...

Tensor丨思悟
今天
11
0
JavaScript设计模式——适配器模式

  适配器模式是设计模式行为型模式中的一种模式;   定义:   适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适配器不需要修...

有梦想的咸鱼前端
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部