rpm包安装systemd启动出错

在arm服务器上,采用rpm包方式安装,systemd启动oceanbase,报错:
oceanbase.service: Can’t convert PID files /home/admin/oceanbase/run/observer.pid O_PATH file descriptor to proper file descriptor: Permission denied

步骤如下:
(1)创建admin用户,赋予sudoer权限后,安装rpm包;
(2)启动数据库服务:systemctl start oceanbase,一直不返回,调用systemctl status oceanbase查看,发现提示上面内容,但实际上数据库已经起来,而且用obclient可以访问。

尝试用root账户进行启动也是同样问题。

请问如何解决?

补充说明:在x86环境下,安装对应版本一致的操作系统和数据库rpm包,
同样操作,可以成功。

arm服务器 你下载noles安装包进行部署试试

试了下载oceanbase-ce-4.3.5.0-100000202024123117.nonlse.el8.aarch64.rpm,还是一样的结果。

有没什么方法可以自定义配置observer.pid到其它目录下?

该报错不影响observer的数据库服务,但影响systemctl的使用。
确认下这个文件是不是存在,存在的话要调整下目录和文件的权限,保证root能访问。不存在就新建下,然后把observer PID写进去

/home/admin/oceanbase/run 从admin开始往下三层目录改为777,root启动后还是一样

这个问题估计是在openEuler22.03-SP4 Arm环境下,systemd默认被限制访问home目录导致。

做以下尝试,可以成功由systemd管理:
(1)安装rpm后,mv /home/admin/oceanbase/* /opt/oceanbase
(2)修改oceanbase.service文件的对应目录;
(3)修改安装脚本oceanbase-service.sh的默认安装路径;
(4)systemctl start oceanbase就可以成功了。

能否优化下rpm的安装,避免使用home目录?

感谢分享问题处理思路方法,安装避开home目录这个我去咨询下,目前应该是暂无优化

还有一种做法,关闭selinux也是可以在home目录下安装。
这样systemd就可以访问/home/admin的目录了。