Hi Mingliang,

Oh I see. You will also have to add the Jars to the TaskManager then.

You have these options:

1. Include them directly in the TaskManager classpath
2. Include them as dependencies to the JobServer, which will cause them to be attached to Flink's JobGraph.

Do I understand correctly that you already did (2)?

Cheers,
Max

On 28.05.19 18:33, 青雉(祁明良) wrote:
Yes Max, I did add these Hadoop jars. The error
message from task manager was about  missing HDFS file system class from beam-sdks-java-io-hadoop-file-system module, which I also shadowed into job server. I see the artifact directory is successfully created at HDFS by job server, but fails at task manager when reading.

Best,
Mingliang

获取 Outlook for iOS <https://aka.ms/o0ukef>



On Tue, May 28, 2019 at 11:47 PM +0800, "Maximilian Michels" <m...@apache.org <mailto:m...@apache.org>> wrote:

    Recent versions of Flink do not bundle Hadoop anymore, but they are
    still "Hadoop compatible". You just need to include the Hadoop jars in
    the classpath.

    Beams's Hadoop does not bundle Hadoop either, it just provides Beam file
    system abstractions which are similar to Flink "Hadoop compatibility".

    You probably want to add this to the job server:
        shadow library.java.hadoop_client
        shadow library.java.hadoop_common

    Cheers,
    Max

    On 28.05.19 15:41, 青雉(祁明良) wrote:
    > Thanks Robert, I had one, “qmlmoon”
> > Looks like I had the jobserver working now, I just add a shadow > dependency of /beam-sdks-java-io-hadoop-file-system/ to > /beam-runners-flink_2.11-job-server/ and rebuild the job server, but > Flink taskmanger also complains about the same issue during job running. > > So how is Flink taskmanager finding this HDFS filesystem dependency?
    > -------
> 2019-05-28 13:15:57,695 INFO > org.apache.beam.runners.fnexecution.artifact.BeamFileSystemArtifactRetrievalService > - GetManifest for > hdfs://myhdfs/algo-emr/k8s_flink/beam/job_87fa794e-9cd7-4c20-b95c-086f11abfaa4/MANIFEST > 2019-05-28 13:15:57,696 INFO > org.apache.beam.runners.fnexecution.artifact.BeamFileSystemArtifactRetrievalService > - Loading manifest for retrieval token > hdfs://myhdfs/algo-emr/k8s_flink/beam/job_87fa794e-9cd7-4c20-b95c-086f11abfaa4/MANIFEST > 2019-05-28 13:15:57,698 INFO > org.apache.beam.runners.fnexecution.artifact.BeamFileSystemArtifactRetrievalService > - GetManifest for > hdfs://myhdfs/algo-emr/k8s_flink/beam/job_87fa794e-9cd7-4c20-b95c-086f11abfaa4/MANIFEST > failed > org.apache.beam.vendor.guava.v20_0.com.google.common.util.concurrent.UncheckedExecutionException: > java.lang.IllegalArgumentException: No filesystem found for scheme hdfs > at > org.apache.beam.vendor.guava.v20_0.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2214) > at > org.apache.beam.vendor.guava.v20_0.com.google.common.cache.LocalCache.get(LocalCache.java:4053) > at > org.apache.beam.vendor.guava.v20_0.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4057) > at > org.apache.beam.vendor.guava.v20_0.com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4986) > at > org.apache.beam.runners.fnexecution.artifact.BeamFileSystemArtifactRetrievalService.getManifest(BeamFileSystemArtifactRetrievalService.java:80) > at > org.apache.beam.model.jobmanagement.v1.ArtifactRetrievalServiceGrpc$MethodHandlers.invoke(ArtifactRetrievalServiceGrpc.java:298) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:171) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:283) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:707) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) > at > org.apache.beam.vendor.grpc.v1p13p1.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    > at java.lang.Thread.run(Thread.java:748)
> > >> On 28 May 2019, at 9:31 PM, Robert Bradshaw > > wrote: >> >> The easiest would probably be to create a project
    that depends on both >> the job server and the hadoop filesystem and
    then build that as a fat >> jar. > > > 本邮件及其附件含有小红书公司
    的保密信息,仅限于发送给以上收件人或群组。禁 > 止任何其他人以任何形
    式使用(包括但不限于全部或部分地泄露、复制、或散发) > 本邮件中的信
    息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本 > 邮
    件! > This communication may contain privileged or other
    confidential > information of Red. If you have received it in error,
    please advise the > sender by reply e-mail and immediately delete
    the message and any > attachments without copying or disclosing the
    contents. Thank you. >


本邮件及其附件含有小红书公司的保密信息,仅限于发送给以上收件人或群组。禁 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发) 本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本 邮件! This communication may contain privileged or other confidential information of Red. If you have received it in error, please advise the sender by reply e-mail and immediately delete the message and any attachments without copying or disclosing the contents. Thank you.

Reply via email to