m1安装Kafka(使用Confluent)

brew安装kafka不好使,只能自己找找方法了!

以下亲测可行,超级详细:

  1. 下载confluent,https://www.confluent.io/get-started,到Download Confluent Platform页,留下邮箱,文件格式选择tar

  2. 解压:

    mv ~/Downloads/confluent-6.0.1.tar ~/
    tar -zxvf confluent-6.0.1.tar.gz
    rm -rf confluent-6.0.1.tar
    
  3. 修改.zshrc文件内容,设置confluent路径

    # 获取confluent路径
    cd confluent-6.0.1
    pwd
    # 得到路径:/Users/xinlong/confluent-6.0.1
    cd ~
    vim .zshrc
    # 修改文件.zshrc文件(加到末尾):
    export CONFLUENT_HOME=/Users/xinlong/confluent-6.0.1
    export PATH=$PATH:$CONFLUENT_HOME/bin
    # 使配置文件生效
    source .zshrc
    
  4. 修改confluent的配置文件

    vim /Users/xinlong/confluent-6.0.1/etc/kafka/server.properties
    # 找到下面三个项,取消注释
    # 取消注释,添加0.0.0.0
    listeners=[PLAINTEXT://0.0.0.0:9092](PLAINTEXT://0.0.0.0:9092)
    # 取消注释,添加localhost
    advertised.listeners=PLAINTEXT://localhost:9092
    # 取消注释
    listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
    
  5. 启动confluent

    arch -x86_64 confluent local services start
    

    可能会遇到java版本问题,这个看后边ps。

    此时就可以成功运行了,如下:

  6. 打开浏览器,输入localhost:9021,会出现以下结果:

  7. 点击侧栏目Cluster,新建个topic(叫test把)

  8. 创建消费者,使用python测试,运行之

    from kafka import KafkaConsumer
    consumer = KafkaConsumer('test', bootstrap_servers=['localhost:9092'])  # 定义消费者
    for msg in consumer:
        print(msg)
    
  9. 创建生产者,终端输入:

    kafka-console-producer --topic test --broker-list localhost:9092
    

    生产者生产数据:

消费者消费之:

  1. end !

ps: 上诉的java问题如何解决:

  1. 查看java版本,检查是不是java11

    java --version
    
  2. 不是就会存在问题,安装sdkman

    curl -s "https://get.sdkman.io" | bash
    source "$HOME/.sdkman/bin/sdkman-init.sh"
    sdk version
    
  3. 使用sdkman安装java11

    sdk install java 11.0.9.hs-adpt
    
  4. 使用java11

    sdk use java 11.0.9.hs-adpt
    
  5. 继续执行上述的启动命令

    arch -x86_64 confluent local services start
    

ps-2:

confluent常用指令:

arch -x86_64 confluent local services start
arch -x86_64 confluent local services stop
arch -x86_64 confluent local destroy

终端开启转写则不用加arch -x86_64。

posted @ 2021-05-05 21:50  zju_cxl  阅读(1269)  评论(7编辑  收藏  举报