首页 > 解决方案 > 从 Scala 运行 cqlsh 脚本

问题描述

我正在尝试从我的应用程序中执行一个 .cql 脚本,该脚本是用 Scala 编写的。如果我登录 Cassandra,它确实可以工作,但是当我尝试自动化任务时它会失败。这是我到目前为止得到的:

    def executeScript(path: String, user: String, password: String, host: String): Unit = {

    val command = s"cqlsh -f $path -u '$user' -p '$password' $host;"

    val execution = command.!
}

这是一个例外:

Traceback (most recent call last):
  File "/usr/bin/cqlsh.py", line 2434, in <module>
    main(*read_options(sys.argv[1:], os.environ))
  File "/usr/bin/cqlsh.py", line 2413, in main
    encoding=options.encoding)
  File "/usr/bin/cqlsh.py", line 479, in __init__
    load_balancing_policy=WhiteListRoundRobinPolicy([self.hostname]),
  File "/usr/share/cassandra/lib/cassandra-driver-internal-only-3.10.zip/cassandra-driver-3.10/cassandra/policies.py", line 417, in __init__
socket.gaierror: [Errno -2] Name or service not known

由于它在 Cassandra 中工作,我不知道要改变什么。任何帮助,将不胜感激。

标签: scalacassandracqlsh

解决方案


问题出在;最后的字符中-只需在之后将其删除$host,否则它将作为主机名的一部分传递


推荐阅读