Kyuubi with GUI编译说明
2024-10-27 本文已影响0人
AlienPaul
简介
Kyuubi 提供了图形化界面。展示了当前Session、Operation、Engine和Kyuubi Server的运行状态信息,提供了Rest API Swagger文档和一个简易的在线版本SQL编辑器。
默认Kyuubi编译的时候不提供Web图形界面。用户如有需求,请按照下面章节编译和部署Kyuubi。
编译注意事项
配置国内NodeJS下载镜像站。修改kyuubi-server/pom.xml
。在如下位置增加downloadRoot
配置。
除此之外还需要修改NPM源。如下所示:
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<workingDirectory>web-ui</workingDirectory>
</configuration>
<executions>
<execution>
<id>install node and pnpm</id>
<goals>
<goal>install-node-and-pnpm</goal>
</goals>
<configuration>
<skip>${webui.skip}</skip>
<!-- NodeJS国内下载链接 -->
<downloadRoot>http://npm.taobao.org/mirrors/node/</downloadRoot>
</configuration>
</execution>
<execution>
<id>pnpm install</id>
<goals>
<goal>pnpm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<skip>${webui.skip}</skip>
<arguments>install --registry https://registry.npmmirror.com/</arguments>
</configuration>
</execution>
...
</executions>
注意:如果系统的glibc版本过低。编译时会出现如下错误:
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node) node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node) node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node) node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
办法是使用低版本的NodeJS(16.20.2)。需要将配置修改为如下:
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<workingDirectory>web-ui</workingDirectory>
</configuration>
<executions>
<execution>
<id>install node and pnpm</id>
<goals>
<goal>install-node-and-pnpm</goal>
</goals>
<configuration>
<skip>${webui.skip}</skip>
<!-- 指定NodeJS版本 -->
<nodeVersion>v16.20.2</nodeVersion>
</configuration>
</execution>
<execution>
<id>pnpm install</id>
<goals>
<goal>pnpm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<skip>${webui.skip}</skip>
<arguments>install --registry https://registry.npmmirror.com/</arguments>
</configuration>
</execution>
...
</executions>
编译时需要添加--web-ui
参数。命令如下:
build/dist --tgz --web-ui --flink-provided --spark-provided --hive-provided -Pspark-3.3 -Pflink-1.17
配置
Web UI配置位于kyuubi-defaults.conf
:
# 如果配置值有REST,说明开启Web UI和Rest接口
kyuubi.frontend.protocols THRIFT_BINARY,REST
# Kyuubi提供Web UI和Rest接口的端口号
kyuubi.frontend.rest.bind.port 10099
按照上面的配置启动Kyuubi之后,浏览器输入http://kyuubi_ip:10099
可打开Kyuubi Web界面。