一.前言
jdk版本选用 jdk-11.0.24 zookeeper版本选用3.6.3
二.部署过程
2.1 解压 创建软链接
tar -zxvf hbase-2.6.0-bin.tar.gz
ln -s /home/user1/jars/hbase-2.6.0/ /home/user1/hbase
2.2 修改配置文件hbase-env.sh 开放修改下列配置
#jdk环境
export JAVA_HOME=/home/user1/jdk/
#堆内存 正式生产环境建议配置,目前测试环境资源较少不配置
#export HBASE_HEAPSIZE=2G
#指定pid存储路径
export HBASE_PID_DIR=/home/user1/hbase/pids
#关闭自带的zk,启用自己部署的zk
export HBASE_MANAGES_ZK=false
#启用现有hadoop的加载路径,避免lib冲突
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
2.3 修改 hbase-site.xml 增加配置
<!-- hbase 在 hdfs 中的存储位置 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
<!-- 开启 hbase 的全分布式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- zookeeper 的端口号 -->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<!-- zookeeper 集群的主机名 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>linux1,linux2,linux3</value>
</property>
<!-- hbase 的临时文件存储路径 -->
<property>
<name>hbase.tmp.dir</name>
<value>/home/user1/hbase/tmp</value>
</property>
<!-- 开启配置防止 hmaster 启动问题 -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<!-- 监控页面端口 -->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
2.4 修改regionservers 将主机添加进去
linux1
linux2
linux3
linux4
linux5
2.5 启动hbase
#启动hmaster
hbase-daemon.sh start master
#启动regionserver
hbase-daemon.sh start regionserver
#登录界面查看 端口60010
#登录shell端
hbase shell
#执行status查看状态
三.hbase常用命令
#3.1 创建命名空间
create_namespace '命名空间名'
#删除命名空间
drop_namespace '命名空间名'
#查看空间
list_namespace
#创建带有命名空间的表
create '命名空间:表名称', '列族名称1','列族名称2','列族名称N'
#列出命名空间下所有的表
list_namespace_tables '命名空间'
#添加数据
put '表名', 'rowkey''', '列族:列','值'
#添加列族
alter '表名', '列族名'
#修改数据(值不同其余相同等同于修改)
put '表名', 'rowkey''', '列族:列','值'
#删除数据
delete '表名','指定rowkey'
delete '表名','指定rowkey','指定列'
#查询数据get
get '表名','rowkey'
get '表名','rowkey','指定列族'
get '表名','rowkey','指定列族:列'
#查询数据scan
scan '表名'
#扫描表从指定到结束rowkey的指定列族数据 返回前两行的三个版本
scan '表名', {COLUMNS=> '指定列族:列名',STARTROW => '开始的rowkey',STOPROW => '结束的rowkey', LIMIT=>2, VERSIONS=>3}