Kevin Sijo Puthusseri created BEAM-10793:
--------------------------------------------
Summary: Incorrect Flink runner documentation
Key: BEAM-10793
URL: https://issues.apache.org/jira/browse/BEAM-10793
Project: Beam
Issue Type: Bug
Components: runner-flink, sdk-go
Reporter: Kevin Sijo Puthusseri
As per the documentation at
[https://beam.apache.org/documentation/runners/flink/] under _"Portable
(Java/Python/Go)"_, a containerized flink job server needs to be started using
{code:java}
docker run --net=host apache/beam_flink1.10_job_server:latest
{code}
or
{code:java}
docker run --net=host apache/beam_flink1.10_job_server:latest
--flink-master=localhost:8081
{code}
If any of the SDKs are run using the DOCKER flag, all crash. As explained by
[~danoliveira] – _"This command is building and running it locally on your
machine. I'm not 100% sure why running it in a container is causing the error,
but my suspicion is that it has to do with writing the manifest/artifact files
to disk. One thing the job server does is writing artifacts to disk and then
sending the locations to the SDK harness so it can read them. If the job server
is in a container, then its probably writing the files to the container instead
of your local machine, so they're inaccessible to the SDK harness."_ In fact,
[~lostluck] tracked this to an already existing issue
https://issues.apache.org/jira/browse/BEAM-5273 which is yet to be resolved and
addresses this exact problem. Using Daniel's advice, Go SDK (and others I'm
certain) can be run in DOCKER mode if the flink job server is started locally
using gradle as follows –
{code:java}
./gradlew :runners:flink:1.10:job-server:runShadow -Djob-host=localhost
-Dflink-master=local{code}
Only if the SDK is run using the LOOPBACK flag does it manage to run on a
containerized flink cluster. Moreoever since the LOOPBACK flag is explicitly
meant for *local development* purposes only, this makes me wonder how folks are
deploying their production beam data pipelines on flink (especially on managed
services like Kubernetes). Overall, the main issue (at least until BEAM-5273 is
unresolved) is the fact that beam's documentation fails to mention these
caveats explicitly.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)