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,出现如下页面说明启动成功: