Flink 的 WEB UI 界面支持大多数常用功能,如提交作业,取消作业,查看各个节点运行情况,查看作业执行情况等,大家可以在部署完成后,进入该页面进行详细的浏览。
### 2.2 作业提交
启动后可以运行安装包中自带的词频统计案例,具体步骤如下:
**1. 开启端口**
```shell
nc -lk 9999
```
**2. 提交作业**
```shell
bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9999
```
该 JAR 包的源码可以在 Flink 官方的 GitHub 仓库中找到,地址为 :[SocketWindowWordCount](https://github.com/apache/flink/blob/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/socket/SocketWindowWordCount.java) ,可选传参有 hostname, port,对应的词频数据需要使用空格进行分割。
**3. 输入测试数据**
```shell
a a b b c c c a e
```
**4. 查看控制台输出**
可以通过 WEB UI 的控制台查看作业统运行情况:
可以看到集群已经以 HA 的模式启动,此时还需要在各个节点上使用 `jps` 命令来查看进程是否启动成功,正常情况如下:
只有 hadoop001 和 hadoop002 的 JobManager 进程,hadoop002 和 hadoop003 上的 TaskManager 进程都已经完全启动,才表示 Standalone Cluster HA 模式搭建成功。
### 4.3 常见异常
如果进程没有启动,可以通过查看 `log` 目录下的日志来定位错误,常见的一个错误如下:
```shell
2019-11-05 09:18:35,877 INFO org.apache.flink.runtime.entrypoint.ClusterEntrypoint
- Shutting StandaloneSessionClusterEntrypoint down with application status FAILED. Diagnostics
java.io.IOException: Could not create FileSystem for highly available storage (high-availability.storageDir)
.......
Caused by: org.apache.flink.core.fs.UnsupportedFileSystemSchemeException: Could not find a file
system implementation for scheme 'hdfs'. The scheme is not directly supported by Flink and no
Hadoop file system to support this scheme could be loaded.
.....
Caused by: org.apache.flink.core.fs.UnsupportedFileSystemSchemeException: Hadoop is not in
the classpath/dependencies.
......
```
可以看到是因为在 classpath 目录下找不到 Hadoop 的相关依赖,此时需要检查是否在环境变量中配置了 Hadoop 的安装路径,如果路径已经配置但仍然存在上面的问题,可以从 [Flink 官网](https://flink.apache.org/downloads.html)下载对应版本的 Hadoop 组件包:
下载完成后,将该 JAR 包上传至**所有** Flink 安装目录的 `lib` 目录即可。
## 参考资料
+ [Standalone Cluster](https://ci.apache.org/projects/flink/flink-docs-release-1.9/ops/deployment/cluster_setup.html#standalone-cluster)
+ [JobManager High Availability (HA)](https://ci.apache.org/projects/flink/flink-docs-release-1.9/ops/jobmanager_high_availability.html)