根据官网部署Flink on YARN过程中遇到的问题及解决方法

1. 从https://mirror.bit.edu.cn/apache/flink/flink-1.9.2/flink-1.9.2-bin-scala_2.11.tgz中下载flink包。

此时,解压后再flink目录下运行命令./bin/yarn-session.sh -jm 1024m -tm 4096m。出现错误:java.lang.ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnException

根据报错信息,可知flink缺少YARN的依赖包。

2. 下载flink的hadoop依赖包,根据自己的HADOOP版本来确定。这里下载了hadoop2.7的版本,网址为https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.7.5-10.0/flink-shaded-hadoop-2-uber-2.7.5-10.0.jar。

此时,解压后再flink目录下运行命令./bin/yarn-session.sh -jm 1024m -tm 4096m。出现连接YARN失败的信息:Connecting to ResourceManager at /0.0.0.0:8032  Retrying connect to server。

从这个信息中推断flink需要知道YARN的配置,否则将会连接本机的8032端口。

3. 设置hadoop的配置目录,在/etc/profile配置文件中增加两行

export HADOOP_HOME=/usr/hdp/2.6.5.0-292/hadoop

export YARN_CONF_DIR=$HADOOPP_HOME/etc/hadoop

之后载入配置文件source /etc/profile,再运行./bin/yarn-session.sh -jm 1024m -tm 4096m。出现错误:java.lang.ClassNotFoundException: com.sun.jersey.core.util.FeaturesAndProperties

根据提示似乎是缺少了jar包,要么是需要下载这个包,要么是java的CLASSPATH缺少了路径。

4.将hadoop/lib目录下的jersey-core-1.9.jar拷贝到/path/to/flink/lib目录下,

再运行./bin/yarn-session.sh -jm 1024m -tm 4096m。

出现错误org.apache.hadoop.security.AccessControlException: Permission denied。从错误描述上看可能是因为当前用户对HDFS的操作权限首先所致。

5. 为当前用户创建一个用户目录,并将属主修改为当前用户

su hdfs

hdfs dfs -mkdir /user/root

hdfs dfs -chown root:root /user/root

再运行./bin/yarn-session.sh -jm 1024m -tm 4096m,运行成功。

最后提示JobManager Web Interface:http://192.168.230.211:45090

使用浏览器访问JobManger Web,出现如下页面说明启动成功:

你可能感兴趣的:(根据官网部署Flink on YARN过程中遇到的问题及解决方法)