kafka安装配置(包含内外网设置)

这篇具有很好参考价值的文章主要介绍了kafka安装配置(包含内外网设置)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里使用的kafka安装包:kafka_2.13-3.4.0.tgz

kafka版本2.2+的版本,已经不需要依赖zookeeper来查看、创建topic,新版本使用--bootstrap-server替换老版本的--zookeeper-server。 


kafka里面两种监听配置

内网监听配置

listeners=PLAINTEXT://172.16.61.125:9092

配置完内网可以正常得去消费或者添加kfka数据
如果配置了advertised.listeners就无法正常访问消费

advertised.listeners=PLAINTEXT://11.11.11.11:9092

WARN [Consumer clientId=consumer-console-consumer-94880-1, groupId=console-consumer-94880] Error while fetching metadata with correlation id 2 : {ooxx=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

因为我的外网通讯虽然注册得zookeeper里面了,但是外网网络无法在kafka 集群机器上来回通讯导致问题,所以这个时候需要切换成内外网分流访问

内外网分流

方法1:

listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
listeners=INTERNAL://172.16.61.125:9092,EXTERNAL://172.16.61.125:19092
advertised.listeners=INTERNAL://172.16.61.125:9092,EXTERNAL://11.11.11.11:19092
inter.broker.listener.name=INTERNAL

方法2:

listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
listeners=INTERNAL://172.16.61.125:9092,EXTERNAL://11.11.11.11:19092
advertised.listeners=INTERNAL://172.16.61.125:9092,EXTERNAL://11.11.11.11:19092
inter.broker.listener.name=INTERNAL

注意这两的区别是listeners的EXTERNAL使用的ip不一样,一个使用内网ip,一个使用外网ip。

  •  如果你的kafka宿主机有外网网卡,只能用外网ip,若使用配置1,kafka通过listeners监听的两个端口都是内网网卡的数据,无法接收到外网网卡数据;
  •  如果你的kafka宿主机外网ip是映射来的,只能使用内网ip,原因也是上面说过的,不存在外网网卡,kafka启动监听就会报错,而使用内网ip有环境配置好的转发,可以接收到外网ip的数据。

在这里配置得 kafka内部访问端口与外部访问端口不能是一致得。

创建配置目录

# 进入kafka目录
[root@icoolkj kafka_2.13-3.4.0]# 
# 创建 data 目录
[root@icoolkj kafka_2.13-3.4.0]# mkdir data
[root@icoolkj kafka_2.13-3.4.0]# cd data
# 创建 logs 目录
[root@icoolkj data]# mkdir logs dataDir dataLogDir
# 进入kafka的config配置目录
[root@icoolkj data]# cd /home/kafka/kafka_2.13-3.4.0/config/
# 配置kafka的server.properties配置文件
[root@icoolkj config]# vi server.properties
 
broker.id=0
# 端口号
port=9092
# 主机地址,如果是单机可以直接使用127.0.0.1
host.name=127.0.0.1
# 日志存放路径
log.dirs=/home/kafka/kafka_2.13-3.4.0/data/logs
# 关联的zookeeper的地址和端口,如果是单机可以直接使用127.0.0.1
zookeeper.connect=127.0.0.1:2181

附加完整的kafka配置文件详尽&启动脚本

1、完整的配置文件
#grep  -Ev '^#|^$' /soft/kafka/config/server.properties
broker.id=0
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
listeners=INTERNAL://172.16.61.125:9092,EXTERNAL://172.16.61.125:19092
advertised.listeners=INTERNAL://172.16.61.125:9092,EXTERNAL://11.11.11.11:19092
inter.broker.listener.name=INTERNAL
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/soft/kafka/data/logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0

2、启动脚本
#cat /etc/systemd/system/kafka.service
[Unit]
Description=kafka Service
After=ssh.service
[Service]
User=root
Restart=always
Environment=JAVA_HOME=/data/jdk
Type=forking
ExecStart=/soft/kafka/bin/kafka-server-start.sh -daemon /soft/kafka/config/server.properties
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/soft/kafka/bin/kafka-server-stop.sh
[Install]
WantedBy=multi-user.target

附加完整的zk的配置文件详尽&启动脚本

1、配置文件
#grep  -Ev '^#|^$' /soft/kafka/config/zookeeper.properties
dataDir=/soft/kafka/data/dataDir
dataLogDir=/soft/kafka/data/logs
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
admin.enableServer=false

2、启动脚本
#cat /etc/systemd/system/zk.service
[Unit]
Description=Zoopker Service
After=ssh.service
[Service]
User=root
Restart=always
Environment=JAVA_HOME=/data/jdk
Type=forking
ExecStart=/soft/kafka/bin/zookeeper-server-start.sh -daemon /soft/kafka/config/zookeeper.properties
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/soft/kafka/bin/zookeeper-server-stop.sh
[Install]
WantedBy=multi-user.target

功能验证

1、创建
#cd /soft/kafka/bin
#sh kafka-topics.sh --create --topic kafka_test --bootstrap-server 11.11.11.11:19092
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic kafka_test.

2、查看
#sh kafka-topics.sh --list --bootstrap-server 11.11.11.11:19092
__consumer_offsets
kafka_test

3、删除测试数据
#sh kafka-topics.sh --delete --topic kafka_test --bootstrap-server  11.11.11.11:19092
#sh kafka-topics.sh --list --bootstrap-server 11.11.11.11:19092
__consumer_offsets

最后服务管理

#systemctl daemon-reload
#systemctl   start   zk; systemctl   start   kafka
#systemctl   enable  zk; systemctl   enable   kafka

kafka配置外网访问,kafka,分布式,java文章来源地址https://www.toymoban.com/news/detail-738987.html

到了这里,关于kafka安装配置(包含内外网设置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows安装配置Tomcat服务器教程 -- 外网远程访问

    转载自cpolar文章:外网访问本地Tomcat服务器【cpolar内网穿透】 Tomcat作为一个轻量级的服务器,不仅名字很有趣(让人想起童年),也拥有强大功能,由于其可以实现JavaWeb程序的装载,就成为配置JSP和Java系统必备的环境软件,也是开发调试JSP程序的首选。Tomcat运行稳定且开源

    2024年02月05日
    浏览(61)
  • Windows安装配置Tomcat服务器教程 - 外网远程访问

    转载自cpolar文章:外网访问本地Tomcat服务器【cpolar内网穿透】 Tomcat作为一个轻量级的服务器,不仅名字很有趣(让人想起童年),也拥有强大功能,由于其可以实现JavaWeb程序的装载,就成为配置JSP和Java系统必备的环境软件,也是开发调试JSP程序的首选。Tomcat运行稳定且开源

    2024年02月04日
    浏览(60)
  • Kafka外网访问

    kafka机器只有内网IP,没有绑定外网网卡,但是可以在防火墙或通过其他有公网IP的设备上进行公网IP+端口的映射。 kafka集群端口映射后,可以通过外网IP+端口进行数据生产和消费。一帮情况下,只配置9092端口,即使映射到公网,外部也无法访问,因为kafka需要修改其他配置,

    2024年02月02日
    浏览(38)
  • 【大数据】Hadoop-3.3.4完全分布式安装(包含VMware16和Ubuntu22的下载安装及配置)、搭建、配置教程,以及Hadoop基础简介

    注:本篇文章主要涉及到: HDFS (分布式文件系统)、 YARN (资源管理和调度框架)、以及 MapReduce (离线计算)。 以下就是本篇文章所采用的的架构 。 (1)HDFS架构简述 HDFS架构图 注:上述的master、slave1、slave2均是主机名(结点名),可以和本篇文章不一致,但下面所有涉

    2023年04月17日
    浏览(99)
  • kafka-3-kafka应用的核心要点和内外网访问

    kafka实战教程(python操作kafka),kafka配置文件详解 Kafka内外网访问的设置 根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能: (1)发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因。 (2)以容错的方式记录消息流,kafka以文

    2024年02月09日
    浏览(38)
  • 如何设置虚拟机访问外网

    [root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 [root@web2 ~]# vim /etc/resolv.conf   # Generated by NetworkManager nameserver 192.168.88.2 nameserver 8.8.8.8 打开对应的虚拟网卡 “VMnet1----属性---Internet 协议版本4(双击) ”  网关设置和虚拟机里相同的网关信息,在DNS相关信息

    2023年04月26日
    浏览(43)
  • Centos设置固定IP地址,外网访问

    一般会看到enp0s3的网络配置 主要修改 静态ip:BOOTPROTO=dhcp -- OOTPROTO=static DNS(訪問外網):DNS1=114.114.114.114 本机ip: 192.168.70.121 子网掩码: 255.255.255.0 网关地址: 192.168.70.1

    2024年02月14日
    浏览(52)
  • Ubuntu Server 20.04 系统安装(六):Linux搭建frp服务,实现内网穿透服务,实现外网到内网的在线访问 Ubuntu 设置frp开机自启动

    frp 是什么? frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。 frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    2024年02月13日
    浏览(49)
  • 外网访问本地IIS站点设置iis后路由器如何设置

    想要让外网访问本地站点,只是设置iis是不够的,如果你是通过路由器上网,你还需要对路由器进行设置,主要是设定dmz主机和设定转发规则 首先要知道你的路由器的IP地址,在开始菜单打开运行,或者按下快捷键win+r 输入cmd,按下回车键,打开命令窗口 在命令窗口输入ip

    2024年02月07日
    浏览(39)
  • TPlink DDNS 内网穿透?外网访问设置方法

    有很多小伙伴都想知道:TPlink路由器怎么设置DDNS内网穿透?今天,小编就给大家分享一下TPlink DDNS 外网访问设置方法,下面是图文教程,帮助新手快速入门DDNS设置。 本文介绍的是云路由器TP-LINK DDNS的设置方法。TP-LINK DDNS是普联路由器官方提供的动态域名解析服务,可以将

    2024年02月14日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包