前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0780-6.3.3-如何在离线环境下安装Streams Message Manager(SMM)

0780-6.3.3-如何在离线环境下安装Streams Message Manager(SMM)

作者头像
Fayson
发布2020-06-04 11:31:34
8370
发布2020-06-04 11:31:34
举报
文章被收录于专栏:Hadoop实操Hadoop实操

文档编写目的

本篇文章主要介绍如何在离线的环境下安装SMM。

  • 测试环境:

1.Redhat7.2

2.采用root用户操作

3.CM和CDH版本为6.3.3

4.JDK1.8.0_181

5.集群已启用Kerberos

前置环境准备

2.1SMM安装包准备

1.下载SMM的试用安装包,并部署至本地HTTP服务

2.将下载的csd文件拷贝至/opt/cloudera/csd目录下,并重启cloudera-scm-server服务

代码语言:javascript
复制
cp STREAMS_MESSAGING_MANAGER-2.1.0.jar /opt/cloudera/csd
systemctl restart cloudera-scm-server

2.2创建SMM数据库与用户

在这里Streams Message Manager服务的元数据库我们选择使用MySQL,需要在数据库中为SMM服务创建相应的库和用户,使用root用户登录MySQL数据库执行如下SQL语句创建库和访问用户,操作如下:

代码语言:javascript
复制
CREATRE DATABASE streamsmsgmgr;
CREATE USER 'streamsmsgmgr'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON streamsmsgmgr.* TO 'streamsmsgmgr'@'%' WITH GRANT OPTION ;
commit;

2.3安装NPM和forever模块

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

1.在Nodejs官网下载最新安装包http://nodejs.cn/download/

2.将下载下来的安装包解压至需要部署SMM服务节点的/user/local/node目录下

代码语言:javascript
复制
tar -xvf node-v14.3.0-linux-x64.tar.xz -C /usr/local/node

3.在/etc/profile配置文件的末尾增加nodejs环境变量

代码语言:javascript
复制
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

执行source /etc/profile命令使配置的环境变量生效

4.在有网络的环境下获取forever模块的安装包

在一个有网络的环境下使用npm命令安装forever模块,具体步骤如下:

首先配置Nodejs使用国内镜像,加快模块的安装速度

代码语言:javascript
复制
npm config set registry http://registry.npm.taobao.org
npm config ls

执行如下命令安装forever模块

代码语言:javascript
复制
npm install forever -g

将安装到/usr/local/node/lib/node_modules目录下的forever目录打包压缩拷贝至离线环境

代码语言:javascript
复制
cd /usr/local/node/lib/node_modules
tar -czvf forever.tar.gz forever/

5.将第四步准备的forever.tar.gz压缩包拷贝至需要安装SMM的节点上,执行如下命令离线安装forever模块

代码语言:javascript
复制
tar -zxvf forever.tar.gz 
npm install ./forever -g

2.4调优Cloudera Manager和Service Monitor

1.SMM服务会调用Service Monitor服务的API获取Kafka的指标数据,需要适当调整Service Monitor服务的heap大小

调整内存后需要重启CMS服务,具体调优方式可以参考官网建议,通过对GC及内存分配上进行优化调整:

代码语言:javascript
复制
https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_hardware_requirements.html#sizing_cm_smon

2.修改/etc/default/cloudera-scm-server文件,调整Cloudera Manager Server服务的内存大小

代码语言:javascript
复制
vim /etc/default/cloudera-scm-server

调整内存后需要重启Cloudera Manager Server服务,具体调优方式可以参考官网建议,地址如下:

代码语言:javascript
复制
https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_hardware_requirements.html#sizing_cm_server_storagereqs

2.5获取Kafka服务名称

1.进入Kafka服务界面,点击任意图表

2.进入图表生成界面找到Kafka服务的名称

注意:该服务的名称会在装SMM服务时用到。

2.6修改Kafka服务配置

1.启用Kafka Producer监控指标采集

2.修改配置后重启Kafka集群

注意:此处一定要开启Kafka Producer监控指标的采集,否则在SMM上看不到Producer的监控信息。

2.7修改Cloudera Manager Server服务配置

1.进入“主机”列表界面,点击“配置”

2.进入配置界面选择高级配置,添加如下配置

代码语言:javascript
复制
kafka_broker_topic_partition_metrics_for_smm_enabled=true

3.完成上述配置后登录CM主机上执行命令重启服务

代码语言:javascript
复制
systemctl restart cloudera-scm-server

注意:此处配置主要是为了能够采集到Kafka每个Topic的Partition指标。

安装SMM服务

1.配置SMM parcel库地址

保存配置后显示如下则表示parcel库地址配置成功且生效

2.点击下载、分配并激活Parcel包

3.回到CM主页添加SMM服务

4.点击“继续”,选择已做好前置环境准备的节点安装SMM服务

5.点击“继续”填写CM信息和数据信息

注意:截图中Kafka Client Security Protocol类型应选为SASL_PLAINTEXT,因为Kafka集群启用了Kerberos。

未截图部分均使用的默认配置

6.点击“继续”启动SMM服务

启动成功点击“完成”

到此已完成SMM服务的安装。

SMM服务验证

1.在浏览器输入http://{smm_hosts}:9091

2.在命令行启动一个Producer和Consumer

jass.conf配置文件内容:

代码语言:javascript
复制
KafkaClient {
   com.sun.security.auth.module.Krb5LoginModule required
   useTicketCache=true;
};

client.properties配置文件内容:

代码语言:javascript
复制
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka

Consumer启动命令:

代码语言:javascript
复制
kinit cdhadmin
export KAFKA_OPTS="-Djava.security.auth.login.config=./jass.conf"
kafka-console-consumer --topic testTopic --from-beginning --bootstrap-server cdh1.hadoop.com:9092,cdh2.hadoop.com:9092,cdh3.hadoop.com:9092 --consumer.config client.properties

Producer启动命令:

代码语言:javascript
复制
export KAFKA_OPTS="-Djava.security.auth.login.config=./jass.conf"
kafka-console-producer --broker-list cdh1.hadoop.com:9092,cdh2.hadoop.com:9092,cdh3.hadoop.com:9092 --topic testTopic --producer.config client.properties

3.在SMM的监控界面可以看到上述生产和消费的监控信息

总结

1.由于SMM服务的监控指标依赖Cloudera Manager Server和Service Monitor服务,因此在安装前先对着两个服务的内存进行一定的调整优化

2.安装SMM服务节点需要先安装NPM和forever模块,否则会导致SMM服务启动失败

3.SMM服务采集Kafka指标时需要指定Kafka服务的Service Name

4.Kafka服务默认是没有启用producer.metrics.enable,需要手动的启用该指标,否则会采集不到Producer相关指标

5.CM默认没有启用Topic Partition的指标采集,需要手动的在CM Agent的高级配置项中添加kafka_broker_topic_partition_metrics_for_smm_enabled=true

6.SMM对CDH集群和Kafka的版本有一定的要求。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档