ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kafka 的安装与配置

2019-06-13 22:49:12  阅读:721  来源: 互联网

标签:name 配置 kafka host advertised 日志 安装 socket


2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、首先现在kafka的二进制包,http://kafka.apache.org

2、解压后修改config目录中的server.properties文件

注意:按照官方文档的说法,advertised.host.name 和 advertised.port 这两个参数用于定义集群向 Producer 和 Consumer 广播的节点 host 和 port,如果不定义,会默认使用 host.name 和 port 的定义。但在实际应用中,发现如果不定义 advertised.host.name 参数,使用 Java 客户端从远端连接集群时,会发生连接超时,抛出异常:org.apache.kafka.common.errors.TimeoutException: Batch Expired
经过过 debug 发现,连接到集群是成功的,但连接到集群后更新回来的集群 meta 信息却是错误的。metadata 中的 Cluster 信息中节点的 hostname 是一串字符,而不是实际的ip地址。这串其实是远端主机的 hostname,这说明在没有配置 advertised.host.name 的情况下,Kafka 并没有像官方文档宣称的那样改为广播我们配置的 host.name,而是广播了主机配置的 hostname 。远端的客户端并没有配置 hosts,所以自然是连接不上这个 hostname 的。要解决这一问题,把 host.name 和 advertised.host.name 都配置成绝对的 ip 地址就可以了。

# 节点ID
broker.id=1

#当前节点的hostname
advertised.host.name=10.0.17.67

#端口
port=9092

#服务器用于处理网络请求的网络线程数量
num.network.threads=3

#服务器用于执行网络请求的io线程数量
num.io.threads=8

#socket的sendbuf缓冲区。如果值为-1,则将使用OS缺省值。
socket.send.buffer.bytes=102400

#socket接收网络请求的缓冲区
socket.receive.buffer.bytes=102400

#socket请求的最大字节数
socket.request.max.bytes=104857600

#保存日志数据的目录。如果没有设置,则日志中的值。使用dir
log.dirs=/opt/data/kafka-1

#分区数量
num.partitions=1

#每个数据目录用来日志恢复的线程数目
num.recovery.threads.per.data.dir=1

#日志的保留时间
log.retention.hours=168

#单个日志文件的最大大小
log.segment.bytes=1073741824

#记录日志的频率以毫秒为间隔,检查日志是否有资格进行删除
log.retention.check.interval.ms=300000

#zookeeper集群连接配置
zookeeper.connect=127.0.0.1:4181,127.0.0.1:4182,127.0.0.1:4183

#zookeeper连接超时时间
zookeeper.connection.timeout.ms=6000


3丶分别启动kafka服务./kafka-server-start.sh ../config/server.properties

 

转载于:https://my.oschina.net/kdy1994/blog/920476

标签:name,配置,kafka,host,advertised,日志,安装,socket
来源: https://blog.csdn.net/weixin_33974433/article/details/91900766

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有