本文介绍如何在本地IDEA远程调试Spark On HBase。
前提条件:
1、已经安装了Intellij IDEA,Git、Maven。
2、HBase集群开通了外网地址。
3、HBase集群为IDEA运行的机器开通了白名单。
说明:
本实例用到的版本
软件名称 |
版本 |
Intellij IDEA |
community 2018.3.1 |
操作系统:macOS/Windows |
mac:10.13.6; Windows 10 |
jdk |
1.8.0_25 |
|
scala |
2.11.8 |
Maven |
3.3.9 |
Idea 远程调试步骤
步骤 1: 下载样例代码
使用git clone 命令下载代码样例代码。
git clone https://github.com/aliyun/aliyun-apsaradb-hbase-demo.git
步骤 2: 导入代码到IDEA。
打开IDEA,选择"File">"Open...",选择步骤 1下载的代码:aliyun-apsaradb-hbase-demo
步骤 3: 设置运行配置
本实例Debug的类为:com.aliyun.spark.hbase.SparkOnHBaseSparkSession
点击IDEA运行按钮,选择"Edit Configurations..."进入配置页面,配置内容如下页面:

主要配置参数说明:
参数名称 |
值 |
说明 |
Main class |
com.aliyun.spark.hbase.SparkOnHBaseSparkSession |
运行主类 |
VM options |
-Dspark.master=local |
Spark 本地运行 |
Program arguments |
hb-xxx:2181,hb-xxx:2181,hb-xx:2181 mytable spark_on_hbase |
三个参数分别为:ZK链接地址(外网地址),hbase侧的表名 ,spark侧的表名 |
Use classpath of module |
spark-examples |
同时勾选“Include dependencie是with "Provided" scope” |
步骤 4:开始Debug
在类com.aliyun.spark.hbase.SparkOnHBaseSparkSession的如下位置设置断点:

搜索类:org.apache.hadoop.hbase.spark.DefaultSource,并在如下位置设置断点:

然后右键类com.aliyun.spark.hbase.SparkOnHBaseSparkSession,选择“Debug SparkOnHBaseSparkSession”开始Debug。如下:
