Windows 上用IntelliJ Idea调试百度大数据分析框架Apache Doris FE

A. 环境准备

1. 安装jdk1.8+, Intelij IDEA

2. linux上编译好fe前端代码,主要目的是获取自动生成的代码,加入到前段工程里面去用于在idea中编译fe工程。具体编译请参照本人前期博文:CentOS 上使用vscode 调试百度大数据分析框架Apache Doris BE,编译好之后:

tar -cvf /home/workspace/palo0.8.1/genSrc/buid/java.tar  /home/workspace/palo0.8.1/gen_cpp/buid/java  #打包自动生成的java代码
sz  /home/workspace/palo0.8.1/gen_cpp/buid/java.tar #下载自动生成代码到windows本地

 自动生成的文件结构如图:

其中,

analysis文件夹下为sql语法扫描和解析的自动生成代码,是通过调用java-cup-0.11a.jar & jflex-1.4.3.jar 生成的语法分析代码和词法分析代码,对应的输入源为..../parser/sql_parser.y 和..../parser/sql_scanner.flex

buildins文件夹下为通过调用python2.7自动生成的palo内置类型和函数的代码,输入源为.../scripts/目录下的.py文件

common文件夹下为通过protocobuf生成的通信协议流代码,输入源为.../proto/目录下的.proto文件

thrift文件夹下为通过调用/thirdparty/installed/bin/thrift生成的通讯代码,palo FE和BE之间进行通信是使用thrift来进行的,输入源为.../gensrc/thrift下的.thrift文件

3. 把自动生成的代码复制到windows fe代码的正确目录下,在本人机器上是......fesrccomaidupalo,如图:

B) 调试:
1. 用idea导入fe工程;

2. 在fe目录下创建lib库,把引用的库文件放置到lib目录下:

3. 编译idea,结果一定是失败的!

4. 将lib目录下的help-resource.zip复制到/fe/output(idea工程默认的输出目录)的...feoutproductionaidu目录下,在本机中是C:Temppalo-0.8.1-betafeoutproductionaidu目录,可以参照自己机器的具体路径进行正确配置。该文件的作用是解压后生成帮助文件,具体使用位置为:

5. 在IdeaJ中设置环境变量:JAVA_OPTS,PALO_HOME,PID_DIR,LOG_DIR,在本人机器上,配置为如下,各位可以根据自己的实际情况进行配置。

JAVA_OPTS=-Xmx1024m
PALO_HOME=C:Temppalo-0.8.1-betafe
PID_DIR=C:Temppalo-0.8.1-betafe
LOG_DIR=C:Temppalo-0.8.1-betafelog 

其中JAVA_OPTS可以不配置。

6. 在PALO_HOME文件夹下创建目录,palo-meta(必须手动创建),该目录是fe存放meta data的目录,fe所有的元数据均存放在此位置。

7. 设置导入label的保留时间

vim fe/conf/fe.conf

添加:

label_keep_max_second = 3600  #second, the default value is 3600*24*7= 7 days

设置这个属性,在导入数据调试时很有用处,可以避免大量label干扰视线,可能个人有洁癖。

8. 设置be的最大使用内存

set exec_mem_limit=21474836480;  #设置为20G,只针对当前session 有效,默认值为2G
set global exec_mem_limit=21474836480; #设置为20G,全局永久生效,配置将保存在fe的元数据中,默认值为2G

9. 在IdeaJ中开始你的调试之旅,have fun with big data using palo!!

原文地址:https://www.cnblogs.com/lenmom/p/9507173.html