sidebar_position | id | title |
---|---|---|
14 |
faq |
FAQ |
1.Flink on Yarn HA高可用,配置hdfs依赖,无法识别HDFS高可用访问地址别名,在Perjob和application模式,提交任务,出现异常信息
解决办法:
- 方案一
升级 Dinky 至 0.6.2 及后续版本。 详见:DataLinkDC#310
- 方案二
添加HADOOP_HOME环境变量,修改 /etc/profile
export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
- 方案三
auto.sh 里加一行
export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
2.出现 commons-cli 异常报错,需要在如下路径放入 commons-cli 依赖
解决办法:
下载common-cli包,需要在如下路径放置:
- Flink 的 lib
- dinky 的 plugins
- HDFS 的 /flink/lib/
3.依赖冲突
解决办法:
如果添加 flink-shade-hadoop-uber-3 包后,请手动删除该包内部的javax.servlet 等冲突内容
4.连接hive异常
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.HttpClient
解决办法:
在plugins下添加以下包
httpclient-4.5.3.jar
httpcore-4.4.6.jar
5.找不到javax/ws/rs/ext/MessageBodyReader类 解决办法: 在plugins下添加以下包
- javax.ws.rs-api-2.0.jar
6.在 Flink 中,如果与 CDH 集成并使用 HiveCatalog,必须要从新编译对应 Flink 版本的源码,在使用中如果不编译,会报如下错误:
解决办法:
1.首先下载 Flink 对应版本源码,并切换到对应 hive 版本flink-sql-connector目录下
2.修改pom,添加如下信息
#添加cloudera 仓库
<repositories>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
<name>Cloudera Repositories</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
# 以flink-sql-connector-hive-2.2.0,修改如下
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.1.1-cdh6.3.2</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.pentaho</groupId>
<artifactId>pentaho-aggdesigner-algorithm</artifactId>
</exclusion>
</exclusions>
</dependency>
编译成功后,将对应的jar包拿出来即可,分别放到 flink/lib和dinky/plugins下。重启 Flink 和 Dlinky 即可。