是的,从Flink 1.13版本开始,Flink Connector JDBC已经被移到了一个独立的仓库,不再包含在Flink主仓库中。这个变化是为了更好地管理和维护连接器,并提供更灵活的版本发布。
将Flink Connector JDBC单独拆分为一个独立的项目有以下几个优点:
- 独立的版本控制:连接器的开发和版本控制可以与Flink相互独立进行。这使得连接器的迭代和发布可以更加灵活,无需等待整个Flink发布周期。
- 更容易参与贡献:将连接器作为一个独立项目,使得开发者更容易参与其中,并对连接器进行改进、修复和添加新功能。
- 更好的模块化和可升级性:独立的连接器项目能够更好地实现模块化设计,使得可以更方便地添加其他数据库驱动程序支持或增强现有功能,同时也降低了对Flink主仓库的影响。
尽管Flink Connector JDBC被移动到了独立的项目仓库,但它仍然是Flink的官方连接器之一,并且与Flink主仓库保持紧密的合作。您可以通过访问Flink Connector JDBC项目的仓库,获取最新的版本、贡献代码或提出问题。
在Flink的open()方法中,你可以通过调用ExecutionEnvironment的getMasterUrl()方法来获取JobManager的IP地址。这个方法返回的是JobManager的RPC地址,也就是JobManager的IP地址和端口。
以下是一个示例:
public void open(Configuration parameters) throws Exception {
String jobManagerAddress = getExecutionEnvironment().getMasterUrl();
System.out.println("JobManager address: " + jobManagerAddress);
}
在这个示例中,我们首先调用getExecutionEnvironment()方法获取ExecutionEnvironment对象,然后调用其getMasterUrl()方法获取JobManager的RPC地址。最后,我们将这个地址打印出来。
请注意,这个方法只有在Flink集群模式下才有效,因为只有在集群模式下,ExecutionEnvironment才会有JobManager的RPC地址。如果是在本地模式下运行Flink,这个方法将返回null。