• 沒有找到結果。

登录MapReduce服务管理控制台,选择“集群列表 > 现有集群”,选中当前的集 群并单击集群名,进入集群信息页面。

在“节点管理”中查看安装客户端所在的节点IP。

集群外节点:安装客户端所在的弹性云服务器的IP。

– Manager的浮动IP获取方法:

登录MapReduce服务管理控制台,选择“集群列表 > 现有集群”,选中当前的集 群并单击集群名,进入集群信息页面。

在“节点管理”中查看节点名称,名称中包含“master1”的节点为Master1节 点,名称中包含“master2”的节点为Master2节点。

远程登录Master2节点,执行“ifconfig”命令,系统回显中“eth0:wsom”表示 MRS Manager浮动IP地址,请记录“inet”的实际参数值。如果在Master2节点 无法查询到MRS Manager的浮动IP地址,请切换到Master1节点查询并记录。如 果只有一个Master节点时,直接在该Master节点查询并记录。

5. 配置安全认证,在“/opt/hadoopclient/Flink/flink/conf/flink-conf.yaml”配置文 件中的对应配置添加keytab路径以及用户名。

security.kerberos.login.keytab: <user.keytab文件路径>

security.kerberos.login.principal: <用户名>

例如:

security.kerberos.login.keytab: /opt/hadoopclient/Flink/flink/conf/user.keytab security.kerberos.login.principal: test

6. 参考签发证书样例章节生成“generate_keystore.sh”脚本并放置在Flink的客户端 bin目录下,执行如下命令进行安全加固,请参考认证和加密,password请重新设 置为一个用于提交作业的密码。

sh generate_keystore.sh <password>

该脚本会自动替换“/opt/hadoopclient/Flink/flink/conf/flink-conf.yaml”中关于

将配置项“security.ssl.keystore”设置为“flink.keystore”文件所在绝对路径。

将配置项“security.ssl.truststore”设置为“flink.truststore”文件所在的绝对路径。

将配置项“security.cookie”设置为“generate_keystore.sh”脚本自动生成的一串随 机规则密码。

默认“flink-conf.yaml”中“security.ssl.encrypt.enabled: false”,

“generate_keystore.sh”脚本将配置项“security.ssl.key-password”、

“security.ssl.keystore-password”和“security.ssl.truststore-password”的值设置 为调用“generate_keystore.sh”脚本时输入的密码。

MRS 3.1.0及之后版本,如果需要使用密文时,设置“flink-conf.yaml”中

“security.ssl.encrypt.enabled: true”,“generate_keystore.sh”脚本不会配置

“security.ssl.key-password”、“security.ssl.keystore-password”和

“security.ssl.truststore-password”的值,需要使用Manager明文加密API进行获 取,执行curl -k -i -u user name:password -X POST -HContent-type:application/

json -d '{"plainText":"password"}' 'https://x.x.x.x:28443/web/api/v2/tools/

encrypt'

其中user name:password分别为当前系统登录用户名和密码;"plainText"的 password为调用“generate_keystore.sh”脚本时的密码;x.x.x.x为集群Manager的 浮动IP。

7. 客户端访问flink.keystore和flink.truststore文件的路径配置。

– 绝对路径:执行该脚本后,在flink-conf.yaml文件中将flink.keystore和 flink.truststore文件路径自动配置为绝对路径“/opt/hadoopclient/Flink/

flink/conf/”,此时需要将conf目录中的flink.keystore和flink.truststore文件 分别放置在Flink Client以及Yarn各个节点的该绝对路径上。

– 相对路径:请执行如下步骤配置flink.keystore和flink.truststore文件路径为相 对路径,并确保Flink Client执行命令的目录可以直接访问该相对路径。

i. 在“/opt/hadoopclient/Flink/flink/conf/”目录下新建目录,例如ssl。

cd /opt/hadoopclient/Flink/flink/conf/

mkdir ssl

ii. 移动flink.keystore和flink.truststore文件到“/opt/hadoopclient/Flink/

flink/conf/ssl/”中。

mv flink.keystore ssl/

mv flink.truststore ssl/

iii. 修改flink-conf.yaml文件中如下两个参数为相对路径。

security.ssl.keystore: ssl/flink.keystore security.ssl.truststore: ssl/flink.truststore

步骤6 运行wordcount作业。

须知

用户在Flink提交作业或者运行作业时,应具有如下权限:

● 如果启用Ranger鉴权,当前用户必须属于hadoop组或者已在Ranger中为该用户添 加“/flink”的读写权限。

● 如果停用Ranger鉴权,当前用户必须属于hadoop组。

● 普通集群(未开启Kerberos认证)

– 执行如下命令启动session,并在session中提交作业。

yarn-session.sh -nm "session-name"

flink run /opt/hadoopclient/Flink/flink/examples/streaming/

WordCount.jar

– 执行如下命令在Yarn上提交单个作业。

flink run -m yarn-cluster /opt/hadoopclient/Flink/flink/examples/

streaming/WordCount.jar

● 安全集群(开启Kerberos认证)

– flink.keystore和flink.truststore文件路径为绝对路径时:

执行如下命令启动session,并在session中提交作业。

yarn-session.sh -nm "session-name"

flink run /opt/hadoopclient/Flink/flink/examples/streaming/

WordCount.jar

执行如下命令在Yarn上提交单个作业。

flink run -m yarn-cluster /opt/hadoopclient/Flink/flink/

examples/streaming/WordCount.jar

– flink.keystore和flink.truststore文件路径为相对路径时:

在“ssl”的同级目录下执行如下命令启动session,并在session中提交作 业,其中“ssl”是相对路径,如“ssl”所在目录是“opt/hadoopclient/

Flink/flink/conf/”,则在“opt/hadoopclient/Flink/flink/conf/”目录 下执行命令。

yarn-session.sh -t ssl/ -nm "session-name"

flink run /opt/hadoopclient/Flink/flink/examples/streaming/

WordCount.jar

执行如下命令在Yarn上提交单个作业。

flink run -m yarn-cluster -yt ssl/ /opt/hadoopclient/Flink/flink/

examples/streaming/WordCount.jar 步骤7 作业提交成功后,客户端界面显示如下。

6-7 在 Yarn 上提交作业成功

6-8 启动 session 成功

6-9 在 session 中提交作业成功

步骤8 使用运行用户进入Yarn服务的原生页面,具体操作参考查看Flink作业信息,找到对应 作业的application,单击application名称,进入到作业详情页面。

● 若作业尚未结束,可单击“Tracking URL”链接进入到Flink的原生页面,查看作 业的运行信息。

● 若作业已运行结束,对于在session中提交的作业,可以单击“Tracking URL”链 接登录Flink原生页面查看作业信息。

6-10 application

----结束

6.2 查看 Flink 作业信息

用户可以通过Yarn的WebUI,在图形化界面查看Flink作业的相关信息。

前提条件

集群已安装Flink服务。