当前位置: 首页 > 知识库问答 >
问题:

如何检查Cassandra是否准备好了

龙越彬
2023-03-14

我有一个在Docker中运行的Cassandra,我想在数据库准备就绪时启动一个CQL脚本。我尝试检查端口以检测它何时就绪:

while ! nc -z localhost 7199; do
    sleep 1
done
echo "Cassandra is ready"
cqlsh -f ./createTables.cql

但是在数据库真正准备好之前就打开了端口,因此cqlsh失败。如何正确检查Cassandra状态并启动脚本?提前道谢。

共有1个答案

张通
2023-03-14

首先,您需要等待另一个端口9042,这是一个由CQLSH使用的端口。

另一种方法也可以是等待sqlsh而不是nc的执行(或者作为第二步,因为nc执行速度要快得多)。例如,您可以使用类似命令的内容:

while ! cqlsh -e 'describe cluster' ; do
    sleep 1
done

等到卡桑德拉准备好...

 类似资料:
  • 我将 Kafka 提交策略设置为最新且缺少前几条消息。如果我在开始将消息发送到输入主题之前先睡20秒,那么一切都按预期工作。我不确定问题是否与消费者需要很长时间进行分区重新平衡有关。有没有办法在开始轮询之前知道消费者是否准备好了?

  • 我如何能够检查root是否真的被授予? 另请注意,如何使用命令存储命令的输出?

  • 我正在检查我的应用程序中是否安装了Google Play,但似乎没有办法。我遵循了这里的帖子,但仍然不起作用,始终返回true即使我使用模拟器进行测试,它已经安装了com.android.vending。那么,我是否检查了错误的包名?有什么想法吗? 提前感谢!

  • 确定Android设备是否在程序上扎根? 如何以编程方式查找根设备?

  • 问题内容: 我正在努力学习在PHP中使用mysqli编写预备语句,通常,如果我对查询有疑问,我只需将其回显到屏幕上,就可以看到第一步。 我如何用准备好的陈述来做到这一点? 替换变量后,我想查看SQL语句。 问题答案: 使用准备好的语句: 准备该语句时,它会发送到MySQL服务器 当您绑定变量+执行语句时,只有变量被发送到MySQL服务器 并且语句+绑定变量在MySQL服务器上执行-无需在每次执行语

  • 我正在为Amazon SNS使用Amazon AWS Ruby SDK,但是我在已经注册的设备上遇到了一些问题。有时,当设备再次注册时,我会收到类似以下错误:AWS::SNS::Errors::InvalidParameter无效参数:令牌原因:endpointarn:AWS:SNS:us-east-1:***已存在,具有相同令牌,但属性不同。。如何检查endpoint是否已经存在,更重要的是,如