通过后台提交作业
目前Flink客户端默认安装路径为“/usr/local/flink”。具体以实际为准。
-
通过SSH方式登录集群。
-
配置环境变量。
在/etc/profile添加如下配置:
export HADOOP_HOME=/usr/local/hadoop3 export FLINK_HOME=/usr/local/flink export PATH=PATH:PATH:FLINK_HOME/bin:HADOOP_HOME/bin export HADOOP_CONF_DIR=HADOOPHOME/bin exportHADOOPCONFDIR=HADOOP_HOME/etc/hadoop export PATH=PATH:PATH:HADOOP_CONF_DIR export HADOOP_CLASSPATH=hadoop classpath
执行如下命令初始化环境变量
source /etc/profile
-
集群默认开启Kerberos认证,需要执行以下命令以完成认证。
示例: klist -kt /etc/security/keytabs/flink.keytab 获取flink.keytab的principalname kinit -kt /etc/security/keytabs/flink.keytab flink.keytab的principalname
同时,应配置安全认证。在“/usr/local/flink/conf/flink-conf.yaml”配置文件中的对应配置添加keytab路径以及用户名。
security.kerberos.login.use-ticket-cache: true security.kerberos.login.keytab: <user.keytab 文件路径 > security.kerberos.login.principal: user security.kerberos.login.contexts: Client,KafkaClient
例如:
security.kerberos.login.keytab: /etc/security/keytabs/hdfs.keytab security.kerberos.login.principal: hdfs
-
运行wordcount作业。
首先执行上述第3步骤中的认证操作,然后启动Flink集群。
/usr/local/flink/bin/start-cluster.sh
- Session模式
执行如下命令在session中提交作业。
yarn-session.sh -nm "session-name" --detached flink run /usr/local/flink/examples/streaming/WordCount.jar
提交成功后,会返回已提交的Flink作业的YARN Application ID以及Web地址,访问Web地址以通过Web UI的方式查看作业状态。
- Application模式
执行如下命令以Application方式提交作业。
flink run-application -t yarn-application/usr/local/flink/examples/streaming/WordCount.jar
提交成功后,会返回已提交的Flink作业的YARN Application ID以及Web地址,访问Web地址以通过Web UI的方式查看作业状态。