Hi,
感谢,查询pyflink目录下,里面确实存在多个版本的jar包,我清理了下,可以运行起来了,
看来是PyCharm的bug了,安装新版本的时候没有成功清理旧的版本


Thanks~



在 2022-05-23 19:27:42,"Dian Fu" <dian0511...@gmail.com> 写道:
>>> java.lang.NoSuchMethodError:
>org.apache.flink.util.NetUtils.getAvailablePort()I
>
>你的环境是不是不太干净?可以检查一下 PyFlink 安装目录下(site-packages/pyflink/lib) 的那些 jar 包的版本。
>
>
>
>On Mon, May 23, 2022 at 4:22 PM RS <tinyshr...@163.com> wrote:
>
>> Hi,
>> 在Pycharm中,测试Pyflink示例代码,启动运行报错,代码为官方文档中的代码
>> 参考官方文档:
>> https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/dev/python/table_api_tutorial/
>> 报错如下:
>> ============================
>> Exception in thread "main" java.util.concurrent.ExecutionException:
>> java.lang.NoSuchMethodError:
>> org.apache.flink.util.NetUtils.getAvailablePort()I
>> at
>> java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
>> at
>> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
>> at
>> org.apache.flink.client.python.PythonEnvUtils.startGatewayServer(PythonEnvUtils.java:387)
>> at
>> org.apache.flink.client.python.PythonGatewayServer.main(PythonGatewayServer.java:46)
>> Caused by: java.lang.NoSuchMethodError:
>> org.apache.flink.util.NetUtils.getAvailablePort()I
>> at
>> org.apache.flink.client.python.PythonEnvUtils.lambda$startGatewayServer$3(PythonEnvUtils.java:366)
>> at java.base/java.lang.Thread.run(Thread.java:834)
>> Traceback (most recent call last):
>>   File "C:/flink/ex2.py", line 132, in <module>
>>     word_count(known_args.input, known_args.output)
>>   File "C:/flink/ex2.py", line 50, in word_count
>>     t_env =
>> TableEnvironment.create(EnvironmentSettings.in_streaming_mode())
>>   File
>> "C:\code\py\venv\3.6\lib\site-packages\pyflink\table\environment_settings.py",
>> line 221, in in_streaming_mode
>>     get_gateway().jvm.EnvironmentSettings.inStreamingMode())
>>   File "C:\code\py\venv\3.6\lib\site-packages\pyflink\java_gateway.py",
>> line 62, in get_gateway
>>     _gateway = launch_gateway()
>>   File "C:\code\py\venv\3.6\lib\site-packages\pyflink\java_gateway.py",
>> line 112, in launch_gateway
>>     raise Exception("Java gateway process exited before sending its port
>> number")
>> Exception: Java gateway process exited before sending its port number
>> ============================
>>
>>
>> 环境:java11,python3.6,apache-flink=1.15.0
>> 网上搜索解决方案:比如配置JAVA_HOME,但是还是一样的报错
>>     import os
>>     os.environ['JAVA_HOME'] = 'C:\Program Files\Java\jdk-11.0.15.1'
>>
>>
>> 请教下大佬们,这种情况下如何解决?
>>
>>
>> Thanks
>>
>>

回复