Amazon s3 Flink在EC2中运行时未从S3读取文件
我在一个桶中的S3中有多个数据。我试图在EC2实例中运行我的Flink程序。我在EC2中担任IAM角色,能够从S3读取数据。但当我运行该程序时,会出现以下错误:Amazon s3 Flink在EC2中运行时未从S3读取文件,amazon-s3,amazon-ec2,apache-flink,Amazon S3,Amazon Ec2,Apache Flink,我在一个桶中的S3中有多个数据。我试图在EC2实例中运行我的Flink程序。我在EC2中担任IAM角色,能够从S3读取数据。但当我运行该程序时,会出现以下错误: 提交作业ID为445b8130e310bcb791afff2301c40b16的作业。等待工作完成。 没有返回JobSubmissionResult,请确保调用了ExecutionEnvironment.execute() 我的pogram在程序的末尾有env.execute()。我非常确定它无法从S3获取/读取文件。我的代码如下所示:
提交作业ID为445b8130e310bcb791afff2301c40b16的作业。等待工作完成。
没有返回JobSubmissionResult,请确保调用了ExecutionEnvironment.execute()
我的pogram在程序的末尾有env.execute()
。我非常确定它无法从S3获取/读取文件。我的代码如下所示:
DataSet datalines=env.readCsvFile(“s3://CopyOfData/Days/”)
.fieldDelimiter(“|”)
.类型(String.class、String.class)代码>
请帮我怎么过来。我的flink-conf.yaml也有HADOOP_conf_DIR集。我会首先检查JobManager和TaskManager日志以寻找线索。您还可以查看此列表
也可能是您需要增加akka.client.timeout。请参阅,但简而言之,尝试将akka.client.timeout:600 s
添加到flink-conf.yaml。Sir,在将akka.client.timeout:600 s
添加到flink-conf.yaml之后,我仍然会遇到相同的错误。我更新了我的答案,建议您检查日志以获取线索。您是在尝试读取一个CSV文件,还是一个目录?我相信readCsvFile只适用于单个文件。谢谢。在日志文件中,我得到了以下错误:ava HotSpot(TM)64位服务器VM警告:INFO:os::commit_内存(0x00000000c0000001073741824,0)失败;error='cannotallocate memory'(errno=12)##内存不足,Java运行时环境无法继续本机内存分配(mmap)映射1073741824字节以提交保留内存失败。#包含更多信息的错误报告文件保存为:#/home/ec2 user/flink-1.4.2/bin/hs_err_pid23975.log
您能告诉我如何修复内存的下限和上限吗?对于您的问题,我想告诉您,在数据文件夹中,我有两个文件,分别名为data1.csv和data2.csv。根据Flink文档,我相信如果我提到该文件夹,它会查找其中的所有文件。