沐凌 2024-08-24 01:41 采纳率: 33.3%
浏览 4

clickhouse报DB::Exception: Failed to wait RAFT initialization

问题遇到的现象和发生背景

clickhouse启动正常,执行clickhouse-client命令,报无法连接9000端口,日志报错原因:Application: DB::Exception: Failed to wait RAFT initialization

报错日志

2024.08.23 17:18:13.836623 [ 1496250 ] {} <Error> RaftInstance: failed to accept a rpc connection due to error 125, Operation canceled
2024.08.23 17:18:13.848202 [ 1496235 ] {} <Error> Application: DB::Exception: Failed to wait RAFT initialization
 
2024.08.23 17:18:44.589182 [ 1497071 ] {} <Warning> KeeperLogStore: Removing all changelogs
2024.08.23 17:18:44.589266 [ 1497071 ] {} <Warning> KeeperLogStore: Moving broken logs to /data/clickhouse/keeper/log/detached/20240823T171844
2024.08.23 17:18:44.589341 [ 1497071 ] {} <Warning> KeeperLogStore: Removing changelog /data/clickhouse/keeper/log/changelog_1_100000.bin.zstd
config.xml新增配置,及metrika.xml配置
<keeper_server>
   <tcp_port>9181</tcp_port>
   <server_id>1</server_id>
   <log_storage_path>/data/clickhouse/keeper/log</log_storage_path>
   <snapshot_storage_path>/data/clickhouse/keeper/coordination/snapshots</snapshot_storage_path>
   <coordination_settings>
       <operation_timeout_ms>10000</operation_timeout_ms>
       <session_timeout_ms>30000</session_timeout_ms>
       <raft_logs_level>trace</raft_logs_level>
   </coordination_settings>
   <raft_configuration>
       <server>
           <id>1</id>
           <hostname>134.133.12.70</hostname>
           <port>9444</port>
       </server>
       <server>
           <id>2</id>
           <hostname>134.133.12.71</hostname>
           <port>9444</port>
       </server>
       <server>
           <id>3</id>
           <hostname>134.133.12.72</hostname>
           <port>9444</port>
       </server>
       <server>
           <id>4</id>
           <hostname>134.133.12.73</hostname>
           <port>9444</port>
       </server>
       <server>
           <id>5</id>
           <hostname>134.133.12.74</hostname>
           <port>9444</port>
       </server>
   </raft_configuration>
</keeper_server>
<listen_host>::</listen_host>
<include_from>/etc/clickhouse-server/metrika.xml</include_from>
<remote_servers incl="clickhouse_remote_servers" optional="true"/>
<zookeeper incl="zookeeper-servers" optional="true"/>
<macros incl="macros" optional="true"/>
<clickhouse>
   <zookeeper-servers>
       <node index="1">
           <host>134.133.12.70</host>
           <port>9181</port>
       </node>
       <node index="2">
           <host>134.133.12.71</host>
           <port>9181</port>
       </node>
       <node index="3">
           <host>134.133.12.72</host>
           <port>9181</port>
       </node>
       <node index="4">
           <host>134.133.12.73</host>
           <port>9181</port>
       </node>
       <node index="5">
           <host>134.133.12.74</host>
           <port>9181</port>
       </node>
       <node index="6">
           <host>134.133.12.75</host>
           <port>9181</port>
       </node>
       <node index="7">
           <host>134.133.12.76</host>
           <port>9181</port>
       </node>
       <node index="8">
           <host>134.133.12.77</host>
           <port>9181</port>
       </node>
       <node index="9">
           <host>134.133.12.78</host>
           <port>9181</port>
       </node>
       <node index="10">
           <host>134.133.12.79</host>
           <port>9181</port>
       </node>
   </zookeeper-servers>
   <clickhouse_remote_servers>
       <ck_hnids>
           <secret>foo</secret>
           <shard>
               <internal_replication>true</internal_replication>
               <replica>
                   <host>134.133.12.70</host>
                   <port>9000</port>
               </replica>
               <replica>
                   <host>134.133.12.75</host>
                   <port>9000</port>
               </replica>
           </shard>
           <shard>
               <internal_replication>true</internal_replication>
               <replica>
                   <host>134.133.12.71</host>
                   <port>9000</port>
               </replica>
               <replica>
                   <host>134.133.12.76</host>
                   <port>9000</port>
               </replica>
           </shard>
           <shard>
               <internal_replication>true</internal_replication>
               <replica>
                   <host>134.133.12.72</host>
                   <port>9000</port>
               </replica>
               <replica>
                   <host>134.133.12.77</host>
                   <port>9000</port>
               </replica>
           </shard>
           <shard>
               <internal_replication>true</internal_replication>
               <replica>
                   <host>134.133.12.73</host>
                   <port>9000</port>
               </replica>
               <replica>
                   <host>134.133.12.78</host>
                   <port>9000</port>
               </replica>
           </shard>
           <shard>
               <internal_replication>true</internal_replication>
               <replica>
                   <host>134.133.12.74</host>
                   <port>9000</port>
               </replica>
               <replica>
                   <host>134.133.12.79</host>
                   <port>9000</port>
               </replica>
           </shard>
       </ck_hnids>
   </clickhouse_remote_servers>
   <macros>
       <cluster>ck_hnids</cluster>
       <shard>04</shard>
       <replica>clickhouse4</replica>
   </macros>
   <networks>
       <ip>::/0</ip>
   </networks>
   <!--数据压缩配置 MergeTree-引擎表-->
   <clickhouse_compression>
       <case>
           <min_part_size>10000000000</min_part_size>
           <min_part_size_ratio>0.01</min_part_size_ratio>
           <method>lz4</method>
       </case>
   </clickhouse_compression>
</clickhouse>

运行结果

启动状态正常运行,日志报错

解决尝试

尝试重新安装clickhouse,但问题一样,求解答

  • 写回答

2条回答 默认 最新

  • 清水白石008 2024-08-24 06:25
    关注
    🕒上午好,题主!目前:🟢[在线]
    📢参考GPT-4o mini 模型、由清水白石008整理提供!
    📣今日金句:“知识就是力量。” — 弗朗西斯·培根
    

    根据你提供的信息,ClickHouse 启动正常,但在执行 clickhouse-client 命令时无法连接到 9000 端口,并且日志中出现了 Failed to wait RAFT initialization 的错误。这通常与 RAFT 协议的初始化失败有关,可能是由于配置问题、网络问题或其他原因导致的。

    可能的原因和解决方案

    1. 检查网络连接

      • 确保 ClickHouse 服务器之间的网络连接正常。可以使用 ping 命令检查各个节点之间的连通性。
      • 确保防火墙没有阻止 9000 和 9181 端口的流量。
    2. 检查配置文件

      • 确保 config.xmlmetrika.xml 中的配置正确无误,特别是 keeper_serverzookeeper-servers 的配置。
      • 确保 raft_configuration 中的服务器 ID 和主机名与实际部署的服务器一致。
    3. 查看日志文件

      • 查看 ClickHouse 的其他日志文件,可能会有更详细的错误信息。日志文件通常位于 /var/log/clickhouse-server/ 目录下。
      • 特别关注 keeperraft 相关的日志,可能会提供更多线索。
    4. 检查 Zookeeper 状态

      • 确保 Zookeeper 正在运行,并且所有节点都能正常连接到 Zookeeper。
      • 可以使用 zkCli.sh 工具连接到 Zookeeper,检查节点状态。
    5. RAID 和存储问题

      • 检查存储设备是否正常工作,确保没有磁盘故障或 RAID 问题。
      • 确保 ClickHouse 有足够的权限访问日志和快照存储路径。
    6. 重启 ClickHouse

      • 尝试重启 ClickHouse 服务,看看是否能解决问题。
    7. 版本兼容性

      • 确保 ClickHouse 的版本与 Zookeeper 的版本兼容,某些版本之间可能存在不兼容的问题。
    8. 清理旧日志

      • 根据日志中的提示,可能需要清理旧的 changelog 和快照文件。可以手动删除 /data/clickhouse/keeper/log/detached/ 中的旧日志文件。
    9. 增加超时时间

      • 如果网络延迟较高,可以尝试增加 operation_timeout_mssession_timeout_ms 的值。

    示例命令

    如果你需要检查 Zookeeper 的状态,可以使用以下命令:

    # 连接到 Zookeeper
    /path/to/zookeeper/bin/zkCli.sh -server 134.133.12.70:9181
    

    在 Zookeeper CLI 中,你可以使用 ls / 命令查看根节点下的内容,确认 Zookeeper 是否正常工作。

    总结

    根据你的描述,问题可能与 RAFT 初始化失败有关,建议从网络连接、配置文件、Zookeeper 状态等方面进行排查。如果问题仍然存在,可以考虑在 ClickHouse 的 GitHub 或社区论坛上寻求帮助,提供详细的日志和配置文件以便更好地诊断问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月24日

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络