CentOS7使用HBase-1.2.6单机版,无hadoop

159 阅读3分钟

一、环境搭建

使用CentOS7系统,先删除自带的JDK,自带的不好用(例如jps终端命令不能用等)。下载官网完整的JDK,并设置环境变量JAVA_HOME。详情见:

blog.csdn.net/libaineu200…\

\

二、下载稳定版habse,1.2.6版本

mirror.bit.edu.cn/apache/hbas…\

解压 tar -xzvf hbase-1.2.6-bin.tar.gz , 笔者的工作路径是/root/Downloads/hbase-1.2.6/

\

三、配置

1、 在单机模式中,ZooKeeper程序与HBase程序运行在同一个JVM进程中。

Hbase依赖于zookeeper,所有的节点和客户端都必须能够访问zookeeper。 HBase的安装包里面有自带的ZooKeeper,conf/hbase-env.sh文件有环境变量定义:

# export HBASE_MANAGES_ZK=true\

它用来设置HBase是使用默认自带的 Zookeeper还是使用独立的ZooKeeper。 

HBASE_MANAGES_ZK为 false 时使用独立的. 

HBASE_MANAGES_ZK为 true 时表示使用默认自带的,即让Hbase启动的时候同时也启动自带的ZooKeeper。

如果使用自带的zookeeper,去不去掉这行环境变量注释效果都一样,默认值就是true。

也就是说conf/hbase-env.sh文件可以不需要修改。

但是我个人还是建议去掉注释比较直观,同时把JAVA_HOME也再次明确一下较好。(非必须)

export JAVA_HOME=/root/Downloads/jdk1.8.0_172\

export HBASE_LOG_DIR=/usr/local/hbase/logs\

export HBASE_MANAGES_ZK=true\

2、在单机模式中,HBase并不使用 HDFS,仅使用本地文件系统。conf/hbase-env.sh文件不需要修改,仅仅修改conf/hbase-site.xml,指定数据文件的存放路径。

<configuration>
   <property>
      <name>hbase.tmp.dir</name>
      <value>/usr/local/hbase/hbaseData</value>
   </property>
    <property>
        <name>hbase.rootdir</name>
        <value>file:/usr/local/hbase</value>
    </property>
</configuration>

\

注意:

(1)HBase可以不依赖Hadoop的HDFS来部署,在单机模式下直接使用普通文件系统来存储数据。说明HBase是可以离开HDFS的。

(2)如果不修改conf/hbase-site.xml文件,默认情况下Hbase是写到/tmp的,在重启的时候/tmp会被清空,数据就会丢失。

\

四、终端验证,进入/root/Downloads/hbase-1.2.6/bin

[root@bogon bin]# echo $JAVA_HOME
/root/Downloads/jdk1.8.0_172
[root@bogon bin]# ./start-hbase.sh
starting master, logging to /root/Downloads/hbase-1.2.6/bin/../logs/hbase-root-master-bogon.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
[root@bogon bin]# jps
98741 Jps
98382 HMaster
[root@bogon bin]# hbase shell
2018-04-27 09:34:39,017 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017

hbase(main):001:0> list
TABLE                                                                                                  
0 row(s) in 0.2190 seconds

=> []
hbase(main):002:0> create 'user' ,'personalinfo'
0 row(s) in 1.3250 seconds

=> Hbase::Table - user
hbase(main):003:0> list
TABLE                                                                                                  
user                                                                                                   
1 row(s) in 0.0460 seconds

=> ["user"]\

hbase(main):004:0> 

hbase(main):001:0> exit\

\

五、因为ZooKeeper程序与HBase程序运行在同一个JVM进程中,通过jps命令只能看到HMaster,那怎么知道zookeeper启动了呢?

[root@bogon bin]# netstat -tunlp|egrep 2181
tcp6       0      0 :::2181                 :::*                    LISTEN      5804/java   \

\

六、web监控,打开浏览器

http://localhost:16010/master-status
或者
http://192.168.83.128:16010/master-status\

\

参考文献:blog.csdn.net/lisonglison…

\

----

关于jps终端命令:

jps 是java提供的查看java进程的工具,比如我用jps命令查看,正常情况会列出如下信息:
<进程号1111> …… <进程名A>
<进程号2222> …… <进程名B>
<进程号3333> …… <进程名C>
<进程号4444> …… <Jps>\

这时用kill -9 <进程号> 是可以杀掉进程的。

\