You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Redhat-8.6上启动Apache Cassandra 4.1.3时遭遇UnsatisfiedLinkError错误的求助

在Redhat-8.6上启动Apache Cassandra 4.1.3时遭遇UnsatisfiedLinkError错误的求助

Hey there, sorry to hear you're stuck with this epoll-related error when firing up Cassandra 4.1.3 on RHEL 8.6! Let's break down what's going on and walk through fixes step by step.

问题根源分析

你遇到的错误:

java.lang.UnsatisfiedLinkError: /tmp/libnetty_transport_native_epoll_x86_64xxxx.so: failed to map segment from shared object

本质是Cassandra依赖Netty的原生epoll传输提升性能,但它在/tmp目录生成的临时共享库文件无法被加载。这几乎都是因为/tmp目录的挂载参数过于严格——比如挂载时加了noexec或nodev标志,这会阻止共享库的执行。

可行解决方法

1. 检查并修复/tmp挂载权限

首先,先确认/tmp当前的挂载设置:

mount | grep /tmp

查看输出里是否有noexec或nodev这类限制标志,它们就是问题所在。

临时修复(重启后失效)
  • 先卸载/tmp(确保没有进程在使用它):
    umount /tmp
    
  • 重新挂载/tmp并赋予正确权限:
    mount -o rw,exec,dev,suid /tmp
    
  • 现在尝试启动Cassandra:
    systemctl start cassandra
    # 如果不用systemd,就用Cassandra自带启动脚本
    # ./bin/cassandra
    
永久修复(重启后依然生效)
  • 用编辑器打开/etc/fstab文件(比如vi或nano):
    vi /etc/fstab
    
  • 找到/tmp对应的行(可能类似tmpfs /tmp tmpfs defaults,noexec,nodev 0 0),删除noexec和nodev标志,修改后看起来像这样(其他标志可根据系统需求调整):
    tmpfs /tmp tmpfs rw,exec,dev,suid,nosuid,noatime 0 0
    
  • 保存文件后,应用修改:
    mount -a
    
  • 再次用mount | grep /tmp验证,确认输出里有exec和dev标志。

2. 给Netty指定替代临时目录

如果因为安全或政策原因无法修改/tmp的挂载设置,你可以让Netty使用另一个允许执行共享库的目录(比如/var/tmp,默认就有合适的权限):

  • 打开Cassandra的启动脚本(位于安装目录的bin/cassandra),找到JVM参数配置部分,添加以下参数:
    -Dio.netty.native.workdir=/var/tmp/cassandra-netty-tmp
    
  • 创建这个目录,并将所有权设置为运行Cassandra的用户(通常是cassandra):
    mkdir -p /var/tmp/cassandra-netty-tmp
    chown cassandra:cassandra /var/tmp/cassandra-netty-tmp
    
  • 重新启动Cassandra,查看日志确认错误是否消失。

验证修复效果

应用任一修复后,查看Cassandra系统日志(通常在/var/log/cassandra/system.log或安装目录的logs文件夹),确认epoll not available和UnsatisfiedLinkError的提示不再出现。也可以运行以下命令检查节点状态:

nodetool status

如果节点显示为UN(Up/Normal),就说明修复成功啦!

备注:内容来源于stack exchange,提问作者Mahesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 08:09:38