本文介绍如何在本地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。如下: