無名

15 声望

人生能有几回搏。

人生能有几回搏。

个人动态
  • 無名 回复 123leader中的数据损坏导致副本无法同步造成的单副本如何自动恢复 中 :

    unclean.leader.election.enable:可配置是否允许不洁选举,慎用,会导致数据丢失(因为故障的磁盘可能数据是最新的)。

    7天前
  • 無名 回复 無名Error on retrieving record #31:3 (cluster: quartz_trigger) DB name="config" 中 :

    上周(最糟糕的一个星期五 ;-))我们的 Nexus Repository Manager 服务发生了一起非常严重的事故,影响了我们产品的发布生命周期。不幸的是,我们的 NFS 服务器出现了问题,导致 Nexus Docker 出现以下几个损坏问题:

    2019-09-05 19:38:17,321+0000 ERROR [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Error on creating record in cluster: plocal cluster: quartz_trigger
    com.orientechnologies.orient.core.exception.OPaginatedClusterException: Error during record creation
    DB name="config"
    Component Name="quartz_trigger"
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.createSinglePageRecord(OPaginatedCluster.java:687)
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.createDataRecord(OPaginatedCluster.java:564)
    

    在搜索其他人如何解决这个问题时,大多数人都放弃了特定的定向数据库表:config.quartz_trigger。该表实际上是计划任务的持有者,因此删除并重新创建它并不是什么大问题。

    连接到 orientdb 控制台。以下是连接 config db 并删除该表的命令:

    java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
    connect plocal:/opt/sonatype/sonatype-work/nexus3/db/config/ admin admin
    drop class quartz_trigger
    

    然后修复数据库,断开连接并重新启动 Nexus。

    REPAIR DATABASE component
    DISCONNECT
    

    参考来自:https://mariosk.wordpress.com/2019/09/07/how-a-nexus-repository-manager-corruption-led-to-a-mini-odyssey/

    1月前
  • 赞了 無名什么是Low-Level Server? 的评论!

    “Low-Level Server”这个名字,源于软件开发中一个常见的术语:“low-level”(低层/底层)。它不是说“服务器很差”,而是强调它比高级封装更接近底层、原始的实现,意思是:

    1. 什么是 “Low-Level Server”?

    在 MCP 框架中,Low-Level Server 是一种更接近协议核心、需要你手动控制生命周期、注册处理函数的服务器写法,也就是说:

    • 你负责:

      • 启动关闭逻辑(生命周期)
      • 注册处理函数(比如 call_tool()list_prompts() 等)
      • 管理数据资源(比如数据库连接)
      • 使用低层 API(如 server.run()

    它不像官方的 mcp runmcp dev 那样封装好一整套流程(这些是 high-level 工具,自动帮你处理各种事情)。

    2. 为什么叫 “low-level”?

    • 因为这是“手动控制一切”的模式,没有帮你封装生命周期、标准输入输出处理、异常处理等。
    • 和 “high-level”(高级封装) 相对:

      • high-level 例子:uv run mcp run
      • low-level:你自己写 server.run(...),你控制 lifespan,你处理 stream

    就像 Python 的 asyncio

    • high-level:asyncio.run(main())
    • low-level:你用 loop = asyncio.get_event_loop() 手动跑 loop

    3. 什么时候要用 low-level server?

    用它是为了“更细粒度的控制”,适合这几种场景:

    场景 为什么用 low-level server
    你想注册多个自定义 handler,比如 get_promptcall_tool 高级接口可能不够灵活
    你想控制资源生命周期,比如连接数据库、清理缓存 需要用 lifespan
    你要接入自定义协议或更复杂的启动流程 高级封装不支持
    你不想使用 mcp runuv run 这些不支持 low-level server

    4. 总结一句话:

    “low-level server” 指的是一种更底层、自由度更高、但需要你自己处理细节的服务器写法。适合需要完全控制启动流程、资源管理、自定义能力的高级开发者。

    1月前
  • 半兽人 回复 無名什么是Low-Level Server? 中 :

    “Low-Level Server”这个名字,源于软件开发中一个常见的术语:“low-level”(低层/底层)。它不是说“服务器很差”,而是强调它比高级封装更接近底层、原始的实现,意思是:

    1. 什么是 “Low-Level Server”?

    在 MCP 框架中,Low-Level Server 是一种更接近协议核心、需要你手动控制生命周期、注册处理函数的服务器写法,也就是说:

    • 你负责:

      • 启动关闭逻辑(生命周期)
      • 注册处理函数(比如 call_tool()list_prompts() 等)
      • 管理数据资源(比如数据库连接)
      • 使用低层 API(如 server.run()

    它不像官方的 mcp runmcp dev 那样封装好一整套流程(这些是 high-level 工具,自动帮你处理各种事情)。

    2. 为什么叫 “low-level”?

    • 因为这是“手动控制一切”的模式,没有帮你封装生命周期、标准输入输出处理、异常处理等。
    • 和 “high-level”(高级封装) 相对:

      • high-level 例子:uv run mcp run
      • low-level:你自己写 server.run(...),你控制 lifespan,你处理 stream

    就像 Python 的 asyncio

    • high-level:asyncio.run(main())
    • low-level:你用 loop = asyncio.get_event_loop() 手动跑 loop

    3. 什么时候要用 low-level server?

    用它是为了“更细粒度的控制”,适合这几种场景:

    场景 为什么用 low-level server
    你想注册多个自定义 handler,比如 get_promptcall_tool 高级接口可能不够灵活
    你想控制资源生命周期,比如连接数据库、清理缓存 需要用 lifespan
    你要接入自定义协议或更复杂的启动流程 高级封装不支持
    你不想使用 mcp runuv run 这些不支持 low-level server

    4. 总结一句话:

    “low-level server” 指的是一种更底层、自由度更高、但需要你自己处理细节的服务器写法。适合需要完全控制启动流程、资源管理、自定义能力的高级开发者。

    1月前
  • 1月前
  • 年轻人不要老熬夜 回复 無名kafka实战SASL/PLAIN认证 中 :

    感谢,你提醒了我,在这台服务器上有个监控kafka集群状态的组件,它会一直向kafka发送请求

    3月前
  • 無名 回复 年轻人不要老熬夜kafka实战SASL/PLAIN认证 中 :

    我的意思是这个你不认识的地址,可能是从别的机器(192.168.66.211)连到kafka的时候,报的认证错误。

    所以你先确认这个192.168.66.211的身份,是你公司的哪台机器属于谁的,可能是它一直连接kafka需要进行生产或者消费,而你加了认证之后,导致这台机器持续的连接重试,一直失败。

    3月前
  • 赞了 無名kafka某个topic的log文件过期没有清理 的评论!

    通过kafka-delete-record解决了这个问题,但是为什么没有触发自动老化还是没有思路

    1年前
  • 半兽人 关注了Ta · 1年前
  • 願為你戰斗 关注了Ta · 2年前
  • 我叫不生气 赞了 在 sudo kubeadm reset时阻塞了 的评论!

    一般是docker的原因导致的。

    一个可行的解决方案是重新启动 Docker 服务,然后重新运行 kubeadm reset

    sudo systemctl restart docker.service
    sudo kubeadm reset
    

    检查 docker 的日志:

    journalctl -ul docker
    
    3年前
  • 3年前
  • 关注了用户 Lance.Wu · 3年前
  • 订阅了 java 主题! · 4年前
  • 赞了 無名用kafka命令发送消息时候,一直报WARN Error while fetching metadata with correlation id 0 : {test=UNKNOWN_TOPIC_OR_PARTITION}? 的评论!

    你看下kafka集群的配置文件,是否设置了auto.create.topics.enable=false

    如果有,就设置为ture,当topic不存在,导致的,允许它自动创建。

    或者你也可以手动创建topic:

    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 4 --topic test
    
    4年前
  • 赞了 無名如何监听kubernetes job? 的评论!
    $ kubectl wait --for=condition=complete --timeout=600s job/myjob
    
    4年前
  • 赞了 KubeBiz中文教程 · 4年前
  • 半兽人 赞了 在 Kubernetes(k8s)中文教程 的评论!

    Kubernetes(k8s)就是按照用户的期望的样子来运行部署应用程序。
    赞!

    4年前
  • 订阅了 bootstrap5 主题! · 4年前
  • 赞了 無名kafka中文教程 的评论!

    大佬,非常高兴能看到你得文章

    4年前
  • 赞了 無名Kafka的主要API有哪些? 的评论!

    Kafka有5个核心API:

    • Producer API 允许应用程序发送数据流到kafka集群中的topic。
    • Consumer API 允许应用程序从kafka集群的topic中读取数据流。
    • Streams API 允许从输入topic转换数据流到输出topic。
    • Connect API 通过实现连接器(connector),不断地从一些源系统或应用程序中拉取数据到kafka,或从kafka提交数据到宿系统(sink system)或应用程序。
    • Admin API 用于管理和检查topic,broker和其他Kafka对象。

    具体可参考:kafka接口API

    4年前
  • 订阅了 shares 主题! · 4年前
  • 订阅了 kafka 主题! · 4年前
  • Lance.Wu 关注了Ta · 4年前
  • C`c 关注了Ta · 6年前
  • Explore 关注了Ta · 7年前