我们在Cloudera的流分析系列中介绍了《Cloudera中的流分析概览》、《SQL Stream Builder的概览》和《CSA的部署方案》,今天我们来进行下一个章节:CSA的安装部署。
支持矩阵
系统要求
在安装Cloudera Streaming Analytics之前,您应验证自己是否满足系统要求。除了CDP私有云基础,您还应该检查所需组件的最新受支持版本。
CDP Private Cloud Base support | CSA 1.3 runs on CDP Private Cloud Base 7.1.1-7.1.6 | ||
---|---|---|---|
Operating system support | RHEL/CentOS 7.6-7.9 | ||
Ubuntu 18.04 | |||
JDK support | Open JDK 8 | ||
Oracle JDK 8 | |||
Open JDK 11 | |||
Database support | MySQL | 5.7, 8 | |
MariaDB | 10.2 | ||
PostgreSQL | 9.6-12 | ||
Component support | Flink | 1.12 | |
Component support for connectors | Kafka1 | 2.5.0 | |
Schema Registry | 0.10.0 | ||
Streams Messaging Manager | 2.1.0 | ||
HBase | 2.2.3 | ||
HDFS | 3.1.1 | ||
Atlas | 2.1.0 | ||
Kudu | 1.13.0 | ||
Hive | 3.1.3 |
Flink API支持
Cloudera流分析(CSA)为Apache Flink API的三个基本层提供支持。您可以使用DataStream API、ProcessFunction API和SQL API的选定子集来开发Flink流应用程序。
在DataStream和ProcessFunction API中,基于Apache Flink社区提供的支持注释,支持以下内容。
稳定(@Public) | 不断发展(@PublicEvolving) |
---|---|
DataStream API | 过程函数流加入间隔加入有状态的运算符具有HDFS的FsStatebackend具有HDFS的RocksDBStateBackend |
- DataStream API
- 过程函数
- 流加入
- 间隔加入
- 有状态的运算符
- 具有HDFS的FsStatebackend
- 具有HDFS的RocksDBStateBackend
笔记
CSA不支持批处理(DataSet API)。
Flink和SSB的默认端口
下表列出了Flink和SSB的默认端口和相应的属性文件名。默认情况下,端口是在Cloudera Manager中设置的。您可以使用配置属性根据需要更改端口。
组件 | 服务 | 港口 | 配置属性 |
---|---|---|---|
Flink | Flink仪表板 | 18211 | historyserver.web.port |
SQL Stream Builder | 流式SQL引擎 | 18121 | server.port |
物化视图引擎 | 18131 | server.port | |
流式SQL控制台 | 18111 | console.port | |
18112 | console.secure.port |
有关Cloudera Runtime组件的默认端口列表,请参阅Cloudera Runtime组件使用的端口文档。
下载CSA
获得有效订阅后,您可以使用MyCloudera帐户访问Cloudera Streaming Analytics(CSA)下载页面。在下载页面上,您可以找到必须下载的Flink和SQL Stream Builder(SSB)工件才能安装和使用CSA。
出于生产目的访问CSA软件工件需要进行身份验证。
您必须首先具有有效的订阅协议,该协议可为您提供下载和使用CSA的权限。CSA的权利已连接到您的MyCloudera帐户,您可以使用该帐户访问CSA下载页面。
笔记
在下载CSA的试用版时,请确保Cloudera Manager中提供了CDP Private Cloud Base的所有必需服务。有关CSA试用版的许可和可用性的更多信息,请参阅CSA试用版下载页面。
确保您在cloudera.com 或my.cloudera.com上登录了MyCloudera帐户,按照Cloudera流分析下载页面向导下载CSA (Parcel), CSA Parcel (Sha) 和CSA Parcel (manifest.json) 以及Flink CSD和SSB CSD文件。
已经获得了Parcel和CSD文件之后就可以安装Flink和SSB。
安装CSD和Parcel
要安装Cloudera Streaming Analytics(CSA),您需要将下载的Flink和SQL Stream Builder(SSB)定制服务描述符(CSD)文件上传到默认的CSD目录,然后使用Cloudera Manager将CSA Parcel添加到您的集群中。
- 将CSD文件放在/opt/cloudera/csd/文件夹(默认CSD目录)中。
[root@ip-10-0-0-103 csd]# ls -lrt /opt/cloudera/csd/
total 208
-rw-r--r--. 1 cloudera-scm cloudera-scm 53951 Sep 30 2020 NIFIREGISTRY-0.6.0.2.0.4.0-80.jar
-rw-r--r--. 1 cloudera-scm cloudera-scm 62987 Sep 30 2020 NIFI-1.11.4.2.0.4.0-80.jar
-rw-r--r--. 1 cloudera-scm cloudera-scm 13462 Feb 25 11:09 CLOUDERA_DATA_SCIENCE_WORKBENCH-CDPDC-1.9.1.jar
-rw-r--r--. 1 root root 46264 Mar 19 15:22 FLINK-1.12-csa1.3.0.0-cdh7.1.6.0-297-11607198.jar
-rw-r--r--. 1 root root 21299 Mar 19 15:23 SQL_STREAM_BUILDER-1.12-csa1.3.0.0-cdh7.1.6.0-297-11607198.jar
You have new mail in /var/spool/mail/root
[root@ip-10-0-0-103 csd]#
这样,Cloudera Manager将自动检测CSD文件。
- 更改CSD文件的所有权。
chown cloudera-scm:cloudera-scm *csa1.3*
- 重新启动Cloudera Manager和CMS服务,以使更改生效。
systemctl restart cloudera-scm-server
- 登录到Cloudera Manager。
- 在主导航栏中的“主页”>“主机”选项卡上选择“Parcels” 。
- 单击“Parcel存储库和网络设置” 选项卡。
- 配置CSA的存储库的URL,然后点击保存和配置验证
- 验证没有问题后点击关闭
- 搜索Flink,然后单击“下载”以将parcel下载到本地存储库。
- 下载完成后,单击“分配”以将Parcel分发到所有集群。
- 分配Parcel后,单击“激活”以激活Parcel。
- 需要确认时,单击“OK”。
这时CSA的Parcel包就已经激活完毕。
添加Flink服务到集群
您需要使用Cloudera Manager中的“添加服务”向导在群集上安装Flink服务。分配角色时,必须在提交Flink作业的同一节点上安装Flink、HDFS和YARN Gateway角色。
- 确保Flink CSD文件在/opt/cloudera/csd 文件夹中。
- 确保已将CSA包裹添加到Cloudera Manager。
- 检查集群中是否安装了以下组件:
强制性组件 | 可选组件 |
---|---|
YARN | Kafka |
HDFS | HBase |
Zookeeper | Schema Registry |
Streams Messaging Manager | |
Kudu | |
Hive | |
Atlas |
- 打开Cloudera Manager。
- 在主屏幕上,选择集群右侧的下拉菜单,选择添加服务。
- 从列表中,选择Flink作为服务类型,然后单击继续。
将启动“添加服务”向导。
- 如果源和接收器解决方案需要,请选择HBase和Hive作为可选依赖项,然后单击继续。
- 将角色分配给Dashboard和Gateway,然后单击 Continue。
笔记
在用于提交Flink作业的同一台计算机上安装Flink、HDFS和YARN Gateway角色。Flink HistoryServer角色还取决于同一台计算机上是否具有HDFS客户端配置。HDFS客户端配置可以由HDFS守护程序角色隐式提供,也可以由HDFS网关角色显式部署。
- 查看服务所需的更改。
笔记
您可以将此页面留空,因为设置是自动配置的。您以后可以在Flink>配置>安全性中更改安全性设置。
- 单击继续,等待直到Flink服务的第一次运行完成。
- 单击继续,然后 单击完成。
您已经在Cloudera Manager中将Flink添加为服务。
可以看到Flink前面是问号而不是绿色的对勾,这是因为Cloudera Management Service的服务没有刷新,还不能监控Flink服务。
重启Cloudera Management Service服务,使得可以监控Flink。
重启完成后,CM就可以监控Flink了。
设置您的HDFS主目录
您需要一个HDFS主目录来存储应用程序的临时日志和数据,以运行Flink作业。您必须为用户设置HDFS主目录,以避免在使用Flink时出错。
要运行Flink作业,您的HDFS主目录必须存在。如果不存在,您将收到类似于以下内容的错误消息:
Permission denied: user=$USER_NAME, access=WRITE, inode=“/user”.
创建HDFS主目录。请您的HDFS管理员执行以下操作(或获取HDFS管理员角色)。
选项 | 命令 |
---|---|
启用Kerberos | kinit hdfshdfs dfs -mkdir /user/$USER_NAMEhdfs dfs -chown $USER_NAME:$USER_NAME /user/$USER_NAME |
禁用Kerberos | HADOOP_USER_NAME=hdfs hdfs dfs -mkdir /user/$USER_NAMEHADOOP_USER_NAME=hdfs hdfs dfs -chown $USER_NAME:$USER_NAME /user/$USER_NAME |
在企业环境中,您可以使用Hue通过为用户启用自动同步来设置主目录。
该环境没有启用Kerberos,因此使用上面的禁用Kerberos的命令来设置目录。
代码语言:javascript复制[root@ip-10-0-0-103 csd]# USER_NAME=bigdata
[root@ip-10-0-0-103 csd]# HADOOP_USER_NAME=hdfs hdfs dfs -mkdir /user/$USER_NAME
[root@ip-10-0-0-103 csd]# HADOOP_USER_NAME=hdfs hdfs dfs -chown $USER_NAME:$USER_NAME /user/$USER_NAME
[root@ip-10-0-0-103 csd]# hdfs dfs -ls /user/
Found 11 items
drwxr-xr-x - bigdata bigdata 0 2021-05-14 09:27 /user/bigdata
drwxr-xr-t - flink flink 0 2021-05-14 09:15 /user/flink
drwxrwxrwx - mapred hadoop 0 2021-05-14 08:32 /user/history
设置Flink客户端的Java可执行文件
您必须通过命令行为Flink客户端手动设置Java_home环境,以避免在使用Flink时出错。Cloudera Manager中的配置仅适用于服务,不适用于客户端。
Cloudera ManagerJAVA_HOME 在“主机”>“所有主机”>“配置”下为环境变量提供配置。但是,这仅适用于服务(例如YARN NodeManager或Flink HistoryServer),并且不会传播到客户端,例如Flink可执行文件在本地创建的JVM。JVM使用下面的Bigtop实用程序 /usr/bin/bigtop-detect-javahome自动检测到 JAVA_HOME。
设置JAVA_HOME为固定值:
代码语言:javascript复制cat /etc/default/bigtop-utils
export JAVA_HOME=/usr/java/default
笔记
Cloudera强烈建议将此值设置为与Cloudera Manager中设置的值相同。还建议在所有节点上统一设置它,以避免不必要的混乱。这是Cloudera社区中的一个已知问题。
参考链接:
https://docs.cloudera.com/csa/1.3.0/support-matrix/topics/csa-system-req.html
https://docs.cloudera.com/csa/1.3.0/download/topics/csa-download-portal.html
https://docs.cloudera.com/csa/1.3.0/installation/topics/csa-installing-parcel.html