• 20190312 Windows安装Kafka


    1. 下载

    使用版本2.1.1

    官网下载地址

    2. 安装

    2.1. 前提

    已安装ZooKeeper,可参考 20190311 Windows安装ZooKeeper 进行安装ZooKeeper

    2.2. 修改config/server.properties配置文件

    log.dirs=E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1\kafka-logs
    

    2.3. 启动ZooKeeper,成功后,启动Kafka

    第一次启动报错,原因是环境变量中的JAVA_HOME中路径中不能有空格

    PS E:Developkafka2.11-2.1.1kafka_2.11-2.1.1> .inwindowskafka-server-start.bat .configserver.properties
    命令语法不正确。
    错误: 找不到或无法加载主类 FilesJavajdk1.8.0_151lib;C:Program
    

    我当前的JAVA_HOME是

    E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>echo %JAVA_HOME%
    C:Program FilesJavajdk1.8.0_151
    

    修改为:

    C:Javajdk1.8.0_151
    

    修改后,也会提示:

    命令语法不正确。
    

    但是,确实是正常启动。

    2.4. 测试启动成功

    2.4.1. 创建一个topic

    E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>  .inwindowskafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
    错误: 找不到或无法加载主类 FilesJavajdk1.8.0_151lib;C:Program
    

    在网上查询后,找到解决方案,修改bin/windows/kafka-run-class.bat第179行,为%CLASSPATH%加上双引号

    set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp "%CLASSPATH%" %KAFKA_OPTS% %*
    

    再次运行创建命令,创建成功

    E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
    Created topic "test".
    

    2.4.2. 查看topic的list

    E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-topics.bat --list --zookeeper localhost:2181
    test
    

    2.4.3. 启动生产者和消费者进行通信

    生产者:

    E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-console-producer.bat --broker-list localhost:9092 --topic test
    >abcd
    >xxx
    >
    

    消费者:

    E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
    abcd
    xxx
    
    

    参考资料

    Kafka官网

  • 相关阅读:
    集合类小结
    Java相关文章
    centos下同时启动多个tomcat
    express发送get或post请求
    node.js的querystring模块
    node.js的url解析和生成
    node.js判断是否文件夹和文件
    node.js删除文件
    node.js对文件夹增删改查的操作
    node运行js文件热更新
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/10518549.html
Copyright © 2020-2023  润新知