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

cassandra-压力2.1.2 windows yaml文件路径非法字符

谢璞
2023-03-14

我已经下载了Cassandra社区版2.1.2(我知道它是目前最新的开发版本,因此可能不稳定)。原因是cassandra压力工具的新版本,它支持基于YAML的配置,可以在我想要的密钥空间上运行该工具,而不是当前稳定版本中的硬编码“Keyspace1”。

在Windows 7机器上,当尝试通过命令行运行cassandra压力并指定YAML文件的路径时,它总是由于以“C:\”开头的路径中的“:”字符而出错

C:\Program Files\DataStax Community\apache-cassandra\tools\bin>cassandra-stress user profile=../cqlstress-musicdb.yaml ops(insert=1)

输出是

Illegal character in path at index 10: file:///C:\Program Files\DataStax Community\apache-cassandra\tools\bin\cqlstress-musicdb.yaml

我尝试了不同的选项来指定路径

  • 给出绝对路径
  • 在双引号和单引号中给出绝对路径
  • 在同一文件夹中复制 YAML,只需指定文件名
  • 在没有空格的路径中复制 YAML,因为当使用单引号空格时,会出现问题
  • 使用反斜杠转义 “:”
  • 从一开始就忽略“C:”,直接通过“/”开始无极路径
  • 尝试了卡桑德拉附带的不同样本YAML文件

作为下一步,我计划下载源代码并检查那里发生了什么,或者如果我能够在我的组织中获得一个,请在一些linux机器上尝试一下,但只是想把这个问题放在任何人都可以帮忙。

谢谢

共有2个答案

郭修平
2023-03-14

此问题仍然存在于Windows版Datastax Community edition的2.1.5版中。堆栈安装在e:\cassandra下,但仍然失败:-(。注意,没有记录的是,您需要使用如下语法给出完整路径:

文件:///c:/temp/cqlstress-example.yaml

另一个残酷的黑客是设置一个本地apache服务器,将你的yaml文件放在那里,并使用配置文件路径从服务器提供,如下所示

bin\cassandra-压力用户配置文件=http://localhost/sample.yaml操作(插入=1)

段干麒
2023-03-14

我不知道到底发生了什么,但它确实像一个新的cassandra-stress在Windows上的配置文件路径上有这样的问题。

我能够完成以下工作:

首先,将 .yaml 文件复制到不带空格的路径(如 c:\temp)

然后,使用“file:///”前缀运行压力命令,如下所示

C:\>cd "Program Files\DataStax Community\apache-cassandra\tools"
C:\Program Files\DataStax Community\apache-cassandra\tools>bin\cassandra-stress user profile=file:///c:/temp/cqlstress-example.yaml ops(insert=1)

在Windows上,如果你安装到一个像< code>c:\cassandra这样的路径,而不是默认的Program Files下,你可能会容易一些。(避免目录名中的所有空格。)

 类似资料:
  • 本文向大家介绍C#中文件名或文件路径非法字符判断方法,包括了C#中文件名或文件路径非法字符判断方法的使用技巧和注意事项,需要的朋友参考一下 文件路径或者保存模板出现非法字符判断 1)不为空判断 2)然后对strTemplateName 进行非法字符判断 3)path 引用系统的io 动态库即可。

  • 问题内容: 我有一个具有以下路径的文件:D:/ bar / kuレイジー・ヒッツ!/foo.abc 我正在解析XML文件中的路径,并将其存储在以形式调用的变量中, 然后执行以下操作: 错误是: 更新1:我在Windows 7上使用Python 2.7 问题答案: 您的错误路径为: 我认为这是文件名的UTF8编码版本。 我在Windows7上创建了一个同名文件夹,并在其中放置了一个名为“ abc.t

  • 我想知道是否有可能使用来运行一组预定义的查询而不是随机读取。 例如,假设我有一个带有表的keyspace 此表中的数据是从文件加载的,而不是使用压力工具 现在我想用一组预定义的查询来运行,例如 < code > SELECT * FROM log WHERE log _ severity = " WARN "; 我看到该工具有一个<code>--use prepared语句</code>选项,但我

  • 问题内容: 我在RAD中收到以下错误: 您能否让我知道错误是什么以及如何解决? 问题答案: 索引16处有一个非法字符。我想说它不喜欢路径中的空格。您可以百分比编码特殊字符,例如空格。在这种情况下,将其替换为%20。 我上面链接的问题建议使用URLEncoder:

  • 问题内容: 例如,我要压缩存储在/Users/me/Desktop/image.jpg中的文件 我做了这个方法: 但是,当我提取文件时,解压缩的文件具有完整路径。 我不希望zip中每个文件的完整路径,而只想要文件名。 我该怎么做? 问题答案: 这里: 您正在使用整个路径为该文件创建条目。如果仅使用名称(不带路径),则将具有所需的内容:

  • 我已通过设置以下内容将PowerShell添加到上下文菜单: 这工作得很好,除了我出色地命名为的文件夹。它失败了: 从文档: 指定位置的路径。LiteralPath参数的值的使用方式与键入的完全相同。没有字符被解释为通配符。如果路径包含转义字符,请用单引号将其括起来。单引号告诉PowerShell不要将任何字符解释为转义序列。 我是否可以选择使用,希望我的目录名称中没有可能的通配符?或者可以在中转