Linux 安装kafka

1、下载并解压

curl -L -O https://archive.apache.org/dist/kafka/2.1.0/kafka_2.11-2.1.0.tgz
tar zxvf kafka_2.11-2.1.0.tgz

注:

 

2、目录介绍

/bin 操作kafka的可执行脚本,还包含windows下脚本

/config 配置文件所在目录

/libs 依赖库目录

/logs 日志数据目录,目录kafka把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller

3、配置

vim /config/server.properties

注:

broker.id=0

num.network.threads=2

num.io.threads=8

socket.send.buffer.bytes=1048576

socket.receive.buffer.bytes=1048576

socket.request.max.bytes=104857600

log.dirs=/tmp/kafka-logs

num.partitions=2

log.retention.hours=168

 

log.segment.bytes=536870912

log.retention.check.interval.ms=60000

log.cleaner.enable=false

 

zookeeper.connect=localhost:2181

zookeeper.connection.timeout.ms=1000000

4、启动

进入kafka目录

bin/kafka-server-start.sh config/server.properties &

 

检测2181与9092端口

netstat -tunlp|egrep "(2181|9092)"

 

注:

Kafka的进程ID为28094,占用端口为9092

QuorumPeerMain为对应的zookeeper实例,进程ID为19787,在2181端口监听

5、单机连通性测试

启动2个XSHELL客户端,一个用于生产者发送消息,一个用于消费者接受消息。

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

 

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

 

注:

producer,指定的Socket(192.168.1.181+9092),说明生产者的消息要发往kafka,也即是broker

consumer, 指定的Socket(192.168.1.181+2181),说明消费者的消息来自zookeeper(协调转发)

6、设置外网访问

1)配置

方法一、设置外网IP

1、在需要访问的机器上安装java和kafka(客户端)

2、在/usr/local/kafka/config/server.properties中配置(服务端)

advertised.listeners=PLAINTEXT://39.105.72.51(外网ip):9092

方法二、设置域名(内外网均可访问)

1、在/usr/local/kafka/config/server.properties中配置(服务端)

2、在 /etc/hosts 中配置(服务端)

 

2)在客户端输入

bin/kafka-console-producer.sh --broker-list 39.105.72.51:9092 --topic test

 

3)在服务端输入

bin/kafka-console-consumer.sh  --bootstrap-server 39.105.72.51:9092 --topic test --from-beginning

注:

1)、启动kafka要先运行zookeeper(客户端与服务端都一样。客户端只需要安装kafka)

2)、再次启动kafka时,需将 log.dirs 配置的路径下的文件夹删除;或者broker.id重新设置。否则将会broker.id冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值