kafka安装使用(kafka单机安装)
一 、安装
kafka是由scala语言写成的 ,后面用Java重构了 ,但是不管怎样,都要编译到jvm虚拟机中执行 。
centos:yum install java-11-openjdk ubuntu:apt install default-jdk java -version下载kafka
下载 wget https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz 解压 tar -zxvf kafka_2.11-2.2.0.tgz cd kafka_2.11-2.2.0简单配置下
vim config/server.properties #broker 的全局唯一编号 ,不能重复 broker.id=0 #能否删除 topic delete.topic.enable=true #处理网络请求的线程数量 num.network.threads=3 #用来处理磁盘 IO 的现成数量 num.io.threads=8 #发送套接字的缓冲区大小 socket.send.buffer.bytes=102400 #接收套接字的缓冲区大小 socket.receive.buffer.bytes=102400 #请求套接字的缓冲区大小 socket.request.max.bytes=104857600 #kafka 运行日志存放的路径 log.dirs=/opt/module/kafka/logs #topic 在当前 broker 上的分区个数 num.partitions=1 #用来恢复和清理 data 下数据的线程数量 num.recovery.threads.per.data.dir=1 #segment 文件保留的最长时间 ,超时将被删除 log.retention.hours=168二 、启动
建议使用screen ,开两个
启动zk【默认端口2181】 bin/zookeeper-server-start.sh config/zookeeper.properties 启动Kafka bin/kafka-server-start.sh config/server.properties三、测试使用
#创建单分区单副本的 topic demo: bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic demo #查看 topic 列表: bin/kafka-topics.sh --list --zookeeper localhost:2181 #发送消息【生产者】 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic demo #接收消息并在终端打印: bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo --from-beginning #查看描述 topics 信息 bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic demo Topic:demo PartitionCount:1 ReplicationFactor:1 Configs: Topic: demo Partition: 0 Leader: 1 Replicas: 1 Isr: 1 第一行给出了所有分区的摘要 ,每个附加行给出了关于一个分区的信息 。 由于我们只有一个分区 ,所以只有一行 。 “Leader ”: 是负责给定分区的所有读取和写入的节点 。 “Replicas ”: 是复制此分区日志的节点列表 ,无论它们是否是领导者 ,或者即使他们当前处于活动状态 。 “Isr”: 是一组“同步 ”副本 。这是复制品列表的子集 ,当前活着并被引导到领导者四 、集群配置
Kafka 支持两种模式的集群搭建:可以在单机上运行多个 broker 实例来实现集群 ,也可在多台机器上搭建集群,下面介绍下如何实现单机多 broker 实例集群 ,其实很简单 ,只需要如下配置即可 。
单机多broker 集群配置利用单节点部署多个 broker 。 不同的 broker 设置不同的 id,监听端口及日志目录 。 例如:
cp config/server.properties config/server-2.properties cp config/server.properties config/server-3.properties vim config/server-2.properties vim config/server-3.properties修改 :
broker.id=2 listeners = PLAINTEXT://your.host.name:9093 log.dir=/data/kafka/logs-2和
broker.id=3 listeners = PLAINTEXT://your.host.name:9094 log.dir=/data/kafka/logs-3启动Kafka服务:(也可以用screen)
bin/kafka-server-start.sh config/server-2.properties & bin/kafka-server-start.sh config/server-3.properties &至此 ,单机多broker实例的集群配置完毕。
多机多broker集群配置
分别在多个节点按上述方式安装 Kafka ,配置启动多个 Zookeeper 实例 。
假设三台机器 IP 地址是 : 192.168.153.135, 192.168.153.136 , 192.168.153.137
分别配置多个机器上的 Kafka 服务 ,设置不同的 broker id ,zookeeper.connect 设置如下:
vim config/server.properties里面的 zookeeper.connect
修改为:
zookeeper.connect=192.168.153.135:2181,192.168.153.136:2181,192.168.153.137:2181五 、配置
外网访问
配置:server.properties 修改成内网地址 listeners=PLAINTEXT://:9092 改成外网地址 advertised.listeners=PLAINTEXT://主机IP:9092创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!