Hbase 集群搭建

1.下载 安装包

Apache HBase – Apache HBase Downloads

选择版本

https://dlcdn.apache.org/hbase/2.4.17/hbase-2.4.17-bin.tar.gz

2.集群环境准备

2.1 概念说明

Hbase是一个分布式系统

其中有一个管理角色:HMaster(一般2台  ,一台active、一台backup)

其它的数据节点角色:HRegionServer(很多台,看数据容量)

首先,要有一个HDFS集群,并正常运行; regionserver应该跟hdfs中的datanode在一起
其次,还需要一个zookeeper集群,并正常运行
然后,安装HBASE
角色分配如下:
node1 :namenode datanode regionserver hmaster zookeeper
node2 :datanode regionserver zookeeper
node3 :datanode regionserver zookeeper


客户端要查数据
1.去zk上查找mate表所在的regionserver
2.去mate 表查找自己所要的数据所在的regionserver
3.去目标regionserver上要自己的数据


2.2 上传安装包&解压

[root@node1 ~]# tar -zxvf hbase-2.4.17-bin.tar.gz -C /app/

2.3 修改conf 配置文件

2.3.1 修改hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_251

#用我们自己的zk集群 

export HBASE_MANAGES_ZK=false 

2.3.2 修改hbase-site.xml

<!--指定hbase在HDFS上的存储路径-->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://node1:9000/hbase</value>
  </property>
 <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node1:2181,node2:2181,node3:2181</value>
  </property>
<!--指定hbase是分布式的 -->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
<!--使用本地文件系统设置为false,使用hdfs设置为true-->
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>true</value>
  </property>
</configuration>
2.3.2.1 hbase-site参数注解说明

hbase.tmp.dir:本地文件系统的临时目录,默认是${java.io.tmpdir}/hbase-${user.name};
hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbase类似,带全限定名;
hbase.cluster.distributed:hbase集群模式运作与否的标志,默认是false,开启需要设置为true,false时启动hbase会在一个jvm中运行hbase和zk;
hbase.zookeeper.quorum:重要的也是必须设置的,启动zk的服务器列表,逗号分隔,cluster模式下必须设置,默认是localhost,hbase客户端也需要设置这个值去访问zk;
hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。快照的存储位置,默认是:${hbase.tmp.dir}/zookeeper;
hbase.unsafe.stream.capability.enforce:控制HBase是否检查流功能(hflush / hsync),如果您打算在rootdir表示的LocalFileSystem上运行,那就禁用此选项                      
hbase.local.dir:本地文件系统被用在本地存储的目录,默认${hbase.tmp.dir}/local/;
hbase.master.port:hbase master绑定的端口,默认是60000;
hbase.master.info.port:hbase master web 界面的端口,默认是60010,设置为-1可以禁用ui;
hbase.master.info.bindAddress:master web界面的绑定地址,默认是0.0.0.0;

2.3.3  配置regionservers 启动机器

需要在哪些机器启动regionservers   把机器添加到regionservers文件中

[root@node1 conf]# more regionservers 
node1
node2
node3

2.4 拷贝修改后的安装包到node2、node3 机器

[root@node1 app]# scp -r hbase-2.4.17/ node2:$PWD

[root@node1 app]# scp -r hbase-2.4.17/ node3:$PWD

3. 启动Hbase集群

启动前要检查hdfs 、和zk 集群是否正常

[root@node1 app]# hdfs dfsadmin -report   #hdfs的报告状态

#启动hbase

[root@node1 app]# ./hbase-2.4.17/bin/start-hbase.sh 

启动完后,还可以在集群中找任意一台机器启动一个备用的master
bin/hbase-daemon.sh start master
新启的这个master会处于backup状态


hbase region角色之间的信息通信是通过zk完成的

可以去zk 查看节点信息

[root@node1 app]# ./zookeeper-3.7.1/bin/zkCli.sh 


停机出现卡住

[root@node1 app]# ./hbase-2.4.17/bin/stop-hbase.sh stopping hbase.....................................................................................................................

解决方法1:先输入

hbase-daemon.sh stop master
hbase-daemons.sh stop regionserver命令
再输入stop-hbase.sh命令。
这样hbase就可以成功关闭。


4.web 控制台

16010 端口是对外访问的

http://192.168.6.130:16010/


5. 启动hbase的命令行客户端


bin/hbase shell
Hbase> list     // 查看表
Hbase> status   // 查看集群状态
Hbase> version  // 查看集群版本 

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值