我正在尝试设置一个简单的独立flink集群。我按照这些说明进行操作。我有两种情况:
1( 公司网络中的 1 个主站和 2 个从站,根据 IT 服务,它允许我访问任何端口(我对此表示怀疑(。
2( 1 个主站和 1 个从站都在我的家庭网络中。
在这两种情况下,我都可以在主/作业管理器中运行 start-cluster.sh 脚本后访问 Flink Web UI。但是,我看不到任务管理器。在场景 2 中,只有当我在主站和从站中都运行 start-cluster.sh 时,我才能使其工作(参见任务管理器((这不是教程中描述的内容(,只有主站对从属服务器具有无密码(仍然使用密码(访问权限(请参阅我下面的问题以了解我为什么提到这一点(。即使我在所有节点(主节点和从节点(上运行 start-cluster.sh,我仍然看不到场景 1 中的任务管理器。
基于这些,我有4个问题:
问题 1(我是否需要在每台机器(即主站和从机(上运行 start-cluster.sh 脚本?
问题 2(文档建议需要无密码的 ssh。我按照教程进行操作,并且能够做到这一点,但是当我启动集群以连接到每个从属服务器时,它仍然要求我输入密码。这是无密码连接的样子,还是我应该尝试其他方法?
问题 3(我是否需要我的从属服务器能够对主服务器进行无密码ssh,还是只需要主服务器才能将无密码连接到从站?
问题 4(如果我需要要求 IT 服务为我打开 flink 端口,您能否验证我只需要它们来打开我在参数jobmanager.rpc.port:
中定义的 8081(用于 Web UI(和 6123 在我的 flink-conf.yaml 文件中?
场景 1 的配置:3 台运行 Open JDK 8 的 Ubuntu Linux 计算机
场景 2 的配置:2 台运行 Oracle JDK 8 的 Mac OS X 10 计算机
在这两种情况下,我都使用 Apache Flink 1.7.1
我设法让主人看到任务管理器。问题出在 Java 安装上。尽管我很确定我已经在所有机器上安装了 openjdk 8,将 PATH 和 JAVA_HOME 变量设置为所有指向同一 JDK 的机器,但似乎通过在flink-conf.yaml
中添加env.java.home
参数以明确指向我的 JDK 路径(例如,/usr/lib/jvm/java-8-openjdk-amd64
(
事实证明,我现在能够回答我的一些问题:
问题 1(不可以,start-cluster.sh 只能在主服务器上执行。
问题 2(我切换到没有密码的 ssh 连接(只是重新生成密钥并在要求输入密码时按回车键将其留空(。虽然我不知道这是否需要。
问题 3(不,只有主设备才能对从属服务器进行无密码访问。
问题 4(主服务器打开并侦听端口 8081 和 6123。它还打开了更多的端口(每个从站一个端口?如果您这样做sudo lsof -i -P -n
您会发现每次更改时还打开了哪些其他端口。