报错信息如下
Caused by: java.lang.OutOfMemoryError: Direct buffer memory at
java.nio.Bits.reserveMemory(Bits.java:693)
at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) at
java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
at sun.nio.ch.Util.getTemporaryDirectBuffer(Util.java:241)
之前在使用hadoop client时设置了一个系统变量, 当这个变量没设置的时候就会报之前的错误
System.setProperty("java.security.krb5.conf",
"C:\\Users\\86177\\Desktop\\tmp\\5\\krb5.conf" );
但flink on yarn 没有提供这个参数的设置。
在 2020-03-24 20:52:44,"aven.wu" 写道:
Flink 提交作业到有kerboros认证的集群报以下异常
java.lang.Exception: unable to establish
感谢回答
出现这个问题也是因为我把flink connect 的jar包打成lib 放在flink 和 hadoop
的classpath下面(缩小打出来的应用程序包),出现这个报错。我大概理解这个class加载的意思了。
在 2019-11-23 17:16:51,"1193216154" <1193216...@qq.com> 写道:
>parent first就是先加载环境的jar包,再加载用户的jar包(就是自己写的flink程序),children
>first就是反过来。flink默认配置是chikdren
感谢解答,
我的意图是 构建EStablesink,可以将table 查询的结果 直接写入ES 避免再转换DataStream 通过ESSink写入
在 2019-08-26 16:39:49,"Jark Wu" 写道:
>Hi ,
>
>
>Elasticsearch6UpsertTableSink 是标记成 @internal 的,不是开放给用户直接去构造的。
>如果要注册一个 ES sink,可以使用 descriptor API,也就是
>org.apache.flink.table.descriptors.Elasticsearch。
>或者使用 DDL
public Elasticsearch6UpsertTableSink(
boolean isAppendOnly,
TableSchema schema,
List hosts,
String index,
String docType,
String keyDelimiter,
String keyNullLiteral,
SerializationSchema serializationSchema,
XContentType contentType,
源码在 BucketingSink 615行
Path testPath = new Path(basePath, UUID.randomUUID().toString());
try (FSDataOutputStream outputStream = fs.create(testPath)) {
outputStream.writeUTF("hello");
} catch (IOException e) {
LOG.error("Could not create file for checking if truncate works.", e);
throw new