0726-6.3.0-如何在CDH6.3中安装Streams Messaging Manager(SMM)

2019-11-11 10:13:45 浏览数 (1)

文档编写目的

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

注意:强烈推荐使用CDH6.3或更高版本,默认包含Apache Kafka。如果你使用的是CDH5.13,你需要使用CDK4.1或更高版本。CDK是Cloudera Distribution of Apache Kafka的简称,最新的CDK4.1基于Apache Kafka2.2.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的账号。

代码语言:javascript复制
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服务。

代码语言:javascript复制
[root@ip-172-31-13-38 ~]# cd /opt/cloudera/csd
[root@ip-172-31-13-38 csd]# ll
total 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目录

代码语言:javascript复制
[root@ip-172-31-13-38 ~]# cd /var/www/html/smm/
[root@ip-172-31-13-38 smm]# ll
total 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的数据库与用户。

代码语言:javascript复制
create database streamsmsgmgr default character set utf8;
CREATE USER 'streamsmsgmgr'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON streamsmsgmgr. * TO 'streamsmsgmgr'@'%';
FLUSH PRIVILEGES;

2.3 在SMM节点上安装NPM

在添加和配置SMM服务之前,必须先安装节点软件包管理器(node package manager,NPM),然后安装forever模块。

1.安装gcc-c 编译器

代码语言:javascript复制
[root@ip-172-31-13-38 ~]# yum install -y gcc-c   make

2.安装nodejs和npm

代码语言:javascript复制
[root@ip-172-31-13-38 ~]# curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
[root@ip-172-31-13-38 yum.repos.d]# yum install nodejs -y

注意该步骤需要主机能上网才能够执行,如果主机不能上网需要离线安装nodejs和npm,可自行百度。

3.检查nodejs和npm的版本

代码语言:javascript复制
[root@ip-172-31-13-38 yum.repos.d]# node -v
v10.17.0
[root@ip-172-31-13-38 yum.repos.d]# npm -v
6.11.3

注意nodejs版本需大于10,这里是10.17.0。

4.使用npm安装forever。

代码语言:javascript复制
[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.配置以下必填配置,点击继续。

配置项

配置值

备注

cm.metrics.host

ip-172-31-13-38.ap-southeast-1.compute.internal

CM主机的hostname

cm.metrics.password

admin

CM的admin账号密码

cm.metrics.service.name

kafka

Kafka服务的名称

streams.messaging.manager.storage.connector.connectURI

jdbc:mysql://ip-172-31-13-38.ap-southeast-1.compute.internal:3306/streamsmsgmgr

MySQL地址

streams.messaging.manager.storage.connector.user

streamsmsgmgr

连接MySQL的用户名

streams.messaging.manager.storage.connector.password

password

连接MySQL的用户密码

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。

0 人点赞