欢迎投稿

今日深度:

HBase,

HBase,


目录

Zookeeper安装

Hbase配置

hbase应用


HBase是一个分布式的、面向列的开源数据库

Zookeeper安装

1.Zookeeper安装
解压缩,重命名为zookeeper

2.配置zookeeper

cd conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
在文件末尾追加以下内容:
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

说明:
server.1:服务器的编号
master:服务器名/服务器地址
2888:LF通信端口,是Leader和Follower之间的通信端口
3888:选举端口

3.创建节点标识文件myid
(dataDir=/tmp/zookeeper)
mkdir -p /tmp/zookeeper

(mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

mkdir -p xx/yy的好处就是一次可以创建多级文件夹,若xx文件夹不存在,则先创建xx文件夹,然后在xx文件夹下创建yy文件夹)


vi /tmp/zookeeper/myid
分别在三个节点上输入内容:
在master的/tmp/zookeeper/myid里输入1
在slave1的/tmp/zookeeper/myid里输入2
在slave2的/tmp/zookeeper/myid里输入3

4.将zookeeper安装文件发送到从节点
scp -r zookeeper slave1:~/resources/
scp -r zookeeper slave2:~/resources/

5.将.bash_profile文件发送到从节点
scp  ~/.bash_profile slave1:~/
scp  ~/.bash_profile slave2:~/

到从节点上更新操作:source ~/.bash_profile

6.启动zookeeper集群(三个节点)
cd resources
[wg@master resources]$ cd zookeeper/bin
[wg@master bin]$ zkServer.sh start

验证命令:
[wg@master bin]$ zkServer.sh status (可在最后看到foller或者leader,有一个节点是leader,其他的是follower)

测试zookeeper客户端命令是否可用
[wg@slave2 bin]$ zkCli.sh -server master:2181

[zk: master:2181(CONNECTED) 0]help(输个help命令验证一下)
ctrl+z退出


Hbase配置

HBASE安装与配置
1.安装hbase
将hbase-0.98.9-hadoop2-bin.tar.gz解压缩,重命名为hbase
2.配置hbase
1)hbase-env.sh
export  JAVA_HOME=~/resources/jdk

export  HBASE_MANAGES_ZK=false
//false:表示不使用hbase自带的zookeeper,而使用自己安装的zookeeper
//true:表示使用hbase自带的zookeeper

2)hbase-site.xml

3)regionservers

3.修改.bash_profile文件
在文件末尾,追加以下内容:
export  HBASE_HOME=~/resources/hbase

export  PATH=$PATH:$HBASE_HOME/bin

export  HADOOP_CLASSPATH=$HBASE_HOME/lib/*

执行生效命令:source  ~/.bash_profile

4.将hbase安装文件发送到从节点
scp  -r  hbase  slave1:~/resources/
scp  -r  hbase  slave2:~/resources/


5.将.bash_profile文件发送到从节点
scp  ~/.bash_profile  slave1:~/
scp  ~/.bash_profile  slave2:~/

在从节点上执行:source  ~/.bash_profile

6.启动hbase
1)启动hadoop(master)
2)启动zookeeper(三个节点):zkServer.sh  start
3)启动hbase(master):start-hbase.sh

验证方法:
http://master:60010/

如下即成功:

hbase常见问题解决办法:
1)清除zookeeper缓存文件
(dataDir=/tmp/zookeeper)
删除/tmp/zookeeper目录(三个节点)
然后新建三个节点的myid文件

2)清除hbase缓存
删除三个节点上hbase目录下的logs目录
删除hdfs上的/hbase目录:hadoop fs -rm -r /hbase

3)重启zookeeper和hbase


进一步验证hbase

在resources/hbase/bin目录下

用命令 habse shell

输入list查看是否可用,如下出现=> []即成功,因为刚开始还没有数据库,所以[]内为空

hbase应用


1.查看表
list

2.创建表
hbase(main):002:0> create 'stu_info','info'

说明:stu_info是表名
      info是列族的名字

3.写数据
列族:可以包含多个列,一般不超过3列,否则影响hbase性能

hbase(main):004:0> put 'stu_info','01','info:name','John'
hbase(main):005:0> put 'stu_info','02','info:age',20
hbase(main):006:0> put 'stu_info','03','info:name','Mary'
hbase(main):007:0> put 'stu_info','03','info:age',19

4.读数据
get:读取一行数据
scan:读取所有行
hbase(main):008:0> get 'stu_info','01'

hbase(main):011:0> scan 'stu_info'

5.查看表的结构

hbase(main):012:0> describe 'stu_info'

6.删除
1)删除单元格
hbase(main):013:0> delete 'stu_info','01','info:name'
2)删除整行
hbase(main):015:0> deleteall 'stu_info','02'
3)删除表
hbase(main):018:0> disable 'stu_info'
hbase(main):019:0> drop 'stu_info'

练习:
表名:student
列族:info(name,age)    score(Java,JSP)
内容: 01 John  20  90   90
      02 John  20  90   90
      03 John  20  90   90
      04 John  20  90   90

删除表

www.htsjk.Com true http://www.htsjk.com/hbase/46047.html NewsArticle HBase, 目录 Zookeeper安装 Hbase配置 hbase应用 HBase是一个分布式的、面向列的开源数据库 Zookeeper安装 1.Zookeeper安装 解压缩重命名为zookeeper 2.配置zookeeper cd conf cp zoo_sample.cfg zoo.cfg vi zoo.cfg...
评论暂时关闭