kafka 的安装与配置

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值