准备本地应用开发环境
准备开发环境
在进行应用开发时,要准备的开发和运行环境如表1所示。
准备项 |
说明 |
---|---|
操作系统 |
|
安装JDK |
开发和运行环境的基本配置,版本要求如下: 服务端和客户端仅支持集群自带的OpenJDK,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的:
说明:
|
安装和配置IDEA |
用于开发Flink应用程序的工具。版本要求:2019.1或其他兼容版本。 |
安装Scala |
Scala开发环境的基本配置。版本要求:2.11.7。 |
安装Scala插件 |
Scala开发环境的基本配置。版本要求:1.5.4。 |
安装Maven |
开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 |
准备开发用户 |
参考准备MRS应用开发用户进行操作,准备用于应用开发的集群用户并授予相应权限。 |
7-zip |
用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。 |
Python3 |
用于运行Flink Python作业。版本要求:Python3.6及以后版本。 |
准备运行环境
进行应用开发时,需要同时准备代码的运行调测的环境,用于验证应用程序运行正常。
- 如果使用Linux环境调测程序,需在准备安装集群客户端的Linux节点并获取相关配置文件。
- 在节点中安装客户端,例如客户端安装目录为“/opt/hadoopclient”。客户端安装可参考配置Flink应用安全认证。
客户端机器的时间与集群的时间要保持一致,时间差小于5分钟。
集群的Master节点或者Core节点使用客户端可参考集群内节点使用MRS客户端,MRS集群外客户端的安装操作可参考集群外节点使用MRS客户端。
- 确保Flink客户端的“flink-conf.yaml”配置文件中的认证相关配置项已经配置正确,请参考配置Flink应用安全认证章节的步骤5。
- 安全模式下需要将客户端安装节点的业务IP地址以及Manager的浮动IP地址追加到“flink-conf.yaml”文件中的“jobmanager.web.allow-access-address”配置项中,IP地址之间使用英文逗号分隔。
- 登录FusionInsight Manager页面,下载集群客户端软件包至主管理节点并解压,然后以root用户登录主管理节点,进入集群客户端解压路径下,复制“FusionInsight_Cluster_1_Services_ClientConfig\Flink\config”路径下的所有配置文件至客户端节点,放置到与准备放置编译出的jar包同目录的“conf”目录下,用于后续调测,例如“/opt/hadoopclient/conf”。
例如客户端软件包为“FusionInsight_Cluster_1_Services_Client.tar”,下载路径为主管理节点的“/tmp/FusionInsight-Client”:
cd /tmp/FusionInsight-Client
tar -xvf FusionInsight_Cluster_1_Services_Client.tar
tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar
cd FusionInsight_Cluster_1_Services_ClientConfig
scp Flink/config/* root@客户端节点IP地址:/opt/hadoopclient/conf
准备MRS应用开发用户时获取的keytab文件也放置于该目录下,主要配置文件说明如表2所示。
- 检查客户端节点网络连接。
在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。
- (可选)若运行Python作业,需额外配置如下:(适用于MRS 3.3.0及以后版本)
- 使用root用户登录flink客户端安装节点,使用如下命令确认环境已成功安装Python 3.6或以后版本。
python3 -V
- 进入python3安装路径,安装路径如“/srv/pyflink-example”,执行以下命令安装virtualenv。
virtualenv venv --python=python3.x
source venv/bin/activate
- 执行以下命令将客户端安装目录下的“Flink/flink/opt/python/apache-flink-*.tar.gz”文件复制到“/srv/pyflink-example”。
cp 客户端安装目录/Flink/flink/opt/python/apache-flink-*.tar.gz /srv/pyflink-example
- 执行以下命令安装依赖包,显示如下表示安装成功。
python -m pip install apache-flink-libraries-*.tar.gz
python -m pip install apache-flink-版本号.tar.gz... Successfully built apache-flink Installing collected packages: apache-flink Attempting uninstall: apache-flink Found existing installation: apache-flink x.xx.x Uninstalling apache- flink-x.xx.x: Successfully uninstalled apache-flink-x.xx.x Successfully installed apache-flink-x.xx.x
- 使用root用户登录flink客户端安装节点,使用如下命令确认环境已成功安装Python 3.6或以后版本。
- 在节点中安装客户端,例如客户端安装目录为“/opt/hadoopclient”。客户端安装可参考配置Flink应用安全认证。