wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.11/hbase-2.4.11-bin.tar.gz
已安装的hadoop版本:
Hadoop 3.3.2
解压安装包
tar -zxf hbase-2.4.11-bin.tar.gz
vim ~/.bashrc
source ~/.bashrc
验证HBase是否安装成功
bin/hbase version
找到自己JAVA安装路径可以参考(https://blog.csdn.net/wr456wr/article/details/124249644)中的安装JAVA环境变量或者在**~/.bashrc** 中查看自己已经配置好的环境路径
在conf/hbase-env.sh内进行配置,大概在第28行设置JAVA环境变量
(在vim内使用set nu可以查看到行数信息)
以及126行的注释去掉
配置hbase-site.xml文件,在hbase安装的目录下的conf文件内,设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据,此处设置为HBase安装目录下的hbase-tmp文件夹
配置项:
<property>
<name>hbase.rootdirname>
<value>file:///root/rDesk/hbase/hbase-tmpvalue>
property>
bin/start-hbase.sh
bin/hbase shell
bin/stop-hbase.sh (HBase停止操作)
在conf/hbase-env.sh文件内配置三项分别为JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.
其中HBASE_CLASSPATH值设置为安装hbase目录下的conf文件的位置
在vim内命令模式下使用/可以进行搜索:
配置conf内的hbase-site.xml文件.
修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设置为true。假设当前Hadoop集群运行在伪分布式模式下,在本机上运行,且NameNode运行在9000端口。
添加的配置项如下:
<configuration>
<property>
<name>hbase.rootdirname>
<value>hdfs://localhost:9000/hbasevalue>
property>
<property>
<name>hbase.cluster.distributedname>
<value>truevalue>
property>
<property>
<name>hbase.unsafe.stream.capability.enforcename>
<value>falsevalue>
property>
configuration>
hbase.rootdir指定HBase的存储目录;hbase.cluster.distributed设置集群处于分布式模式.
另外,上面配置文件中,hbase.unsafe.stream.capability.enforce这个属性的设置,是为了避免出现启动错误。也就是说,如果没有设置hbase.unsafe.stream.capability.enforce为false,那么,在启动HBase以后,会出现无法找到HMaster进程的错误
尝试启动Hbase和Hadoop
bin/start-hbase.sh
/root/rDesk/hdoop-3.3.2/sbin/start-dfs.sh (启动Hadoop)
输入jps查看是否启动成功
其中NameNode,DataNode,SecondaryNameNode为Hadoop的进程,HQuirumPeer,HRegionServer,HMaster为HBase的进程
打开hbase的shell
bin/hbase shell
create ‘student’, ‘Sname’, ‘Ssex’, ‘Sage’, ‘Sdept’, ‘course’
describe 'student’describe ‘student’
3. 使用put向student表插入数据
put命令添加数据,一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据
put ‘student’, ‘122’, ‘Sage’, ‘77’
(含义是向student表中的122行号内的Sage族内插入一条数据,数据值为77)
scan ‘student’
delete ‘student’, ‘122’, ‘Sage’
deleteall ‘student’, ‘123’
get ‘student’, ‘11’
disable ‘student’
drop ‘student’
或者在使用disable表后也可以使用enable重新使表可用
http://dblab.xmu.edu.cn/blog/2442-2/
https://blog.csdn.net/weixin_44990104/article/details/117596231
https://github.com/steveloughran/winutils