温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Kafka中怎么实现跨网络访问

发布时间:2021-06-26 14:21:41 来源:亿速云 阅读:1151 作者:Leah 栏目:大数据

本篇文章给大家分享的是有关Kafka中怎么实现跨网络访问,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

通信方式如下图:

Kafka中怎么实现跨网络访问

测试条件:

  • CDH和CM为6.3.3

  • Kafka版本为2.2.1

  • 集群和Kafka均已启用Kerberos

  • 内网IP格式为192.168.1.*

  • 外网IP格式为192.168.0.*

  • Kafka集群三台机器cdh[1-3].hadoop.com,外网客户端cdh02.hadoop.com

配置步骤    

   

   

   

2.1 配置hosts

1.在集群内节点配置主机名和内网ip的映射如下:

Kafka中怎么实现跨网络访问

2.在集群外节点配置主机名和外网ip的映射如下:

Kafka中怎么实现跨网络访问

3.在此处对内外网环境做验证

Kafka中怎么实现跨网络访问

Kafka中怎么实现跨网络访问


由上图可以看到,外网的客户端节点只能访问192.168.0.*,而无法访问192.168.1.*,并且telnet内网的9092端口也是不通的。

2.2 配置Kafka相关的参数

1.进入CM的Kafka配置页面,搜索kafka.properties

Kafka中怎么实现跨网络访问

2.根据三个不同的角色组,分别对Broker进行配置

Kafka中怎么实现跨网络访问

至此配置完成。

注:advertised_listeners 是对外暴露的服务端口,真正建立连接用的是 listeners,listeners中配置的监听,如果不发布到advertised_listeners中是无法直接访问的,并且advertised_listeners中的配置必须要在listeners中已经配置过。

验证Kafka使用    

   

   

   

1.在集群内节点创建topic,名称为faysonTopic,并生产一些消息。

Kafka中怎么实现跨网络访问

2.在集群内节点通过非安全的方式对topic进行消费,使用9092端口

Kafka中怎么实现跨网络访问

3.在集群外节点通过安全的方式使用外网环境消费topic,使用9797端口

export KAFKA_OPTS="-Djava.security.auth.login.config=./jaas-keytab.conf"
kafka-console-consumer --topic faysonTopic --from-beginning --bootstrap-server cdh2.hadoop.com:9797,cdh3.hadoop.com:9797,cdh4.hadoop.com:9797 --consumer.config client.properties

Kafka中怎么实现跨网络访问

Kafka中怎么实现跨网络访问

使用到的配置文件截图如下:

Kafka中怎么实现跨网络访问


1.针对listeners=PLAINTEXT://ip:9092,SASL_PLAINTEXT://:9797配置,让安全访问使用的9092端口只绑定在内网ip上,9797端口绑定在所有ip上,让外网环境只能够通过安全的协议来访问Kafka,如下:

Kafka中怎么实现跨网络访问

2.针对advertised.listeners= SASL_PLAINTEXT://hostname:9797配置,主要是通过域名映射的方式,通过客户端配置的外网IP与域名的hosts映射,保证外网的客户端能够访问Kafka集群。

以上就是Kafka中怎么实现跨网络访问,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI