云服务器内容精选
-
场景说明 在安全集群环境下,各个组件之间的相互通信不能够简单的互通,而需要在通信之前进行相互认证,以确保通信的安全性。用户在提交Flink应用程序时,需要与Yarn、HDFS等之间进行通信。那么提交Flink的应用程序中需要设置安全认证,确保Flink程序能够正常运行。 当前Flink系统支持认证和加密传输,要使用认证和加密传输,用户需要安装Flink客户端并配置安全认证,本章节以“/opt/hadoopclient”为客户端安装目录为例,介绍安装客户端及配置安全认证。客户端安装目录请根据实际修改。
-
准备开发环境 在进行应用开发时,要准备的开发和运行环境如表1所示。 表1 开发环境 准备项 说明 操作系统 开发环境:Windows系统。 运行环境:Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置,版本要求如下: 服务端和客户端仅支持集群自带的OpenJDK,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的: X86客户端: Oracle JDK:支持1.8版本; IBM JDK:支持1.8.0.7.20和1.8.0.6.15版本。 ARM客户端: OpenJDK:支持1.8.0_272版本(集群自带JDK,可通过集群客户端安装目录中“JDK”文件夹下获取)。 毕昇JDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情可参考https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 毕昇JDK详细信息可参考https://www.hikunpeng.com/zh/developer/devkit/compiler/jdk。 安装和配置IDEA 用于开发Flink应用程序的工具。版本要求:14.1.7。 安装Scala Scala开发环境的基本配置。版本要求:2.11.7。 安装Scala插件 Scala开发环境的基本配置。版本要求:1.5.4。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。 Python3 用于运行Flink Python作业。版本要求:Python3.6及以后版本。
-
准备运行环境 进行应用开发时,需要同时准备代码的运行调测的环境,用于验证应用程序运行正常。 如果使用Linux环境调测程序,需在准备安装集群客户端的Linux节点并获取相关配置文件。 在节点中安装客户端,例如客户端安装目录为“/opt/client”。 客户端机器的时间与集群的时间要保持一致,时间差小于5分钟。 集群的Master节点或者Core节点使用客户端可参考集群内节点使用 MRS 客户端,MRS集群外客户端的安装操作可参考集群外节点使用MRS客户端。 登录 FusionInsight Manager页面,下载集群客户端软件包至主管理节点并解压,然后以root用户登录主管理节点,进入集群客户端解压路径下,复制“FusionInsight_Cluster_1_Services_ClientConfig\Flink\config”路径下的所有配置文件至客户端节点,放置到与准备放置编译出的jar包同目录的“conf”目录下,用于后续调测,例如“/opt/client/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/client/conf 主要配置文件说明如表2所示。 表2 配置文件 文件名称 作用 core-site.xml 配置Flink详细参数。 hdfs-site.xml 配置HDFS详细参数。 yarn-site.xml 配置Yarn详细参数。 flink-conf.yaml Flink客户端配置文件。 检查客户端节点网络连接。 在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。 (可选)若运行Python作业,需额外配置如下:(适用于MRS 3.3.0及以后版本) 使用root用户登录flink客户端安装节点,使用如下命令确认环境已成功安装Python 3.6或以后版本。 python3 -V 进入python3安装路径,安装路径如“/srv/pyflink-example”,执行以下命令安装virtualenv。 cd /srv/pyflink-example 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
-
准备运行环境 进行应用开发时,需要同时准备代码的运行调测的环境,用于验证应用程序运行正常。 如果使用Linux环境调测程序,需在准备安装集群客户端的Linux节点并获取相关配置文件。 在节点中安装客户端,例如客户端安装目录为“/opt/client”。 客户端机器的时间与集群的时间要保持一致,时间差小于5分钟。 集群的Master节点或者Core节点使用客户端可参考集群内节点使用MRS客户端,MRS集群外客户端的安装操作可参考集群外节点使用MRS客户端。 登录FusionInsight Manager页面,下载集群客户端软件包至主管理节点并解压,然后以root用户登录主管理节点,进入集群客户端解压路径下,复制“FusionInsight_Cluster_1_Services_ClientConfig\Flink\config”路径下的所有配置文件至客户端节点,放置到与准备放置编译出的jar包同目录的“conf”目录下,用于后续调测,例如“/opt/client/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/client/conf 主要配置文件说明如表2所示。 表2 配置文件 文件名称 作用 core-site.xml 配置Flink详细参数。 hdfs-site.xml 配置HDFS详细参数。 yarn-site.xml 配置Yarn详细参数。 flink-conf.yaml Flink客户端配置文件。 检查客户端节点网络连接。 在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。
-
准备开发环境 在进行应用开发时,要准备的开发和运行环境如表1所示。 表1 开发环境 准备项 说明 操作系统 开发环境:Windows系统。 运行环境:Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。 X86客户端:Oracle JDK:支持1.8版本;IBM JDK:支持1.8.5.11版本。 TaiShan客户端:OpenJDK:支持1.8.0_272版本。 安装和配置IDEA 用于开发Flink应用程序的工具。版本要求:14.1.7。 安装Scala Scala开发环境的基本配置。版本要求:2.11.7。 安装Scala插件 Scala开发环境的基本配置。版本要求:1.5.4。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。
-
参考信息 Flink客户端lib目录、opt目录中都有flink jar包,其中lib目录中默认是flink核心jar包,opt目录中是对接外部组件的jar包(例如flink-connector-kafka*.jar),若应用开发中需要请手动复制相关jar包到lib目录中。 针对Flink提供的几个样例工程,其对应的运行依赖包如下: DataStream程序样例工程(Java/Scala) flink-dist_*.jar flink-dist_*.jar可在Flink的客户端或者服务端安装路径的lib目录下获取。 向Kafka生产并消费数据程序样例工程(Java/Scala) kafka-clients-*.jar flink-connector-kafka_*.jar flink-connector-kafka_*.jar可在Flink客户端或者服务端安装路径的opt目录下获取。 kafka-clients-*.jar由Kafka组件发布提供,可在Kafka组件客户端或者服务端安装路径下的lib目录下获取。 异步Checkpoint机制程序样例工程(Java/Scala) flink-dist_*.jar pipeline程序样例工程(Java/Scala) flink-connector-netty_*.jar flink-dist_*.jar flink-shaded-curator-*.jar curator-client-2.12.0.jar curator-framework-2.12.0.jar flink-shaded-curator-*.jar可在Flink客户端或者服务端安装路径的opt目录下获取。 flink-connector-netty_*.jar、curator-client-2.12.0.jar、curator-framework-2.12.0.jar可在二次开发样例代码编译后产生的lib文件夹下获取。 flink-shaded-curator-*.jar仅适用于MRS 3.0.X集群。 curator-client-2.12.0.jar、curator-framework-2.12.0.jar仅适用于MRS 3.1.X集群。 Stream SQL Join样例工程(Java) kafka-clients-*.jar flink-connector-kafka_2.11*.jar flink-connector-kafka-base_*.jar flink-connector-kafka_*.jar flink-dist_2.11*.jar flink-table_2.11*.jar flink-connector-kafka-base_*.jar、flink-connector-kafka_*.jar可在Flink客户端或者服务端安装路径的“opt”目录下获取。 flink-connector-kafka-base_*.jar、flink-connector-kafka_*.jar仅适用于MRS 3.0.X集群。 flink-connector-kafka_2.11*.jar、flink-dist_2.11*.jar和flink-table_2.11*.jar仅适用于MRS 3.1.X集群。
-
安全认证 Flink整个系统有两种认证方式: 使用kerberos认证:Flink yarn client与Yarn Resource Manager、JobManager与Zookeeper、JobManager与HDFS、TaskManager与HDFS、Kafka与TaskManager、TaskManager和Zookeeper。 使用YARN内部的认证机制:Yarn Resource Manager与Application Master(简称AM)。 Flink的JobManager与YARN的AM是在同一个进程下。 表1 安全认证方式 安全认证方式 说明 配置方法 Kerberos认证 当前只支持keytab认证方式。 从KDC服务器上下载用户keytab,并将keytab放到Flink客户端所在主机的某个文件夹下(例如/home/flinkuser/keytab)。 在“${FLINK_HOME}/conf/flink-conf.yaml”上配置: keytab路径。 security.kerberos.login.keytab: /home/flinkuser/keytab/user.keytab 说明: “/home/flinkuser/keytab/”表示的是用户保存keytab的目录。 principal名(即开发用户名)。 security.kerberos.login.principal:flinkuser 对于HA模式,如果配置了ZooKeeper,还需要设置ZK kerberos认证相关的配置。配置如下: zookeeper.sasl.disable: false security.kerberos.login.contexts: Client 如果用户对于Kafka client和Kafka broker之间也需要做kerberos认证,配置如下: security.kerberos.login.contexts: Client,KafkaClient YARN内部认证方式 该方式是YARN内部的认证方式,不需要用户配置。 - 当前一个Flink集群只支持一个用户,一个用户可以创建多个Flink集群。
-
操作场景 为了运行FusionInsight MRS产品Flink组件的SpringBoot接口样例代码,需要完成下面的操作。当前支持 GaussDB (DWS)样例工程。 该章节以在Linux环境下开发GaussDB(DWS) SpringBoot方式连接Flink服务的应用程序为例。 执行GaussDB(DWS)样例需提前登录GaussDB(DWS)所在节点创建用于接受数据的空表“test_lzh1”,创建命令如下: create table test_lzh1 (id integer not null);
-
样例工程运行依赖包参考信息 Flink客户端lib目录、opt目录中都有flink jar包,其中lib目录中默认是flink核心jar包,opt目录中是对接外部组件的jar包(例如flink-connector-kafka*.jar),若应用开发中需要请手动复制相关jar包到lib目录中。 针对Flink提供的几个样例工程,其对应的运行依赖包如下: 表1 样例工程运行依赖包 样例工程 依赖包 依赖包获取地址 DataStream程序 异步Checkpoint机制程序 flink-dist_*.jar 可在Flink的客户端或者服务端安装路径的lib目录下获取。 使用Flink Jar提交SQL作业程序 FlinkServer REST API程序 flink-dist_*.jar flink-table_*.jar 可在Flink的客户端或者服务端安装路径的lib目录下获取。 向Kafka生产并消费数据程序 kafka-clients-*.jar flink-connector-kafka_*.jar kafka-clients-*.jar由Kafka组件发布提供,可在Kafka组件客户端或者服务端安装路径下的lib目录下获取。 flink-connector-kafka_*.jar可在Flink客户端或者服务端安装路径的opt目录下获取。 pipeline程序 flink-connector-netty_*.jar flink-dist_*.jar flink-connector-netty_*.jar可在二次开发样例代码编译后产生的lib文件夹下获取。 flink-dist_*.jar可在Flink的客户端或者服务端安装路径的lib目录下获取。 Stream SQL Join程序 kafka-clients-*.jar flink-connector-kafka_*.jar flink-dist_*.jar flink-table_*.jar kafka-clients-*.jar由Kafka组件发布提供,可在Kafka组件客户端或者服务端安装路径下的lib目录下获取。 flink-connector-kafka_*.jar可在Flink客户端或者服务端安装路径的opt目录下获取。 flink-dist_*.jar、flink-table_*.jar可在Flink的客户端或者服务端安装路径的lib目录下获取。 Flink读写HBase程序 flink-connector-hbase*.jar flink-dist_*.jar flink-table_*.jar hbase-clients-*.jar flink-connector-hbase_*.jar可在Flink客户端或者服务端安装路径的opt目录下获取。 flink-dist_*.jar、flink-table_*.jar可在Flink的客户端或者服务端安装路径的lib目录下获取。 hbase-clients-*.jar由HBase组件发布提供,可在HBase组件客户端或者服务端安装路径下的lib目录下获取。 Flink读写Hudi程序 hbase-unsafe-*.jar 可在二次开发样例代码编译后产生的lib文件夹下获取。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格