1 Windows下编译调试openLooKeng
1.1 环境及依赖
OS: Windows 7+
JDK: 1.8 (8u161+)64bit
Maven: 3.3.9+
Git for windows
1.2 获取代码与编译
1、 在获取代码的目录空白处右击鼠标,点击“Git Bash Here”。
2、 配置git并获取代码。
git config --global core.autocrlf input
git clone https://gitee.com/openlookeng/hetu-core.git
git checkout 1.0.1 -b teligen
3、 使用maven编译。
cd hetu-core
mvn clean install -DskipTests
可以开启多线程,排除不需要的模块比如打安装包的hetu-server-rpm来加速编译。
mvn -T 8 -pl '!hetu-server-rpm' clean install -DskipTests
1.3 修改代码以在Windows环境调试运行
1、 修改 presto-main/etc/event-listener.properties。
#hetu.event.listener.type=AUDIT
hetu.event.listener.type=LOGGER
2、 修改 presto-main/src/main/java/io/prestosql/server/PrestoSystemRequirements.java。
注释掉以下内容:
// else {
// failRequirement("Hetu requires Linux or Mac OS X (found %s)", osName);
// }
修改以下内容:
// Object maxFileDescriptorCount = mbeanServer.getAttribute(ObjectName.getInstance(OPERATING_SYSTEM_MXBEAN_NAME), "MaxFileDescriptorCount");
Object maxFileDescriptorCount = 10000;
3、 修改 presto-main/etc/config.properties。
注释掉plugin.bundles配置:
增加 plugin.dir 配置:
plugin.dir=../hetu-server/target/hetu-server-1.0.1/plugin
4、 重命名 presto-main/etc/catalog/ 目录下的hive和oracle配置文件。
# 在GitBash中
cd presto-main/etc/catalog/
mv hive.properties hive.properties.bak
mv oracle.properties oracle.properties.bak
5、 修改 hetu-core\hetu-state-store\pom.xml 文件,增加依赖。
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
<version>${hazelcast.version}</version>
<scope>provided</scope>
</dependency>
1.4 IDEA配置
1.4.1 JDK配置
在IntelliJ中打开该项目之后,仔细检查是否为该项目正确配置了Java SDK:
1、打开“File”菜单并选择“Project Structure”。
2、在“SDKs”部分中,确保选择1.8 JDK(如果不存在,则创建一个)。
3、在“Project”部分中,确保将“Project language level”设置为8.0,因为openLooKeng Core使用了一些Java 8语言功能。
1.4.2 运行配置
使用以下选项创建运行配置:
Main Class:io.prestosql.server.PrestoServer
VM Options:-ea -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -Xmx2G -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties
Working directory:$MODULE_DIR$
Use classpath of module:presto-main
1.5 运行服务端
完成上面的配置后就可以在IDEA里对代码打断点进行调试了。
1.6 运行客户端连接openLooKeng
# 进入源码根目录
cd hetu-core
# 运行cli客户端连接openLooKeng
java -jar presto-cli/target/hetu-cli-*-executable.jar --server localhost:8080
然后就可以连接实际的数据源进行查询调试了。