准备
- 安装jdk
- 安装配置kafka
- 启动kafka
- 测试
注意:因为新版本的kafka自带zookeeper的,所以这里就不展示怎么安装zk了。
安装jdk
jdk是开发的必备环节,所以这里首先安装jdk便是必要的了。下载地址:oracle.com/java/technologies/javase-downloads.html。如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nDz5Se6D-1611287223867)(https://uploader.shimo.im/f/hVKoM2hLsKXgILaB.png!thumbnail?fileGuid=PgxkVwdqXJpPTqj8)]
可以根据自己的需要下载,在下载后便是安装了,笔者之前是安装好的,当然笔者安装的步骤只是一直next。在安装成功后,配置几个环境变量即可:JAVA_HOME、CLASSPATH、PATH。如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wEIx7hcL-1611287223869)(https://uploader.shimo.im/f/Vv2V2RtRLbT8UhYm.png!thumbnail?fileGuid=PgxkVwdqXJpPTqj8)]
这些配置完成之后,我们只需要到在控制台运行这几个命令:java -version、javac、java命令,只要显示正常即可,这里就不上图了。那下面我们就开始安装kafka了。
安装kafka
这里先下载kafka(前面也说了,新版kafka自带zk,所以就不需要下载zk了。),下载地址:http://kafka.apache.org/downloads.html。笔者下载的是kafka_2.13-2.6.1.tgz,如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ast4GjQu-1611287223873)(https://uploader.shimo.im/f/IniINImptZXNwZCb.png!thumbnail?fileGuid=PgxkVwdqXJpPTqj8)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9xBHL1J-1611287223874)(https://uploader.shimo.im/f/weqtB3Vxe9rJNAoQ.png!thumbnail?fileGuid=PgxkVwdqXJpPTqj8)]
下载完后,解压到自己规定的文件夹即可,在解压完成后配置如下文件:server.properties、zookeeper.properties。
那就先来编辑server.properties,在这个文件中找到log.dirs(记得现在kafka解压的根目录创建相应的logs、data文件夹,以防启动报错),然后修改为:
log.dirs=D:\\work\\program\\kafka_2.13-2.6.1\\logs(注意是\\)
然后打开zookeeper.properties文件,找到dataDir属性,修改为如下:
dataDir=D:\\work\\program\\kafka_2.13-2.6.1\\data(注意是\\)
启动kafka
在安装完成后及配置完以上文件后,那就可以启动kafka的内置zookeeper了,首先在控制台中进入到kafka解压的根目录,然后执行如下命令:
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OfatloMm-1611287223875)(https://uploader.shimo.im/f/qb2zaibtqLDgXLGO.png!thumbnail?fileGuid=PgxkVwdqXJpPTqj8)]
启动结果如上图,那么便是你启动成功了,启动成功后,那就来继续来启动kafka,启动命令如下:
.\bin\windows\kafka-server-start.bat .\config\server.properties
启动后结果如下:
D:\work\program\kafka_2.13-2.6.1>.\bin\windows\kafka-server-start.bat .\config\server.properties
[2021-01-22 11:27:46,107] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2021-01-22 11:27:46,461] INFO Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation (org.apache.zookeeper.common.X509Util)
[2021-01-22 11:27:46,516] INFO starting (kafka.server.KafkaServer)
[2021-01-22 11:27:46,517] INFO Connecting to zookeeper on localhost:2181 (kafka.server.KafkaServer)
[2021-01-22 11:27:46,534] INFO [ZooKeeperClient Kafka server] Initializing a new session to localhost:2181. (kafka.zookeeper.ZooKeeperClient)
[2021-01-22 11:27:46,541] INFO Client environment:zookeeper.version=3.5.8-f439ca583e70862c3068a1f2a7d4d068eec33315, built on 05/04/2020 15:53 GMT (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,542] INFO Client environment:host.name=DESKTOP-72PR081 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,542] INFO Client environment:java.version=1.8.0_271 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,542] INFO Client environment:java.vendor=Oracle Corporation (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,542] INFO Client environment:java.home=C:\Program Files\Java\jdk1.8.0_271\jre (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,543] INFO Client environment:java.class.path=.;C:\Program Files\Java\jdk1.8.0_271\lib;C:\Program Files\Java\jdk1.8.0_271\lib\tools.jar;D:\work\program\kafka_2.13-2.6.1\libs\activation-1.1.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\aopalliance-repackaged-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\argparse4j-0.7.0.jar;D:\work\program\kafka_2.13-2.6.1\libs\audience-annotations-0.5.0.jar;D:\work\program\kafka_2.13-2.6.1\libs\commons-cli-1.4.jar;D:\work\program\kafka_2.13-2.6.1\libs\commons-lang3-3.8.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-api-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-basic-auth-extension-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-file-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-json-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-mirror-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-mirror-client-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-runtime-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\connect-transforms-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\hk2-api-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\hk2-locator-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\hk2-utils-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-annotations-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-core-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-databind-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-dataformat-csv-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-datatype-jdk8-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-jaxrs-base-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-jaxrs-json-provider-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-module-jaxb-annotations-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-module-paranamer-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jackson-module-scala_2.13-2.10.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jakarta.activation-api-1.2.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\jakarta.annotation-api-1.3.5.jar;D:\work\program\kafka_2.13-2.6.1\libs\jakarta.inject-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\jakarta.validation-api-2.0.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\jakarta.ws.rs-api-2.1.6.jar;D:\work\program\kafka_2.13-2.6.1\libs\jakarta.xml.bind-api-2.3.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\javassist-3.25.0-GA.jar;D:\work\program\kafka_2.13-2.6.1\libs\javassist-3.26.0-GA.jar;D:\work\program\kafka_2.13-2.6.1\libs\javax.servlet-api-3.1.0.jar;D:\work\program\kafka_2.13-2.6.1\libs\javax.ws.rs-api-2.1.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\jaxb-api-2.3.0.jar;D:\work\program\kafka_2.13-2.6.1\libs\jersey-client-2.31.jar;D:\work\program\kafka_2.13-2.6.1\libs\jersey-common-2.31.jar;D:\work\program\kafka_2.13-2.6.1\libs\jersey-container-servlet-2.31.jar;D:\work\program\kafka_2.13-2.6.1\libs\jersey-container-servlet-core-2.31.jar;D:\work\program\kafka_2.13-2.6.1\libs\jersey-hk2-2.31.jar;D:\work\program\kafka_2.13-2.6.1\libs\jersey-media-jaxb-2.31.jar;D:\work\program\kafka_2.13-2.6.1\libs\jersey-server-2.31.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-client-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-continuation-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-http-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-io-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-security-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-server-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-servlet-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-servlets-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jetty-util-9.4.33.v20201020.jar;D:\work\program\kafka_2.13-2.6.1\libs\jopt-simple-5.0.4.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka-clients-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka-log4j-appender-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka-streams-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka-streams-examples-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka-streams-scala_2.13-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka-streams-test-utils-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka-tools-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-javadoc.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-javadoc.jar.asc;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-scaladoc.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-scaladoc.jar.asc;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-sources.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-sources.jar.asc;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-test-sources.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-test-sources.jar.asc;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-test.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1-test.jar.asc;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\kafka_2.13-2.6.1.jar.asc;D:\work\program\kafka_2.13-2.6.1\libs\log4j-1.2.17.jar;D:\work\program\kafka_2.13-2.6.1\libs\lz4-java-1.7.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\maven-artifact-3.6.3.jar;D:\work\program\kafka_2.13-2.6.1\libs\metrics-core-2.2.0.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-buffer-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-codec-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-common-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-handler-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-resolver-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-transport-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-transport-native-epoll-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\netty-transport-native-unix-common-4.1.50.Final.jar;D:\work\program\kafka_2.13-2.6.1\libs\osgi-resource-locator-1.0.3.jar;D:\work\program\kafka_2.13-2.6.1\libs\paranamer-2.8.jar;D:\work\program\kafka_2.13-2.6.1\libs\plexus-utils-3.2.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\reflections-0.9.12.jar;D:\work\program\kafka_2.13-2.6.1\libs\rocksdbjni-5.18.4.jar;D:\work\program\kafka_2.13-2.6.1\libs\scala-collection-compat_2.13-2.1.6.jar;D:\work\program\kafka_2.13-2.6.1\libs\scala-java8-compat_2.13-0.9.1.jar;D:\work\program\kafka_2.13-2.6.1\libs\scala-library-2.13.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\scala-logging_2.13-3.9.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\scala-reflect-2.13.2.jar;D:\work\program\kafka_2.13-2.6.1\libs\slf4j-api-1.7.30.jar;D:\work\program\kafka_2.13-2.6.1\libs\slf4j-log4j12-1.7.30.jar;D:\work\program\kafka_2.13-2.6.1\libs\snappy-java-1.1.7.3.jar;D:\work\program\kafka_2.13-2.6.1\libs\zookeeper-3.5.8.jar;D:\work\program\kafka_2.13-2.6.1\libs\zookeeper-jute-3.5.8.jar;D:\work\program\kafka_2.13-2.6.1\libs\zstd-jni-1.4.4-7.jar (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,548] INFO Client environment:java.library.path=C:\Program Files\Java\jdk1.8.0_271\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;D:\work\program\gradle-6.5\bin;C:\Program Files\Java\jdk1.8.0_271\bin;C:\Program Files\Git\cmd;D:\work\program\apache-maven-3.6.3\bin;D:\work\program\datatbase\mysql-5.7.31\bin;C:\Program Files\nodejs\;D:\work\program\apache-zookeeper-3.5.8\bin;C:\Users\123\AppData\Local\Microsoft\WindowsApps;C:\Users\123\AppData\Roaming\npm;. (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,548] INFO Client environment:java.io.tmpdir=C:\Users\123\AppData\Local\Temp\ (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,548] INFO Client environment:java.compiler=<NA> (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,549] INFO Client environment:os.name=Windows 10 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,549] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,549] INFO Client environment:os.version=10.0 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,549] INFO Client environment:user.name=123 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,549] INFO Client environment:user.home=C:\Users\123 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,549] INFO Client environment:user.dir=D:\work\program\kafka_2.13-2.6.1 (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,550] INFO Client environment:os.memory.free=1010MB (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,550] INFO Client environment:os.memory.max=1024MB (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,550] INFO Client environment:os.memory.total=1024MB (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,552] INFO Initiating client connection, connectString=localhost:2181 sessionTimeout=18000 watcher=kafka.zookeeper.ZooKeeperClient$ZooKeeperClientWatcher$@2f7298b (org.apache.zookeeper.ZooKeeper)
[2021-01-22 11:27:46,563] INFO jute.maxbuffer value is 4194304 Bytes (org.apache.zookeeper.ClientCnxnSocket)
[2021-01-22 11:27:46,576] INFO zookeeper.request.timeout value is 0. feature enabled= (org.apache.zookeeper.ClientCnxn)
[2021-01-22 11:27:46,576] INFO [ZooKeeperClient Kafka server] Waiting until connected. (kafka.zookeeper.ZooKeeperClient)
[2021-01-22 11:27:46,581] INFO Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
[2021-01-22 11:27:46,582] INFO Socket connection established, initiating session, client: /0:0:0:0:0:0:0:1:59010, server: localhost/0:0:0:0:0:0:0:1:2181 (org.apache.zookeeper.ClientCnxn)
[2021-01-22 11:27:46,614] INFO Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x10036e3f8850000, negotiated timeout = 18000 (org.apache.zookeeper.ClientCnxn)
[2021-01-22 11:27:46,617] INFO [ZooKeeperClient Kafka server] Connected. (kafka.zookeeper.ZooKeeperClient)
[2021-01-22 11:27:47,149] INFO Cluster ID = S_23ud__Qe629H3pQ2cYag (kafka.server.KafkaServer)
[2021-01-22 11:27:47,153] WARN No meta.properties file under dir D:\work\program\kafka_2.13-2.6.1\logs\meta.properties (kafka.server.BrokerMetadataCheckpoint)
[2021-01-22 11:27:47,192] INFO KafkaConfig values:
advertised.host.name = null
advertised.listeners = null
advertised.port = null
alter.config.policy.class.name = null
alter.log.dirs.replication.quota.window.num = 11
alter.log.dirs.replication.quota.window.size.seconds = 1
authorizer.class.name =
auto.create.topics.enable = true
auto.leader.rebalance.enable = true
background.threads = 10
broker.id = 0
broker.id.generation.enable = true
broker.rack = null
client.quota.callback.class = null
compression.type = producer
connection.failed.authentication.delay.ms = 100
connections.max.idle.ms = 600000
connections.max.reauth.ms = 0
control.plane.listener.name = null
controlled.shutdown.enable = true
controlled.shutdown.max.retries = 3
controlled.shutdown.retry.backoff.ms = 5000
controller.socket.timeout.ms = 30000
create.topic.policy.class.name = null
default.replication.factor = 1
delegation.token.expiry.check.interval.ms = 3600000
delegation.token.expiry.time.ms = 86400000
delegation.token.master.key = null
delegation.token.max.lifetime.ms = 604800000
delete.records.purgatory.purge.interval.requests = 1
delete.topic.enable = true
fetch.max.bytes = 57671680
fetch.purgatory.purge.interval.requests = 1000
group.initial.rebalance.delay.ms = 0
group.max.session.timeout.ms = 1800000
group.max.size = 2147483647
group.min.session.timeout.ms = 6000
host.name =
inter.broker.listener.name = null
inter.broker.protocol.version = 2.6-IV0
kafka.metrics.polling.interval.secs = 10
kafka.metrics.reporters = []
leader.imbalance.check.interval.seconds = 300
leader.imbalance.per.broker.percentage = 10
listener.security.protocol.map = PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
listeners = null
log.cleaner.backoff.ms = 15000
log.cleaner.dedupe.buffer.size = 134217728
log.cleaner.delete.retention.ms = 86400000
log.cleaner.enable = true
log.cleaner.io.buffer.load.factor = 0.9
log.cleaner.io.buffer.size = 524288
log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
log.cleaner.max.compaction.lag.ms = 9223372036854775807
log.cleaner.min.cleanable.ratio = 0.5
log.cleaner.min.compaction.lag.ms = 0
log.cleaner.threads = 1
log.cleanup.policy = [delete]
log.dir = /tmp/kafka-logs
log.dirs = D:\work\program\kafka_2.13-2.6.1\logs
log.flush.interval.messages = 9223372036854775807
log.flush.interval.ms = null
log.flush.offset.checkpoint.interval.ms = 60000
log.flush.scheduler.interval.ms = 9223372036854775807
log.flush.start.offset.checkpoint.interval.ms = 60000
log.index.interval.bytes = 4096
log.index.size.max.bytes = 10485760
log.message.downconversion.enable = true
log.message.format.version = 2.6-IV0
log.message.timestamp.difference.max.ms = 9223372036854775807
log.message.timestamp.type = CreateTime
log.preallocate = false
log.retention.bytes = -1
log.retention.check.interval.ms = 300000
log.retention.hours = 168
log.retention.minutes = null
log.retention.ms = null
log.roll.hours = 168
log.roll.jitter.hours = 0
log.roll.jitter.ms = null
log.roll.ms = null
log.segment.bytes = 1073741824
log.segment.delete.delay.ms = 60000
max.connections = 2147483647
max.connections.per.ip = 2147483647
max.connections.per.ip.overrides =
max.incremental.fetch.session.cache.slots = 1000
message.max.bytes = 1048588
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
min.insync.replicas = 1
num.io.threads = 8
num.network.threads = 3
num.partitions = 1
num.recovery.threads.per.data.dir = 1
num.replica.alter.log.dirs.threads = null
num.replica.fetchers = 1
offset.metadata.max.bytes = 4096
offsets.commit.required.acks = -1
offsets.commit.timeout.ms = 5000
offsets.load.buffer.size = 5242880
offsets.retention.check.interval.ms = 600000
offsets.retention.minutes = 10080
offsets.topic.compression.codec = 0
offsets.topic.num.partitions = 50
offsets.topic.replication.factor = 1
offsets.topic.segment.bytes = 104857600
password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
password.encoder.iterations = 4096
password.encoder.key.length = 128
password.encoder.keyfactory.algorithm = null
password.encoder.old.secret = null
password.encoder.secret = null
port = 9092
principal.builder.class = null
producer.purgatory.purge.interval.requests = 1000
queued.max.request.bytes = -1
queued.max.requests = 500
quota.consumer.default = 9223372036854775807
quota.producer.default = 9223372036854775807
quota.window.num = 11
quota.window.size.seconds = 1
replica.fetch.backoff.ms = 1000
replica.fetch.max.bytes = 1048576
replica.fetch.min.bytes = 1
replica.fetch.response.max.bytes = 10485760
replica.fetch.wait.max.ms = 500
replica.high.watermark.checkpoint.interval.ms = 5000
replica.lag.time.max.ms = 30000
replica.selector.class = null
replica.socket.receive.buffer.bytes = 65536
replica.socket.timeout.ms = 30000
replication.quota.window.num = 11
replication.quota.window.size.seconds = 1
request.timeout.ms = 30000
reserved.broker.max.id = 1000
sasl.client.callback.handler.class = null
sasl.enabled.mechanisms = [GSSAPI]
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.principal.to.local.rules = [DEFAULT]
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism.inter.broker.protocol = GSSAPI
sasl.server.callback.handler.class = null
security.inter.broker.protocol = PLAINTEXT
security.providers = null
socket.receive.buffer.bytes = 102400
socket.request.max.bytes = 104857600
socket.send.buffer.bytes = 102400
ssl.cipher.suites = []
ssl.client.auth = none
ssl.enabled.protocols = [TLSv1.2]
ssl.endpoint.identification.algorithm = https
ssl.engine.factory.class = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.principal.mapping.rules = DEFAULT
ssl.protocol = TLSv1.2
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000
transaction.max.timeout.ms = 900000
transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
transaction.state.log.load.buffer.size = 5242880
transaction.state.log.min.isr = 1
transaction.state.log.num.partitions = 50
transaction.state.log.replication.factor = 1
transaction.state.log.segment.bytes = 104857600
transactional.id.expiration.ms = 604800000
unclean.leader.election.enable = false
zookeeper.clientCnxnSocket = null
zookeeper.connect = localhost:2181
zookeeper.connection.timeout.ms = 18000
zookeeper.max.in.flight.requests = 10
zookeeper.session.timeout.ms = 18000
zookeeper.set.acl = false
zookeeper.ssl.cipher.suites = null
zookeeper.ssl.client.enable = false
zookeeper.ssl.crl.enable = false
zookeeper.ssl.enabled.protocols = null
zookeeper.ssl.endpoint.identification.algorithm = HTTPS
zookeeper.ssl.keystore.location = null
zookeeper.ssl.keystore.password = null
zookeeper.ssl.keystore.type = null
zookeeper.ssl.ocsp.enable = false
zookeeper.ssl.protocol = TLSv1.2
zookeeper.ssl.truststore.location = null
zookeeper.ssl.truststore.password = null
zookeeper.ssl.truststore.type = null
zookeeper.sync.time.ms = 2000
(kafka.server.KafkaConfig)
[2021-01-22 11:27:47,210] INFO KafkaConfig values:
advertised.host.name = null
advertised.listeners = null
advertised.port = null
alter.config.policy.class.name = null
alter.log.dirs.replication.quota.window.num = 11
alter.log.dirs.replication.quota.window.size.seconds = 1
authorizer.class.name =
auto.create.topics.enable = true
auto.leader.rebalance.enable = true
background.threads = 10
broker.id = 0
broker.id.generation.enable = true
broker.rack = null
client.quota.callback.class = null
compression.type = producer
connection.failed.authentication.delay.ms = 100
connections.max.idle.ms = 600000
connections.max.reauth.ms = 0
control.plane.listener.name = null
controlled.shutdown.enable = true
controlled.shutdown.max.retries = 3
controlled.shutdown.retry.backoff.ms = 5000
controller.socket.timeout.ms = 30000
create.topic.policy.class.name = null
default.replication.factor = 1
delegation.token.expiry.check.interval.ms = 3600000
delegation.token.expiry.time.ms = 86400000
delegation.token.master.key = null
delegation.token.max.lifetime.ms = 604800000
delete.records.purgatory.purge.interval.requests = 1
delete.topic.enable = true
fetch.max.bytes = 57671680
fetch.purgatory.purge.interval.requests = 1000
group.initial.rebalance.delay.ms = 0
group.max.session.timeout.ms = 1800000
group.max.size = 2147483647
group.min.session.timeout.ms = 6000
host.name =
inter.broker.listener.name = null
inter.broker.protocol.version = 2.6-IV0
kafka.metrics.polling.interval.secs = 10
kafka.metrics.reporters = []
leader.imbalance.check.interval.seconds = 300
leader.imbalance.per.broker.percentage = 10
listener.security.protocol.map = PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
listeners = null
log.cleaner.backoff.ms = 15000
log.cleaner.dedupe.buffer.size = 134217728
log.cleaner.delete.retention.ms = 86400000
log.cleaner.enable = true
log.cleaner.io.buffer.load.factor = 0.9
log.cleaner.io.buffer.size = 524288
log.cleaner.io.max.bytes.per.second = 1.7976931348623157E308
log.cleaner.max.compaction.lag.ms = 9223372036854775807
log.cleaner.min.cleanable.ratio = 0.5
log.cleaner.min.compaction.lag.ms = 0
log.cleaner.threads = 1
log.cleanup.policy = [delete]
log.dir = /tmp/kafka-logs
log.dirs = D:\work\program\kafka_2.13-2.6.1\logs
log.flush.interval.messages = 9223372036854775807
log.flush.interval.ms = null
log.flush.offset.checkpoint.interval.ms = 60000
log.flush.scheduler.interval.ms = 9223372036854775807
log.flush.start.offset.checkpoint.interval.ms = 60000
log.index.interval.bytes = 4096
log.index.size.max.bytes = 10485760
log.message.downconversion.enable = true
log.message.format.version = 2.6-IV0
log.message.timestamp.difference.max.ms = 9223372036854775807
log.message.timestamp.type = CreateTime
log.preallocate = false
log.retention.bytes = -1
log.retention.check.interval.ms = 300000
log.retention.hours = 168
log.retention.minutes = null
log.retention.ms = null
log.roll.hours = 168
log.roll.jitter.hours = 0
log.roll.jitter.ms = null
log.roll.ms = null
log.segment.bytes = 1073741824
log.segment.delete.delay.ms = 60000
max.connections = 2147483647
max.connections.per.ip = 2147483647
max.connections.per.ip.overrides =
max.incremental.fetch.session.cache.slots = 1000
message.max.bytes = 1048588
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
min.insync.replicas = 1
num.io.threads = 8
num.network.threads = 3
num.partitions = 1
num.recovery.threads.per.data.dir = 1
num.replica.alter.log.dirs.threads = null
num.replica.fetchers = 1
offset.metadata.max.bytes = 4096
offsets.commit.required.acks = -1
offsets.commit.timeout.ms = 5000
offsets.load.buffer.size = 5242880
offsets.retention.check.interval.ms = 600000
offsets.retention.minutes = 10080
offsets.topic.compression.codec = 0
offsets.topic.num.partitions = 50
offsets.topic.replication.factor = 1
offsets.topic.segment.bytes = 104857600
password.encoder.cipher.algorithm = AES/CBC/PKCS5Padding
password.encoder.iterations = 4096
password.encoder.key.length = 128
password.encoder.keyfactory.algorithm = null
password.encoder.old.secret = null
password.encoder.secret = null
port = 9092
principal.builder.class = null
producer.purgatory.purge.interval.requests = 1000
queued.max.request.bytes = -1
queued.max.requests = 500
quota.consumer.default = 9223372036854775807
quota.producer.default = 9223372036854775807
quota.window.num = 11
quota.window.size.seconds = 1
replica.fetch.backoff.ms = 1000
replica.fetch.max.bytes = 1048576
replica.fetch.min.bytes = 1
replica.fetch.response.max.bytes = 10485760
replica.fetch.wait.max.ms = 500
replica.high.watermark.checkpoint.interval.ms = 5000
replica.lag.time.max.ms = 30000
replica.selector.class = null
replica.socket.receive.buffer.bytes = 65536
replica.socket.timeout.ms = 30000
replication.quota.window.num = 11
replication.quota.window.size.seconds = 1
request.timeout.ms = 30000
reserved.broker.max.id = 1000
sasl.client.callback.handler.class = null
sasl.enabled.mechanisms = [GSSAPI]
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.principal.to.local.rules = [DEFAULT]
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism.inter.broker.protocol = GSSAPI
sasl.server.callback.handler.class = null
security.inter.broker.protocol = PLAINTEXT
security.providers = null
socket.receive.buffer.bytes = 102400
socket.request.max.bytes = 104857600
socket.send.buffer.bytes = 102400
ssl.cipher.suites = []
ssl.client.auth = none
ssl.enabled.protocols = [TLSv1.2]
ssl.endpoint.identification.algorithm = https
ssl.engine.factory.class = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.principal.mapping.rules = DEFAULT
ssl.protocol = TLSv1.2
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
transaction.abort.timed.out.transaction.cleanup.interval.ms = 10000
transaction.max.timeout.ms = 900000
transaction.remove.expired.transaction.cleanup.interval.ms = 3600000
transaction.state.log.load.buffer.size = 5242880
transaction.state.log.min.isr = 1
transaction.state.log.num.partitions = 50
transaction.state.log.replication.factor = 1
transaction.state.log.segment.bytes = 104857600
transactional.id.expiration.ms = 604800000
unclean.leader.election.enable = false
zookeeper.clientCnxnSocket = null
zookeeper.connect = localhost:2181
zookeeper.connection.timeout.ms = 18000
zookeeper.max.in.flight.requests = 10
zookeeper.session.timeout.ms = 18000
zookeeper.set.acl = false
zookeeper.ssl.cipher.suites = null
zookeeper.ssl.client.enable = false
zookeeper.ssl.crl.enable = false
zookeeper.ssl.enabled.protocols = null
zookeeper.ssl.endpoint.identification.algorithm = HTTPS
zookeeper.ssl.keystore.location = null
zookeeper.ssl.keystore.password = null
zookeeper.ssl.keystore.type = null
zookeeper.ssl.ocsp.enable = false
zookeeper.ssl.protocol = TLSv1.2
zookeeper.ssl.truststore.location = null
zookeeper.ssl.truststore.password = null
zookeeper.ssl.truststore.type = null
zookeeper.sync.time.ms = 2000
(kafka.server.KafkaConfig)
[2021-01-22 11:27:47,269] INFO [ThrottledChannelReaper-Fetch]: Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2021-01-22 11:27:47,269] INFO [ThrottledChannelReaper-Produce]: Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2021-01-22 11:27:47,272] INFO [ThrottledChannelReaper-Request]: Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2021-01-22 11:27:47,322] INFO Loading logs from log dirs ArraySeq(D:\work\program\kafka_2.13-2.6.1\logs) (kafka.log.LogManager)
[2021-01-22 11:27:47,325] INFO Attempting recovery for all logs in D:\work\program\kafka_2.13-2.6.1\logs since no clean shutdown file was found (kafka.log.LogManager)
[2021-01-22 11:27:47,330] INFO Loaded 0 logs in 8ms. (kafka.log.LogManager)
[2021-01-22 11:27:47,344] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager)
[2021-01-22 11:27:47,347] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager)
log4j:ERROR Failed to rename [D:\work\program\kafka_2.13-2.6.1/logs/log-cleaner.log] to [D:\work\program\kafka_2.13-2.6.1/logs/log-cleaner.log.2021-01-22-10].
[2021-01-22 11:27:47,718] INFO Awaiting socket connections on 0.0.0.0:9092. (kafka.network.Acceptor)
[2021-01-22 11:27:47,752] INFO [SocketServer brokerId=0] Created data-plane acceptor and processors for endpoint : ListenerName(PLAINTEXT) (kafka.network.SocketServer)
[2021-01-22 11:27:47,770] INFO [ExpirationReaper-0-Produce]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:47,771] INFO [ExpirationReaper-0-Fetch]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:47,775] INFO [ExpirationReaper-0-DeleteRecords]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:47,775] INFO [ExpirationReaper-0-ElectLeader]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:47,786] INFO [LogDirFailureHandler]: Starting (kafka.server.ReplicaManager$LogDirFailureHandler)
[2021-01-22 11:27:47,811] INFO Creating /brokers/ids/0 (is it secure? false) (kafka.zk.KafkaZkClient)
[2021-01-22 11:27:47,861] INFO Stat of the created znode at /brokers/ids/0 is: 24,24,1611286067825,1611286067825,1,0,0,72117946792869888,200,0,24
(kafka.zk.KafkaZkClient)
[2021-01-22 11:27:47,862] INFO Registered broker 0 at path /brokers/ids/0 with addresses: PLAINTEXT://DESKTOP-72PR081:9092, czxid (broker epoch): 24 (kafka.zk.KafkaZkClient)
[2021-01-22 11:27:47,943] INFO [ExpirationReaper-0-topic]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:47,947] INFO [ExpirationReaper-0-Heartbeat]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:47,947] INFO [ExpirationReaper-0-Rebalance]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:47,970] INFO Successfully created /controller_epoch with initial epoch 0 (kafka.zk.KafkaZkClient)
[2021-01-22 11:27:47,980] INFO [GroupCoordinator 0]: Starting up. (kafka.coordinator.group.GroupCoordinator)
[2021-01-22 11:27:47,981] INFO [GroupCoordinator 0]: Startup complete. (kafka.coordinator.group.GroupCoordinator)
[2021-01-22 11:27:47,989] INFO [GroupMetadataManager brokerId=0] Removed 0 expired offsets in 5 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2021-01-22 11:27:48,012] INFO [ProducerId Manager 0]: Acquired new producerId block (brokerId:0,blockStartProducerId:0,blockEndProducerId:999) by writing to Zk with path version 1 (kafka.coordinator.transaction.ProducerIdManager)
[2021-01-22 11:27:48,031] INFO [TransactionCoordinator id=0] Starting up. (kafka.coordinator.transaction.TransactionCoordinator)
[2021-01-22 11:27:48,033] INFO [TransactionCoordinator id=0] Startup complete. (kafka.coordinator.transaction.TransactionCoordinator)
[2021-01-22 11:27:48,035] INFO [Transaction Marker Channel Manager 0]: Starting (kafka.coordinator.transaction.TransactionMarkerChannelManager)
log4j:ERROR Failed to rename [D:\work\program\kafka_2.13-2.6.1/logs/state-change.log] to [D:\work\program\kafka_2.13-2.6.1/logs/state-change.log.2021-01-22-10].
[2021-01-22 11:27:48,060] INFO [ExpirationReaper-0-AlterAcls]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2021-01-22 11:27:48,083] INFO [/config/changes-event-process-thread]: Starting (kafka.common.ZkNodeChangeNotificationListener$ChangeEventProcessThread)
[2021-01-22 11:27:48,090] INFO [SocketServer brokerId=0] Starting socket server acceptors and processors (kafka.network.SocketServer)
[2021-01-22 11:27:48,094] INFO [SocketServer brokerId=0] Started data-plane acceptor and processor(s) for endpoint : ListenerName(PLAINTEXT) (kafka.network.SocketServer)
[2021-01-22 11:27:48,098] INFO [SocketServer brokerId=0] Started socket server acceptors and processors (kafka.network.SocketServer)
[2021-01-22 11:27:48,101] INFO Kafka version: 2.6.1 (org.apache.kafka.common.utils.AppInfoParser)
[2021-01-22 11:27:48,101] INFO Kafka commitId: 6b2021cd52659cef (org.apache.kafka.common.utils.AppInfoParser)
[2021-01-22 11:27:48,101] INFO Kafka startTimeMs: 1611286068099 (org.apache.kafka.common.utils.AppInfoParser)
[2021-01-22 11:27:48,102] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
最后就是启动成功的标志,如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-seTKR2Q7-1611287223876)(https://uploader.shimo.im/f/YyD5e1kxkG10h44N.png!thumbnail?fileGuid=PgxkVwdqXJpPTqj8)]
测试kafka
安装好了之后,还是要进行测试一下的,这里在新的窗口中创建topic测试主题test123:
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test123
注:执行成功后会提示:Created topic test123。
接下来创建一个生产消息,在执行完命令后输入“hello world”,命令如下:
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test123
然后执行如下命令来消费消息,命令如下:
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test123 --from-beginning
下图便是生产者和消费者生产和消费过程:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ahGRU3U7-1611287223877)(https://uploader.shimo.im/f/ViyOf8zBOFsCwRp7.png!thumbnail?fileGuid=PgxkVwdqXJpPTqj8)]
总结
本文从准备环境、安装jdk、安装kafka、启动kafka、测试kafka等方面进行了简单的讲述。对于这类的东西还是要亲自动手做一下的。