• linux安装kafka


    linux安装kafka

    官网地址
    在这里插入图片描述
    右键复制链接

    [root@MeterSphere /usr/local]$wget https://downloads.apache.org/kafka/3.3.1/kafka_2.12-3.3.1.tgz
    
    • 1

    下载后解压cd

    [root@MeterSphere /usr/local]$pwd
    /usr/local
    [root@MeterSphere /usr/local]$tar zxvf kafka_2.12-3.3.1.tgz
    
    
    • 1
    • 2
    • 3
    • 4

    查看配置文件

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1/config]$pwd
    /usr/local/kafka_2.12-3.3.1/config
    [root@MeterSphere /usr/local/kafka_2.12-3.3.1/config]$vim server.properties
    
    • 1
    • 2
    • 3

    下面的是日志地址,那就在这个地址下看看有没有对应的目录,没有的话就新建即可
    在这里插入图片描述

    其中broker.id应该是唯一的,在我看来就是kafka的身份证号
    listeners 设置成内网ip
    advertised.listener设置成公网ip
    不可以配置成一样的,kafka启动的时候会报错
    这两个字段的含义

    查看内网地址,eth0的inet就是了

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.16.42.2  netmask 255.255.255.0  broadcast 172.16.42.255
            inet6 fe80::216:3eff:fe06:3053  prefixlen 64  scopeid 0x20<link>
            ether 00:16:3e:06:30:53  txqueuelen 1000  (Ethernet)
            RX packets 611381  bytes 111044418 (105.9 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 556388  bytes 454959009 (433.8 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 55864  bytes 16903555 (16.1 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 55864  bytes 16903555 (16.1 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    查看外网ip

    [root@MeterSphere /home/test]$curl ifconfig.me
    XX.XX.XXX.XXX[root@MeterSphere /home/test]$
    
    • 1
    • 2

    在这里插入图片描述
    比较重要的配置还有log.dirs
    在这里插入图片描述
    这里面存储的是kafka的各种消息,信息的磁盘持久化
    还有num.partitions=1,就是一个broker有多少个partitions,默认的话就只有一个
    在这里插入图片描述
    zookeeper.connect 就是zookeeper的地址
    在这里插入图片描述

    环境变量

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1]$pwd
    /usr/local/kafka_2.12-3.3.1
    [root@MeterSphere /usr/local/kafka_2.12-3.3.1]$vim /etc/profile
    
    • 1
    • 2
    • 3

    新增如下内容

    #KAFKA ENV
    export KAFKA_HOME=/usr/local/kafka_2.12-3.3.1
    export PATH=$PATH:$KAFKA_HOME/bin
    
    • 1
    • 2
    • 3

    配置立即生效

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1]$source /etc/profile
    
    • 1

    启动kafka

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1/bin]$./kafka-server-start.sh  /usr/local/kafka_2.12-3.3.1/config/server.properties
    
    • 1

    停止kafka

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1/bin]$./kafka-server-stop.sh
    
    • 1

    启动日志最后是这样的,开启的是9092端口

    [2022-11-04 18:30:25,345] INFO Kafka version: 3.3.1 (org.apache.kafka.common.utils.AppInfoParser)
    [2022-11-04 18:30:25,346] INFO Kafka commitId: e23c59d00e687ff5 (org.apache.kafka.common.utils.AppInfoParser)
    [2022-11-04 18:30:25,346] INFO Kafka startTimeMs: 1667557825340 (org.apache.kafka.common.utils.AppInfoParser)
    [2022-11-04 18:30:25,347] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
    [2022-11-04 18:30:25,450] INFO [BrokerToControllerChannelManager broker=0 name=alterPartition]: Recorded new controller, from now on will use broker localhost:9092 (id: 0 rack: null) (kafka.server.BrokerToControllerRequestThread)
    [2022-11-04 18:30:25,450] INFO [BrokerToControllerChannelManager broker=0 name=forwarding]: Recorded new controller, from now on will use broker localhost:9092 (id: 0 rack: null) (kafka.server.BrokerToControllerRequestThread)
    [2022-11-09 19:50:39,013] WARN [Controller id=0, targetBrokerId=0] Connection to node 0 (/47.95.210.129:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
    [2022-11-09 19:50:39,013] INFO [Controller id=0, targetBrokerId=0] Client requested connection close from node 0 (org.apache.kafka.clients.NetworkClient)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    然后查看了controller的日志

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1/logs]$tail -f controller.log
    [2022-11-09 20:09:34,929] WARN [RequestSendThread controllerId=0] Controller 0's connection to broker 47.95.210.129:9092 (id: 0 rack: null) was unsuccessful (kafka.controller.RequestSendThread)
    java.io.IOException: Connection to 47.95.210.129:9092 (id: 0 rack: null) failed.
            at org.apache.kafka.clients.NetworkClientUtils.awaitReady(NetworkClientUtils.java:70)
            at kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:292)
            at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:246)
            at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:96)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    复制这个47.95.210.129,也就是你配置的外网地址

    [root@MeterSphere /etc]$vim hosts
    
    • 1

    在最后两行加上你刚才复制的地址即可
    在这里插入图片描述
    尝试了,不可以,所以把advertised.listener注释掉了,启动成功了,为什么,不知道
    创建topic

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1/bin]$ ./kafka-topics.sh --create --zookeeper 47.95.210.129:2181 --replication-factor 1--partitions 1 --topic xdclass-topic
    Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
            at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
            at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
            at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
            at joptsimple.OptionParser.parse(OptionParser.java:396)
            at kafka.admin.TopicCommand$TopicCommandOptions.<init>(TopicCommand.scala:567)
            at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
            at kafka.admin.TopicCommand.main(TopicCommand.scala)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    原因:kafka版本过高所致,2.2+=的版本,已经不需要依赖zookeeper来查看/创建topic,新版本使用 --bootstrap-server替换老版本的 --zookeeper-server
    FUCK,还是不行

    [root@MeterSphere /usr/local/kafka_2.12-3.3.1/bin]$ ./kafka-topics.sh --create --bootstrap-server 47.95.210.129:2181 --replication-factor 1 --partitions 1 --topic xdclass-topic
    [2022-11-09 20:35:58,133] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (/47.95.210.129:2181) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
    [2022-11-09 20:36:05,253] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (/47.95.210.129:2181) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
    
    • 1
    • 2
    • 3
  • 相关阅读:
    java毕业生设计高校毕业生就业满意度调查统计系统计算机源码+系统+mysql+调试部署+lw
    插入排序与希尔排序
    极化雷达回波的Matlab模拟与分析
    章十九、JavaVUE —— 框架、指令、声明周期、Vue-cli、组件路由、Element
    测试工作3年还在基础岗?可能只是因为你的工作能力差
    面试题:线程池灵魂8连问,你挡的住吗?
    YOLOv5算法改进(21)— 添加CA注意力机制 + 更换Neck网络之BiFPN + 更换损失函数之EIoU
    Linux实现HTTP服务器
    目标级联分析法( Analytical Target Cascading , ATC )理论matlab程序
    35二叉树-树的最小深度
  • 原文地址:https://blog.csdn.net/qq13933506749/article/details/127675830