Java玩转大数据

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界面。

上一篇 下一篇

猜你喜欢

热点阅读