CentOS安装HBase详细教程

19 篇文章 1 订阅
6 篇文章 0 订阅

安装准备

1、安装JDK及Hadoop环境 见: https://blog.csdn.net/zhangxm_qz/article/details/106695347
2、安装Zookeeper 见:https://blog.csdn.net/zhangxm_qz/article/details/88963194
3、准备好Hbase安装包 hbase-1.3.1-bin.tar.gz
Hadoop和 Hbase的版本存在依赖关系,必须保证版本匹配,匹配关系如下,我们这里使用hadoop2.6.1 和Hbase1.3.1
4、一台虚拟机 CentOS7.8 (我这里使用 hadoop集群中的 Server03服务器,zookeeper也安装在serveer03服务器端口2181)
在这里插入图片描述

安装步骤

解压Hbase安装包
解压安装文件并软连接到 到 hbase
命令如下

tar -zvxf   hbase-1.3.1-bin.tar.gz 
ln -s hbase-1.3.1 hbase

目录结构如下:

[root@server03 zookeeper]# ll /opt/apps
total 490096
lrwxrwxrwx.  1 root  root         12 Jun 10 03:34 hadoop -> hadoop-2.6.1
drwxr-xr-x. 11 10011 10011       172 Jun 10 04:57 hadoop-2.6.1
-rw-r--r--.  1 root  root  197113367 Jun  9 06:10 hadoop-2.6.1.tar.gz
lrwxrwxrwx.  1 root  root         11 Jun 12 05:50 hbase -> hbase-1.3.1
drwxr-xr-x.  9 root  root        184 Jun 12 06:40 hbase-1.3.1
-rw-r--r--.  1 root  root  105718722 Jun  9 06:39 hbase-1.3.1-bin.tar.gz
lrwxrwxrwx.  1 root  root         12 Jun  9 22:43 jdk -> jdk1.8.0_73/
drwxr-xr-x.  8    10   143       255 Jan 29  2016 jdk1.8.0_73
-rw-r--r--.  1 root  root  181310701 Feb 24  2016 jdk-8u73-linux-x64.tar.gz
lrwxrwxrwx.  1 root  root         15 Jun 12 06:03 zookeeper -> zookeeper-3.4.6
drwxr-xr-x. 11  1000  1000      4096 Jun 12 06:05 zookeeper-3.4.6
-rw-r--r--.  1 root  root   17699306 Oct  3  2015 zookeeper-3.4.6.tar.gz
[root@server03 zookeeper]# 

修改配置文件
hbase-env.sh文件
修改如下配置项

#JAVA_HOME
export JAVA_HOME=/opt/apps/jdk/
#关闭HBase自带的Zookeeper,使用外部Zookeeper集群
export HBASE_MANAGES_ZK=false
#设置HBASE_PID_DIR目录
export HBASE_PID_DIR=/opt/apps/hbase/pids
#Hbase日志目录
export HBASE_LOG_DIR=${HBASE_HOME}/logs
#set hbase heep size
export HBASE_HEAPSIZE=4G
#注销以下两项
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"

hbase-site.xml文件

<configuration>
  <property> <!--配置hdfs的中habse目录地址 hdfs://server01:9000 为hdfs地址 hbase为 hbase服务文件存放目录-->
    <name>hbase.rootdir</name> 
    <value>hdfs://server01:9000/hbase</value> 
  </property> 
  <property> <!--是否集群 这里只部署单机版 因此 配置为false  如果是集群则 修改为true-->
    <name>hbase.cluster.distributed</name> 
    <value>false</value> 
  </property> 
    <property> <!--配置zk端口-->
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
  <property> <!--zk ip地址,如果是使用呢zk集群则多个ip逗号分隔-,也可以将端口直接配置在ip后边 192.168.1.1:2181,192.168.1.2:2181-->
    <name>hbase.zookeeper.quorum</name> 
    <value>server03</value> 
  </property> 
  <property> <!--zk数据目录,zk安装是会配置该目录 保持一致即可-->
    <name>hbase.zookeeper.property.dataDir</name> 
    <value>/opt/apps/zookeeper/data</value> 
  </property>
     <property> <!---->
           <name>hbase.master.maxclockskew</name>
           <value>120000</value>
     </property>
</configuration>

regionservers 文件
配置服务器,这里是单节点部署因此只配置 本机即可
如果是集群(如三台 )则需要配置所有服务器地址(server01,server02 server03 )

server03
*server02
server01*

/etc/profile环境变量
增加hbase环境变量配置

#hbase
export HBASE_HOME=/opt/apps/hbase
export PATH=$HBASE_HOME/bin:$PATH

执行 source /etc/profile 使配置生效

如果是分布式部署 则 复制目录到其他服务器并修改 :
1)hbase-site.xml 中分布式部署配置改为 true
2)regionservers 文件中增加其他服务器

功能验证

验证zk 及 hadoop 服务正常 情况下执行start-hbase.sh 命令启动hbase
执行 hbase shell 进行交互

[root@server03 hbase]# bin/start-hbase.sh 
starting master, logging to /opt/apps/hbase/logs/hbase-root-master-server03.out
server03: Warning: Permanently added the ECDSA host key for IP address '192.168.204.12' to the list of known hosts.
jpserver03: starting regionserver, logging to /opt/apps/hbase/bin/../logs/hbase-root-regionserver-server03.out
^H[root@server03 hbase]# jps
4448 DataNode
36082 HMaster
25611 QuorumPeerMain
4557 NodeManager
36541 Jps
36206 HRegionServer
33503 ZooKeeperMain
[root@server03 hbase]# hbase shell
2020-06-12 12:37:58,536 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/apps/hbase-1.3.1/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/apps/hadoop-2.6.1/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr  6 19:36:54 PDT 2017

hbase(main):001:0> status
1 active master, 0 backup masters, 1 servers, 1 dead, 2.0000 average load
hbase(main):008:0> create 'test1','baseinfo'    --创建一个表
0 row(s) in 1.4050 seconds

=> Hbase::Table - test1
hbase(main):009:0> list   --查看表清单
TABLE                                                                                                                          
test1                                                                                                                          
1 row(s) in 0.0730 seconds

=> ["test1"]
hbase(main):010:0> 

ZK 中hbase目录下已经保存了hbase 相关内容

[zk: localhost:2181(CONNECTED) 2] ls /hbase
[replication, meta-region-server, rs, splitWAL, backup-masters, table-lock, flush-table-proc, region-in-transition, online-snapshot, master, switch, running, recovering-regions, draining, namespace, hbaseid, table]

访问如下地址可以看到管理界面
http://server03:16010在这里插入图片描述

问题记录

1、执行 hbase命令提示 The node /hbase is not in ZooKeeper
解决 修改hbase-site.xml 将 hbase.cluster.distributed 配置修改为true,之后 正常了

 <property> <!--是否集群 这里只部署单机版 因此 配置为false  如果是集群则 修改为true-->
    <name>hbase.cluster.distributed</name> 
    <value>false</value> 
  </property> 
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

catch that elf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值