应用与数据集成平台ROMA Connect命令行连接topic生产消费(已开启SASL认证)

部署kafka消费ROMA中topic的数据进行查看(已开启SASL认证)

1环境准备

1.1准备linux系统环境

1.2安装jdk

wget https://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-linux-x64.tar.gz
tar -xf jdk-8u192-linux-x64.tar.gz -C /usr/local/

cat >> /etc/profile << 'EOF'

#Set for java
export JAVA_HOME=/usr/local/jdk1.8.0_192
export PATH=$PATH:$JAVA_HOME/bin
EOF

source /etc/profile

java -version

1.3配置hosts

使用SASL方式连接消息集成的Topic时,建议在客户端所在主机的“/etc/hosts”文件中配置host和IP的映射关系,否则会引入时延。
下面的IP地址必须为消息集成的连接地址,host为每个实例主机的名称,可以自定义,但不能重复
cat >> /etc/hosts << 'EOF'
10.10.10.1 host01
10.10.10.2 host02
10.10.10.3 host03
EOF

2下载kafka客户端并安装

2.1下载安装包

下载地址:
1.1.0版本地址: https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz
2.7.2版本地址:
https://archive.apache.org/dist/kafka/2.7.2/kafka_2.12-2.7.2.tgz

若ROMA Connect实例启用了“MQS SASL_SSL”,还需要在ROMA Connect实例控制台的“消息集成 MQS > Topic管理”页面,单击“下载SSL证书”下载
https://mqs-demo.obs.cn-north-1.myhuaweicloud.com/mqs-cert.zip

2.2服务部署

2.2.1解压kafka命令行工具和客户端证书

mkdir /usr/local/kafka/
tar -xvf kafka_2.11-1.1.0.tgz -C /usr/local/kafka/
tar -xvf mqs-cert.zip -C /usr/local/kafka/

2.2.2修改kafka命令行工具配置文件

#配置生产者
cat >> /usr/local/kafka/kafka_2.11-1.1.0/config/producer.properties << 'EOF'

cat >> /usr/local/kafka/kafka_2.11-1.1.0/config/consumer.properties << 'EOF'

sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="**********" \
password="**********";
sasl.mechanism=PLAIN
security.protocol=SASL_SSL
ssl.truststore.location=/usr/local/kafka/mqs-cert/client.truststore.jks
ssl.truststore.password=dms@kafka
ssl.endpoint.identification.algorithm=
EOF

#username和password的值分别为Topic所属集成应用的Key和Secret
#ssl.truststore.location的值为1中解压得到的客户端证书的存放路径
#ssl.truststore.password为服务器证书密码,不可更改,值固定设置为dms@kafka

#配置消费者
cat >> /usr/local/kafka/kafka_2.11-1.1.0/config/consumer.properties << 'EOF'

cat >> /usr/local/kafka/kafka_2.11-1.1.0/config/consumer.properties << 'EOF'

sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="**********" \
password="**********";
sasl.mechanism=PLAIN
security.protocol=SASL_SSL
ssl.truststore.location=/usr/local/kafka/mqs-cert/client.truststore.jks
ssl.truststore.password=dms@kafka
ssl.endpoint.identification.algorithm=
EOF

2.2.3配置环境变量

cat >> /etc/profile << 'EOF'

#Set for kafka
export KAFKA_HOME=/usr/local/kafka/kafka_2.11-1.1.0
export PATH=$KAFKA_HOME/bin:$PATH
EOF

source /etc/profile

2.2.4创建配置目录,方便命令执行

#由于ROMA中每个topic的用户和密码不同,所有在使用的时候很不方便,每个topic对应相应的用户和密码

#生产者配置文件
mkdir producer.properties
cp /usr/local/kafka/kafka_2.11-1.1.0/config/producer.properties producer.properties/topic1

#消费者配置文件
mkdir consumer.properties
cp /usr/local/kafka/kafka_2.11-1.1.0/config/consumer.properties consumer.properties/topic1

#要使用其他topic,如topic2
cp producer.properties/topic1 producer.properties/topic2
修改topic2文件中的username和password为对应的即可

2.2.5向topic生产消息

kafka-console-producer.sh --broker-list host1:9092,host2:9092,host3:9092 --topic topic1 --producer.config producer.properties/topic1
>msg1
>msg2

#host1:9092,host2:9092,host3:9092为ROMA Connect的消息集成连接地址

2.2.6从topic消费消息

#一个消费者从一个Topic的多个分区消费消息时,一次只能消费一个分区的消息,多个分区会分多次进行消费。

kafka-console-consumer.sh --bootstrap-server host1:9092,host2:9092,host3:9092 --topic topic1 --from-beginning --consumer.config consumer.properties/topic1
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.L-OAM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值