gpt4 book ai didi

java - Ceph:通过 java 连接时 EAccess 被拒绝

转载 作者:行者123 更新时间:2023-12-02 02:49:06 24 4
gpt4 key购买 nike

我正在使用下面的代码与 Ceph 集群对话并获取即使管理员用户拥有所有权限,EAccess 仍拒绝异常*。有解决这个问题的指示吗?我正在 docker 中运行集群。

管理员权限:

client.admin
key: AQDVsTJdeF0KExAAd58npeDpnJsXQZwfUBAPMA==
auid: 0
caps: [mds] allow
caps: [mgr] allow *
caps: [mon] allow *
caps: [osd] allow *

异常(exception):

Failed to connect to the Ceph cluster; EACCES: Permission denied (-13): com.ceph.rados.exceptions.RadosException: Failed to connect to the Ceph cluster; EACCES: Permission denied (-13) com.ceph.rados.exceptions.RadosException: Failed to connect to the Ceph cluster; EACCES: Permission denied (-13) at com.ceph.rados.RadosBase.throwException(RadosBase.java:94) at com.ceph.rados.RadosBase.handleReturnCode(RadosBase.java:50) at com.ceph.rados.Rados.connect(Rados.java:160) at com.example.demo.CephClient.main(CephClient.java:20)

代码:

Rados cluster = new Rados("admin");
System.out.println("Created cluster handle.");

File f = new File("/etc/ceph/ceph.conf");
cluster.confReadFile(f);
System.out.println("Read the configuration file.");

cluster.connect();
System.out.println("Connected to the cluster.");

ceph.conf

mon initial members = VirtualBox
mon host = xxx.xxx.x.xxxx
public network = xxx.xxx.xxx.xxx/xx
cluster network = xxx.xxx.xxx.xxx/xx
osd journal size = 100
log file = /dev/null
keyring = /etc/ceph/ceph.client.admin.keyring

最佳答案

问题是 ceph.client.admin.keyring 文件权限属于 ceph 用户。我以 root 身份运行应用程序,这就是为什么出现权限被拒绝异常的原因。

将文件权限更改为root后。它起作用了。

     sudo chown root:root filepath

关于java - Ceph:通过 java 连接时 EAccess 被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57122327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com