java - 由于找不到或加载主类错误,Flink 集群未启动
问题描述
我正在尝试设置flink
和运行一个集群,尽管我得到以下输出,看起来集群已启动:
$ ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host LAPTOP-HRAHBL24.
Starting taskexecutor daemon on host LAPTOP-HRAHBL24.
当我转到 localhost:8081 时,连接被拒绝,所以我检查了 flink 日志并在 taskexecutor 日志中看到以下错误:
Error: Could not find or load main class org.apache.flink.runtime.taskexecutor.TaskManagerRunner
在独立日志中我得到这个:
Error: Could not find or load main class org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint
我一直在互联网上搜索,找不到任何东西。我的 javaenv
和系统变量是正确的,因为我可以看到 java -version 和javac
-version 的输出。我正在使用java 8
,具体来说 jdk1.8.0_251
。Flink
1.10.1
我用and尝试了上述方法1.5.0
,都给了我同样的错误。关于如何解决这个问题的任何想法?
解决方案
我遇到了同样的问题,但现在我能够启动集群并看到 localhost:8081 UI。
在 Windows 10 操作系统上运行集群 - 用于 Scala 2.11 的 Apache Flink 1.11.2
这是我采取的步骤:
- Windows 的激活WSL :https ://www.thewindowsclub.com/how-to-run-sh-or-shell-script-file-in-windows-10 (第 1 部分使用 WSL 执行 Shell 脚本文件)
- 让 Ubuntu for win 10 运行 Linux 命令(运行.sh文件),这可以通过进入Microsoft Store并下载 Linux 的首选发行版来实现。(或在 Windows 中打开 PowerShell,键入 bash 以获取简单信息)
- 在 Ubuntu 上 安装 OpenJDK ,如下: https ://askubuntu.com/questions/746413/trying-to-install-java-8-unable-to-locate-package-openjdk-8-jre (首先打开 Linux shell,然后按照说明进行操作)
完成这些步骤后,您应该能够在Apache Flink 1.11.2文件夹中打开 Linux Shell 并运行./bin/start-cluster.sh没有任何问题。
推荐阅读
- javascript - Expressjs 如何决定调用哪个错误处理程序。如果我们有多个错误句柄
- mysql - 当数据库更改时,socket.io 中的值不会更新
- java - Java RegEx doesn't replaceAll
- variables - 关于“set”的命名建议
- css - 为什么带有内容的 ::before 伪元素在“display:flex”容器中只去除了前导空格?
- android - isHardwareAccelerated() 总是返回 false
- android - 应用程序崩溃一次替换 Fragment for scoped ViewModel
- scala - databricks scala 在 if 循环之外调用变量
- angular - 更新可观察结果
- sapui5 - “未捕获的 TypeError:sap.ui.require.toUrl 不是函数”