执行systemctl start dse超时但服务正常运行的问题求助
DSE服务systemctl启动超时但实际正常运行的问题
问题现象
执行systemctl start dse命令时,systemctl返回超时失败提示,但DSE服务实际已正常启动并加入集群,相关systemd日志如下:
Jan 13 16:39:52 dse1 systemd[1]: Starting LSB: DataStax Enterprise... Jan 13 16:39:52 dse1 dse[23839]: Starting DSE daemon : dse Jan 13 16:39:52 dse1 dse[23839]: DSE daemon starting with only Cassandra enabled (edit /etc/default/dse to enable other features) Jan 13 16:39:52 dse1 su[24145]: (to cassandra) root on none Jan 13 16:39:52 dse1 su[24145]: pam_unix(su:session): session opened for user cassandra(uid=978) by (uid=0) Jan 13 16:39:53 dse1 su[24145]: pam_unix(su:session): session closed for user cassandra Jan 13 16:40:08 dse1 dse[23839]: WARNING: Timed out while waiting for DSE to start. The service may have started though. Please check your logs. Jan 13 16:40:08 dse1 systemd[1]: dse.service: Control process exited, code=exited, status=1/FAILURE Jan 13 16:40:08 dse1 systemd[1]: dse.service: Failed with result 'exit-code'. Jan 13 16:40:08 dse1 systemd[1]: Failed to start LSB: DataStax Enterprise.
直接执行dse start-node可正常启动节点,返回信息如下:
dse start-node Default DSE node: Starting with only Cassandra enabled (edit /etc/default/dse to enable other features) Default DSE node: Starting with PID file /var/run/dse/dse.pid Default DSE node: Starting with heap dump file /var/lib/cassandra/java_1736787699.hprof Default DSE node: Starting with HotSpot error log file /var/lib/cassandra/hs_err_1736787699.log Default DSE node: Starting with STDOUT/ERR file /var/log/cassandra/output.log Default DSE node: Main process PID: 66706 Default DSE node: Received ready signal.
output.log中仅存在无关日志错误:
ERROR in ch.qos.logback.core.joran.action.AppenderRefAction - Could not find an appender named [SparkMasterFileAppender]. ERROR in ch.qos.logback.core.joran.action.AppenderRefAction - Could not find an appender named [SparkWorkerFileAppender].
环境信息
- Oracle Linux 9
- Java版本:
11.0.242024-07-16 LTS - DSE仅启用事务模式
- 测试过多个DSE 6.9.X版本
已尝试方案
- yum干净安装
- OpsCenter干净安装
- 更换不同DSE 6.9.X版本
解决方法
1. 调整DSE启动脚本超时时间
DSE的LSB启动脚本默认超时阈值较短,导致systemd误判启动失败。修改/etc/init.d/dse脚本中的超时配置:
找到代码中的TIMEOUT=15行,将数值调整为更长的时间(比如TIMEOUT=60),保存后重新执行systemctl start dse测试。
2. 替换为systemd原生服务配置
LSB脚本在systemd环境下兼容性有限,建议替换为原生systemd服务文件:
- 创建
/etc/systemd/system/dse.service文件,写入以下内容:
[Unit] Description=DataStax Enterprise After=network.target [Service] User=cassandra Group=cassandra ExecStart=/usr/bin/dse start-node ExecStop=/usr/bin/dse stop-node Restart=on-failure RestartSec=5 TimeoutStartSec=120 [Install] WantedBy=multi-user.target
- 重新加载systemd配置:
systemctl daemon-reload
- 启用并启动服务:
systemctl enable dse systemctl start dse
3. 消除日志配置错误(可选)
日志中的Appender错误不影响服务运行,但可通过修改/etc/dse/logback.xml消除:找到引用SparkMasterFileAppender和SparkWorkerFileAppender的<appender-ref>节点,将其注释或删除(当前未启用Spark组件)。
内容的提问来源于stack exchange,提问作者shsw
相关产品推荐
相关产品推荐

