0
点赞
收藏
分享

微信扫一扫

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

文档编写目的




Fayson在前面的文章中介绍了《​​0726-6.3.0-如何在CDH6.3中安装Streams Messaging Manager(SMM)​​》,本篇文章主要介绍如何在离线的环境下安装SMM。

  • 测试环境:

1.Redhat7.2

2.采用root用户操作

3.CM和CDH版本为6.3.3

4.JDK1.8.0_181

5.集群已启用Kerberos



前置环境准备




2.1SMM安装包准备

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

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


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

cp STREAMS_MESSAGING_MANAGER-2.1.0.jar /opt/cloudera/csd
systemctl restart cloudera-scm-server

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


2.2创建SMM数据库与用户

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

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/

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


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

tar -xvf node-v14.3.0-linux-x64.tar.xz -C /usr/local/node

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


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

export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH


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

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


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

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

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

npm config set registry http://registry.npm.taobao.org
npm config ls


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


执行如下命令安装forever模块

npm install forever -g

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


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

cd /usr/local/node/lib/node_modules
tar -czvf forever.tar.gz forever/

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


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

tar -zxvf forever.tar.gz 
npm install ./forever -g

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


2.4调优Cloudera Manager和Service Monitor

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

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

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


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服务的内存大小

vim /etc/default/cloudera-scm-server

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

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


https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_hardware_requirements.html#sizing_cm_server_storagereqs


2.5获取Kafka服务名称

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

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


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

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

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


2.6修改Kafka服务配置

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

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


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

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

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


2.7修改Cloudera Manager Server服务配置

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

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


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

kafka_broker_topic_partition_metrics_for_smm_enabled=true

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


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

systemctl restart cloudera-scm-server

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


安装SMM服务




1.配置SMM parcel库地址

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

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

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


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

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


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

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


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

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


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

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

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

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

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

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


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

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

启动成功点击“完成”

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

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


SMM服务验证




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

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


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

jass.conf配置文件内容:

KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true;
};


client.properties配置文件内容:

security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka


Consumer启动命令:

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启动命令:

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

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


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

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


总结




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的版本有一定的要求,具体可以参考文章开头引用的文章。


举报

相关推荐

0 条评论