大数据-玩转数据-Hbase的安装和基本使用
Hbase安装安装环境
三台虚拟机:hadoop1、hadoop2、hadoop3,hadoop4
已经安装好Hadoop环境和zookeeper
下载Hbase安装包
[root@hadoop1 ~]# wget http://archive.apache.org/dist/hbase/hbase-1.4.12/hbase-1.4.12-bin.tar.gz
也可以直接去镜像网站下载,
地址:http://archive.apache.org/dist/
解压
[root@hadoop1 ~]# tar -zxvf hbase-0.98.24-hadoop2-bin.tar.gz
改名
[root@hadoop1 ~]# mv hbase-0.98.24-hadoop2 hbase
添加Hbase的环境变量
[root@hadoop1 ~]# vi ~/.bashrc
加两行
export HBASE_HOME=/home/hadoop/hbase
export PATH=$PATH:$HBASE_HOME/bin
生效
[root@hadoop1 ~]# source ~/.bashrc
配置Hbase
打开Hbase目录下conf/hbase-env.sh(如果没有新建一个)
[root@hadoop1 ~]# vi conf/hbase-env.sh
添加下边两个配置
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_201
export HBASE_MANAGES_ZK=false
后一个参数是否使用自带的zookeeper,自己有安装的话就用自己的,没有就用自带的。
配置hbase-site.xml文件
[root@hadoop1 ~]# vi conf/hbase-site.xml
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.80.2:9000/hbase</value>
</property>
<property>
<name>hbase.master</name>
<value>192.168.80.2</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.80.2,192.168.80.3,192.168.80.4,192.168.80.5</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper/dataDir</value>
</property>
</configuration>
参数说明一下: (1)hbase.rootdir,HDFS的入口地址,地址和端口要和你的hadoop配置一样(core-site.xml中的 fs.default.name),所有节点公用地址 (2)hbase.cluster.distributed,ture表示分布式 (3)hbase.zookeeper.property.clientPort , zookeeper端口 (4)hbase.zookeeper.quorum , zookeeper节点 (5)hbase.zookeeper.property.dataDir , zookeeper 保持信息的文件,默认为/tmp 重启会丢失
修改regionservers文件
[root@hadoop1 ~]# vi conf/regionservers
添加需要安装regionserver的从节点
hadoop2
hadoop3
hadoop4
到这里Hbase简单的环境就搭建好了
scp 到其它节点
[root@hadoop1 ~]# for i in {2..4};do scp -r /home/hadoop/hbase hadoop$i:$PWD; done
环境变量修改
[root@hadoop1 conf]# for i in {2..4};do scp -r /home/hadoop/.bashrc hadoop$i:$PWD; done
环境变量生效
[root@hadoop2 conf]#source /home/hadoop/.bashrc
Hbase的启动
启动Hbase需要首先启动Hadoop和zookeeper
启动Hadoop
启动Zookeeper
启动Hbase
在Hadoop和Zookeeper都启动之后就可以启动Hbase了,进入Hbase的安装目录的bin目录下
[root@hadoop1 ~]# ./start-hbase.sh
jps查看进程,在主节点hadoop1能看到Hmaster进程,在子节点能看到HRegionServer进程,说明Hbase启动成功
也可以通过网址来检查,
http://192.168.80.2:60010/master-status
Hbase简单的shell命令操作
进入shell命令模式,在bin目录下执行
./hbase shell
hbase(main):001:0>
查看当前所有表
hbase(main):003:0> list
TABLE
0 row(s) in 0.1510 seconds
=> []
创建表
hbase(main):006:0> create ‘tt’
0 row(s) in 2.4390 seconds
=> Hbase::Table - test_table
查看表详情
hbase(main):009:0> desc ‘tt’
总结
HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务。因此,它可以容错地存储海量稀疏的数据。