文档编写目的
Cloudera在2019年9月18日正式对外宣布发布Cloudera Stream Processing(CSP)2.0,参考《Cloudera Streams Management正式GA》。Cloudera Stream Processing (CSP)提供了高级消息传递,流处理和流分析功能,这些功能由Apache Kafka作为核心流处理引擎提供支持。它同时为Kafka添加了两个流管理功能,Kafka监控和Kafka数据复制。Streams Messaging Manager(SMM)为Kafka集群提供了一个监控仪表板。Streams Replication Manager(SRM)为企业提供了实现跨集群Kafka topic复制的能力。
CSP现在可以提供企业级的平台服务,通过与Cloudera Manager的集成实现集群管理和监控,与Apache Sentry集成实现基于角色的授权,同时集成一个新的Schema Registry服务以实现数据治理和schema管理能力。
CSP包含以下组件和服务:
1.由Streams Messaging Manager(SMM)提供Kafka的监控,可以通过Parcel在CM中安装。
2.由Streams Replication Manager(SRM)提供Kafka的数据复制,可以通过Parcel在CM中安装。
3.由Schema Registry提供Kafka和NiFi的schema的统一管理,可以通过Parcel在CM中安装。
4.支持CDH6.3中的Apache Kafka 2.2.0或者CDK4.1
5.支持Kafka Streams
6.使用Cloudera Manger实现集群管理和监控。
7.使用Apache Sentry实现Kafka的访问控制。
CSP2.0以模块化形式设计,为用户提供了灵活性,使其可以选择在CM托管集群上安装哪些服务。CSP2.0提供了两组功能:流处理和流管理。每一组都包含相应的parcel:
- CSP Stream Processing Parcels
- Kafka from CDH 6.3.0 or the CDK 4.1 Parcel
- Schema Registry Parcel
- CSP Stream Management Parcels
- SMM Parcel
- SRM Parcel
本文Fayson主要介绍如何在CDH6.3中安装SMM,其余部分会在后续的文章中进行介绍,在安装前需要了解SMM的安装前置:
1.Cloudera Manager必须升级到6.3或更高版本。
2.CDH5.13或更高版本,CDH6.3或更高版本。
3.集群必须已经安装Kafka服务CDK4.1或更高版本。
- 本次Fayson的测试环境为
1.CM和CDH版本为6.3
2.Redhat7.4
3.JDK1.8.0_181
4.集群未启用Kerberos
5.root用户安装
前置准备
2.1 下载SMM的试用安装包
1.访问试用下载链接,注意你需要注册cloudera.com的账号。
https://www.cloudera.com/downloads/cdf/csm-trial.html
2.下载SMM的csd文件
注意:该试用会在60天后过期。
3.点击Submit下载csd文件,并放置到Cloudera Manager Server的/opt/cloudera/csd目录。然后重启Cloudera Manager Server服务。
[root@ip-172-31-13-38 ~]# cd /opt/cloudera/csd[root@ip-172-31-13-38 csd]# lltotal 28-rw-r--r-- 1 root root 24630 Sep 4 20:02 STREAMS_MESSAGING_MANAGER-2.1.0.jar[root@ip-172-31-13-38 csd]# systemctl restart cloudera-scm-server
4.CM重启完成以后,添加服务页面可以看到有SMM服务。
5.下载SMM的Parcel,并放置/var/www/html目录
[root@ip-172-31-13-38 ~]# cd /var/www/html/smm/[root@ip-172-31-13-38 smm]# lltotal 126360-rw-r--r-- 1 root root 6625 Sep 4 19:56 manifest.json-rw-r--r-- 1 root root 129378640 Sep 4 19:57 STREAMS_MESSAGING_MANAGER-2.1.0.2.0.0.0-135-el7.parcel-rw-r--r-- 1 root root 41 Sep 4 20:04 STREAMS_MESSAGING_MANAGER-2.1.0.2.0.0.0-135-el7.parcel.sha
6.通过Hosts > Parcels进入Cloudera Manager的Parcel页面,输入SMM Parcel的http地址,下载->分配->激活。
2.2 在MySQL中创建数据库与用户
1.登录到MySQL并创建SMM的数据库与用户。
2.3 在SMM节点上安装NPM
在添加和配置SMM服务之前,必须先安装节点软件包管理器(node package manager,NPM),然后安装forever模块。
1.安装gcc-c++编译器
2.安装nodejs和npm
注意该步骤需要主机能上网才能够执行,如果主机不能上网需要离线安装nodejs和npm,可自行百度。
3.检查nodejs和npm的版本
[root@ip-172-31-13-38 yum.repos.d]# node -vv10.17.0[root@ip-172-31-13-38 yum.repos.d]# npm -v6.11.3
注意nodejs版本需大于10,这里是10.17.0。
4.使用npm安装forever。
[root@ip-172-31-13-38 yum.repos.d]# npm install forever -g
2.4 获取集群Kafka的服务名
1.从CM主页进入Kafka服务。
2.随便选择右边“图表”,选择在“图表生成器中打开”
一般默认服务名都为kafka,记下这个名字在后面安装过程中会用到。
安装SMM
1.进入CM主页点击“添加服务”。
2.选择添加SMM服务,点击继续。
3.选择已经安装了npm和nodejs的节点,点击继续
4.配置以下必填配置,点击继续。
5.等待SMM服务启动
6.点击继续,回到CM主页。
7.访问Streams Messaging Manager Web UI
8.访问Streams Messaging Manager Rest Swagger UI
至此SMM安装完毕。
总结
1.CSP2.0包含Kafka,Kafka Streams,Schema Registry ,Streams Messaging Manager(SMM)和Streams Replication Manager(SRM),本文档主要是介绍如何安装SMM,安装SMM需要集群已经安装了Kafka服务。
2.SMM的Parcel包下载需要到cloudera.com的试用页面进行下载,默认试用60天。
3.下载好SMM的csd文件,除了重启Cloudera Manager Server服务外,还需要重启Cloudera Management Service,否则安装SMM服务成功后,通过CM进入SMM服务后,右边的图表显示将会报错。
4.SMM需要在MySQL中创建相应的数据库与用户。
5.SMM服务所在节点需要安装nodejs和npm,还需要安装forever模块,主要nodejs版本需大于10。本文使用的是直接访问外网的方式,如果想离线安装nodejs和npm,需要另外准备相应的依赖包。
6.安装SMM服务前还需要通过CM获取Kafka服务的服务名,如何获取参考本文的前置准备章节。注意服务名一般是小写的kafka,这里会区分大小写。
7.SMM的安装只支持Cloudera Manager6.3或更高版本,这是因为CM6.3才增加对SMM服务的相关监控,如果CM版本较低,即使导入csd文件,CM的添加服务也不会有SMM服务显示。
8.SMM的安装支持CDH6.3或更高版本,CDH5.13或更高版本,但是必须安装CDK4.1以上版本的Kafka,CDK是Cloudera Distribution of Apache Kafka的简称,最新的CDK4.1基于Apache Kafka2.2.1。