目录
这篇文章需要配合前一篇文章一起食用更加美味
一、解决版本号打印失败问题
首先从网上下载hbase教材指定的版本2.2.2
解压到这里
sudo tar -zxvf hbase-2.2.2-bin.tar.gz -C /usr/local
指定使用者
sudo chown -R hadoop:hadoop hbase/
添加环境变量
vim ~/.bashrc
添加红线的
最后别忘了source一下生效
source ~/.bashrc
查看版本号试一下
hbase version
可能是版本原因,于是上网下载最新版本的
https://www.apache.org/dyn/closer.lua/hbase/2.4.2/hbase-2.4.2-bin.tar.gz
我用的这个
再次试一下,还是有点小毛病,虽然版本号出来了
hbase version
修改环境变量配置文件/usr/local/hbase/conf下的hbase-env.sh
vim /usr/local/hbase/conf/hbase-env.sh
画红线那一行前面原本有一个注释符号#,删去即可,也就是取消注释(后面要用到怎么取消注释就是这个了)
最后再试一下
hbase version
完美解决
二、配置伪分布式
这个环节需要修改两个配置文件一个是 /usr/local/hbase/conf/hbase-env.sh,另一个就是 /usr/local/hbase/conf/hbase-site.xml
修改环境配置文件配置伪分布式
vim /usr/local/hbase/conf/hbase-env.sh
将这几行注释取消掉,一定要注意这里是hadoop下的conf,下面的set nu是显示行数的命令具体用法进入vim编辑器后,输入英文下的:符号,再输入set nu回车即可
再修改conf下的hbase-site.xml配置文件
vim /usr/local/hbase/conf/hbase-site.xml
原来是这样的
改成这个
<!-- 该属性指示HBase在分布式模式下运行,每个守护程序一个JVM实例,下面的原来的false一定要改成true-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 接下来,hbase.rootdir使用hdfs:URI语法添加的配置,指向您的HDFS实例的地址。在此示例中,HDFS在本地主机上的端口9000上运行。-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
开始打开hbase测试
这里需要注意的是hbase除了打印版本号不需要hadoop的运行,其他的任何操作都是基于Hadoop运行才可以
首先登陆SSH,由于之前 (
真)手把手教你配置Ubuntu大数据Hadoop环境中已经设置了 无密码登录,因此这里不需要密码。然后,切换至“/usr/local/hadoop”,启 动Hadoop,让HDFS进入运行状态,从而可以为HBase存储数据,具体命 令如下:
ssh localhost
cd /usr/local/hadoop
./sbin/start-dfs.sh
然后,启动HBase,命令如下:
cd /usr/local/hbase $ bin/start-hbase.sh
查看java的进程有哪些
使用jps命令
输入命令jps,如果出现以下进程,则说明HBase启动成功:
jps
三、运行简单的hbase shell命令
首先打开hbase shell
./bin/hbase shell
创建这几个表
假设这里要创建一个表student,该表包含Sname、Ssex、Sage、Sdept、 course等字段。需要注意的是,在关系型数据库(比如MySQL)中,需要首 先创建数据库,然后再创建表,
但是,在HBase数据库中,不需要创建数据 库,只要直接创建表就可以。在HBase中创建student表的Shell命令如下:
create 'student','Sname','Ssex','Sage','Sdept','course'
使用describe命令查看student
describe 'student'
可以使用list命令查看当前HBase数据库中已经创建了哪些表,命令如下:
list
可以用Shell命令手工插入数据,命令如下:
put 'student','95001','Sname','LiYing'
下面继续添加4个单元格的数据,用来记录LiYing同学的相关信息,命令如下:
put 'student','95001','Ssex','male'
put 'student','95001','Sage','22'
put 'student','95001','Sdept','CS'
put 'student','95001','course:math','80'
HBase中有两个用于查看数据的命令:
•get命令:用于查看表的某一个单元格数据;
•scan命令:用于查看某个表的全部数据。
比如,可以使用如下命令返回student表中95001行的数据
get 'student','95001'
其他的例子就不再过多列举了
退出hbase shell
exit