baby sword‘s blog baby sword‘s blog
首页
  • java基础
  • java进阶
大数据
  • mysql

    • mysql索引
    • mysql日志
  • redis

    • 单机下的redis
    • 集群下的redis
  • Spring
  • springboot
  • RPC
  • netty
  • mybatis
  • maven
  • 消息队列
  • kafka
  • zookeeper
  • rocketmq
  • 七大设计原则
  • 创建型模式
  • 结构型模式
  • 行为型模式
  • SpringCloud

    • eureka
  • SpringCloud Alibaba

    • nacos
  • 计算机网络
  • 操作系统
  • 算法
  • 个人项目
  • 个人面试面经
  • 八股记忆
  • 工作积累
  • 逻辑题
  • 面试

    • 百度后端实习二面
GitHub (opens new window)

zhengjian

不敢承担失去的风险,是不可能抓住梦想的
首页
  • java基础
  • java进阶
大数据
  • mysql

    • mysql索引
    • mysql日志
  • redis

    • 单机下的redis
    • 集群下的redis
  • Spring
  • springboot
  • RPC
  • netty
  • mybatis
  • maven
  • 消息队列
  • kafka
  • zookeeper
  • rocketmq
  • 七大设计原则
  • 创建型模式
  • 结构型模式
  • 行为型模式
  • SpringCloud

    • eureka
  • SpringCloud Alibaba

    • nacos
  • 计算机网络
  • 操作系统
  • 算法
  • 个人项目
  • 个人面试面经
  • 八股记忆
  • 工作积累
  • 逻辑题
  • 面试

    • 百度后端实习二面
GitHub (opens new window)
  • 消息队列

  • kafka

    • 如何安装kafka
    • kafka基础
    • 常见命令行指令
    • kafka可视化界面
    • 使用kafka时遇到的一些问题
    • ProducerConfig
    • kafka之生产者
    • kafka消息丢失
    • kafka之broker
    • kafka之消费者
    • 消费者源码
    • 消费者的多线程方式
    • kafka之缓冲区
    • kafka源码
    • kafka个人技术分享
  • zookeeper

  • rocketMq

  • 中间件
  • kafka
xugaoyi
2023-06-09

使用kafka时遇到的一些问题

当我使用kafka时,启动了broker,创建了主题,此时我对主题的分区进行了扩充。但是我发现生产者拉取元数据时并没有成功拉取,还是以前的数据,重启kafka生产者也没有任何用。此时我想是不是应该重启下kafka broker。我是先强制关掉kafka,然后再启动kafka,但是这一启动就报错了。

org.apache.kafka.common.KafkaException: Failed to acquire lock on file .lock in /tmp/kafka-logs. A Kafka instance in another process or thread is using this directory.
1

现实上面的错误,其含义似乎是另一个进程在log文件中正在运行(上了锁),这时我们的broker无法在这个文件上运行了,所以就运行失败了。 那么想要成功启动该怎么办? -> 关掉那个运行相应日志的进程

怎么查找到这个进程? -> 使用ps命令

怎么关掉这个进程 -> 使用kill命令

然后重新运行kafka即可

重点讲解下ps查找进程的过程。 首先,我们要明白,kafka进程的特征。其在运行时一定为指定配置文件。 这条命令的作用是列出系统中所有正在运行的进程,然后通过管道符号 | 将输出结果传递给下一个命令。第二个命令 grep server.properties 是在前面输出的结果中查找包含 server.properties 字符串的行。而第三个命令 grep -v grep 则是去除查找结果中包含 grep 字符串的行,因为这些行只是表示我们执行了查找命令本身,并不代表真正的进程。总之,这条命令的目的是查找正在运行的与 server.properties 相关的进程并显示其相关信息。 grep -v 命令是 grep 的一个选项,它的作用是排除掉包含指定模式的行,只输出不包含该模式的行。具体来说,-v 选项可以理解为取反操作,即将匹配模式和待匹配文本进行比较,如果一致就排除掉该行,否则保留该行。在实际使用中,grep -v 常用于过滤掉一些不需要的行或者筛选出与我们所需内容无关的行,使得输出结果更加精准。

ps aux | grep server.properties | grep -v grep
1
编辑 (opens new window)
上次更新: 2024/02/22, 14:03:19
kafka可视化界面
ProducerConfig

← kafka可视化界面 ProducerConfig→

最近更新
01
spark基础
02-22
02
mysql读写分离和分库分表
02-22
03
数据库迁移
02-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式