Hbase 解析(二) 一文搞懂Hbase远程调试

1.解压文件

通过官网下载编译的或者自己编译好的二进制包 Hbase 解析(一) 源码编译,解压缩文件,文件目录应该包含如下文件:

其中data和tmp文件夹是自己新建的数据文件夹,稍后有解释

-rw-r--r--    1 wangkai  staff  139417  3  5 17:37 CHANGES.md
-rw-r--r--    1 wangkai  staff     262  7 16  2019 LEGAL
-rw-r--r--    1 wangkai  staff  129974  3 14 09:35 LICENSE.txt
-rw-r--r--    1 wangkai  staff  520601  3 14 09:35 NOTICE.txt
-rw-r--r--    1 wangkai  staff    1477  3  5 17:37 README.txt
-rw-r--r--    1 wangkai  staff   88280  3  5 17:37 RELEASENOTES.md
drwxr-xr-x   31 wangkai  staff     992  3  5 17:37 bin
drwxr-xr-x   10 wangkai  staff     320  3 17 08:21 conf
drwxr-xr-x   14 wangkai  staff     448  3 16 12:37 data
drwxr-xr-x    7 wangkai  staff     224  3 14 09:33 hbase-webapps
drwxr-xr-x  177 wangkai  staff    5664  3 14 10:52 lib
drwxr-xr-x   16 wangkai  staff     512  3 16 12:37 logs
drwxr-xr-x    5 wangkai  staff     160  3 14 15:15 tmp

2.配置设置

2.1 打开调试选项

vim conf/hbase-env.sh

修改如下配置,取消注释,配置本地调试端口为8070,hbase单机版只有一个jvm进程,所以客户端和服务端的调试都通过同一个JDWP

就可以。

 2.2 zk管理

hbase自己管理zk,单机版下,hbase会启动一个zk线程,来提供hbase元信息的管理。如果有独立zk,此处不用设置。

 2.3 修改默认的配置

1.默认路径设置,此处路径建议设置为绝对路径,这里设置的data和tmp为提前创建的目录

    <property>
         <name>hbase.tmp.dir</name>
         <value>/hbase-2.2.2/tmp</value>
    </property>

hbase.tmp.dir 本地文件系统上的临时目录。更改此设置以指向更永久的位置而不是“ / tmp”,通常是java.io.tmpdir的解析,因为
 重新启动计算机后,将清除“ / tmp”目录。为默认${java.io.tmpdir}/hbase-${user.name},

2.存储路径

    <property>
        <name>hbase.rootdir</name>
        <value>file:///hbase-2.2.2/data</value>
    </property>

hbase.rootdir 区域服务器共享地址,也就是hbase数据存储的地方,可以是本地或者hdfs。例如,指定HDFS目录'/ hbase',其中HDFS实例的namenode为运行在端口9000上的namenode.example.org上,此值设置为:hdfs://namenode.example.org9000/ hbase。 默认情况下,可以将$ {hbase.tmp.dir}设置为任何值,通常是/ tmp,更改此配置,否则所有数据都会丢失机器重启。

3. 版本跳过

	<property>
        <name>hbase.defaults.for.version.skip</name>
        <value>true</value>
    </property>

建议一开始设置为ture,IDEA调试或者mvn编译时,以避免看到RuntimeException投诉:“ hbase-default.xml设置有旧版本的HBase(\ $ {hbase.version}),版本有可能会是是X.X.X-SNAPSHOT。

4.超时设置

以下几个时间的设置,可以避免断点造成的连接超时

下面几个是服务端的超时配置,建议客户端和服务端配置一样

    <property>
        <name>ipc.socket.timeout</name>
        <value>3600000</value>
    </property>    
    <property>
        <name>hbase.rpc.timeout</name>
        <value>3600000</value>
    </property>
    <property>
        <name>hbase.regionserver.lease.period</name>
        <value>3600000</value>
    </property>

下面的是客户端的超时配置,建议客户端和服务端配置一样

    <property>
        <name>hbase.client.scanner.timeout.period</name>
        <value>3600000</value>
    </property>
     <property>
        <name>hbase.client.operation.timeout</name>
        <value>3600000</value>
    </property>
    <property>
        <name>hbase.client.retries.number</name>
        <value>1</value>
    </property>
    <property>
        <!--master与region通信超时 -->
        <name>hbase.master.maxclockskew</name>
        <value>3600000</value>
    </property>

 

3.启动hbase

3.1 前提

1. 需要提前安装Java,设置JAVA_HOME,并添加到PATH

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home"

2.建议重启电脑

3.2 启动hbase

1. 切换到hbase的路径

cd hbse-2.2.2

2.执行启动命令

bin/start-hbase.sh 

启动成功后显示:

running master, logging to /hbase-2.2.2/bin/../logs/hbase-master.out
Listening for transport dt_socket at address: 8070

4 IDEA调试配置

4.1 启动IDEA,点击工具栏运行配置,如下图

4.2 选择配置,添加远程调试,最终配置如下:

4.3 导入源代码,开始调试

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值