问题标签 [cassandra-3.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cassandra - Cassandra:查找分区键
我们目前正在使用下表模式测试 Cassandra:
为了我们的测试目的,我们编写了一个 python 脚本来随机化 2016 年日历中的数据(总共 12 个月),我们希望我们的分区键是d_tally列,同时我们希望我们的键数是 12 (从“2016-01”到“2016-12”)。
运行 nodetool cfstats 向我们展示了以下内容:
令我们困惑的是“键数(估计):24”部分。查看我们的架构并假设我们的测试数据(超过 500 万次写入)仅由 2016 年的数据组成,那么 24 个键的估计值来自哪里?
这是我们的数据示例:
cassandra - Cassandra 数据从 1.2 迁移到 3.0.2
我知道以前有人问过类似的问题,但我认为我的用例非常具体,我找不到任何答案。
在生产中,我们在 6 节点集群中使用 Cassandra 1.2 和 ByteOrderPartitioner,Priam 作为种子管理工具。我们最近升级了所有依赖项,并尝试使用 Murmur Partitioner 迁移到 Cassandra 3.0.2,为了向后兼容,我们需要在新集群上启用 thrift。此外,我们还想从 Priam 迁移。我能够设置新的集群,但在数据迁移过程中遇到了很多问题。我尝试了 3 件事:
1)使用复制命令:行数很大时失败
2) SSTable2Json : Cassandra 3.0.2 已停止支持 SSTable2Json
3)SSTableloader:我认为失败是因为源和目标的cassandra版本不同
java.lang.RuntimeException:无法检索端点范围:在 org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader. java:119) at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:67) 原因:org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result.read(Cassandra .java:37849) 在 org.apache.cassandra.thrift.Cassandra$Client.recv_execute_cql3_query(Cassandra.java:1562) 在 org.apache.cassandra 的 org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)。 thrift.Cassandra$Client.execute_cql3_query(Cassandra.java:1547) at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:225) ... 还有 2 个
现在我有点卡住了,对此的任何帮助将不胜感激。如果您需要更多详细信息,请告诉我。
cassandra - 为什么创建表需要这么长时间?
我正在创建以下架构:
当我运行该语句时,似乎前几列处理得很快,但是当它移动到计数器列时,每列的速度越来越慢。
我已将此语句运行 5 分钟,但仍未完成。
任何人都可以对这种行为提供一些见解吗?
这就是 CQLSH 在创建表时的样子,截屏时它已经有 20 分钟左右没有进行。
我只是将创建表命令放在一行中,它立即生效。
java - 卡桑德拉数据库。com.datastax.driver.core.exceptions.InvalidQueryException:未配置的表人
您好,我是 Cassandra 的新手,所以我只是想从我的 java 代码中执行 select 查询,但是我得到了一个异常,即该表不存在(但它存在。检查上面的链接)。请帮助我找出可能导致此问题的原因。先感谢您。
cassandra - Cassandra SSTableLoader 字段不是此元数据中的列
我最近升级到 cassandra 3.3 版。我有一个程序可以读取 CSV 文件并使用 CQLSSTableWriter 生成 SSTable 文件。生成这些 SSTable 文件后,我使用 SSTableLoader 程序将文件流式传输到 cassandra 集群。我编写的程序使用以下 Maven 依赖项:
我一直在使用 Datastax 的 3.3 版 cassandra 发行版,并且将 SSTables 从我的机器批量加载到 cassandra 集群已经成功。但是最近我开始使用另一个名为“Stratio Cassandra”的 cassandra 发行版,它支持 Lucene 索引。
在机器上设置了 stratio cassandra 之后,我尝试将 SSTables 批量加载到 stratio cassandra 集群(使用 Datastax 目录中的 sstableloader.bat 程序(例如 C:\Program Files\DataStax-DDC\apache-cassandra\bin))。但是我收到以下消息:
我的表和我的 Java 代码没有对名为“flags”的列的任何引用,因此我不知道它为什么会产生这个错误。
我采用的另一种方法是使用来自 stratio-cassandra 发行版的 sstableloader.bat 程序。但是我收到另一条错误消息:
所以总而言之,我可以成功地将数据批量加载到 Cassandra 3.3 的 Datastax 发行版中,但是我不能将批量加载 SSTables 的相同过程应用于 cassandra 的另一个发行版 - 即:Stratio。
我以前没有遇到过这个问题,关于这个问题的文章也很有限。
如果有人能指出我为我提供任何解决方案以尝试或指出我如何成功地将 SSTables 加载到 Stratio cassandra 的正确方向,我将不胜感激。
非常感谢,
cassandra - Cassandra 3.3 - 通过 cqlsh 进行远程连接
我在尝试从网络中的另一台机器远程连接到 Centos 7 上的 Cassandra 3.3.0 时遇到了一些问题。尝试通过连接时返回“超时”错误
与:
在我看来,我已经cassandra.yaml
正确配置了文件,因为当我尝试使用活动的 Cassandra 实例连接到本地运行的 VM (Ubuntu) 时它工作正常。
当我检查通过 绑定的 IP 和端口时netstat -lnt
,它正在返回
实际上是唯一绑定到 tcp6 的。192.168.1.56:9160
必然tcp
。
在 Ubuntu 上运行,它返回相同的绑定到tcp
. 所以故障与这一点有关,我猜。
一些背景事实:
- 我以 root 身份运行 Cassandra。服务器和客户端都在运行 cqlsh 5.0.1、CQL 规范 3.4.0 和 Cassandra 3.3.0。蟒蛇 2.7.5。
192.168.1.56
可以毫无问题地访问 VM 。防火墙已停用,我什至尝试停用并重新激活 IPv6。我尝试了不同的组合配置cassandra.yaml
——例如直接使用接口而不是其 IP,但结果没有变化。
到目前为止,我的所有研究都没有成功。有人有想法吗?!
cassandra-3.0 - CCM 将节点添加到集群 - ccmlib.node.TimeoutError 20 Mar 2016 05:22:05 [n1] Missing: ['127.0.1.2.* now UP']:
我试图在已经有一个节点的集群中添加一个新节点,得到与landim相同的错误
开始:n2 与 pid:3004 Traceback(最近一次调用最后):
文件“E:\Studies\Cassandra\ccm\ccm-master\ccm.py”,第 74 行,在 cmd.run() 文件“E:\Studies\Cassandra\ccm\ccm-master\ccmlib\cmds\node_cmds. py”,第 206 行,运行中 allow_root=self.options.allow_root) 文件“E:\Studies\Cassandra\ccm\ccm-master\ccmlib\node.py”,第 597 行,开始 node.watch_log_for_alive(self, from_mark =mark) 文件 "E:\Studies\Cassandra\ccm\ccm-master\ccmlib\node.py",第 449 行,在 watch_log_for_alive self.watch_log_for(tofind, from_mark=from_mark, timeout=timeout, filename=filename) File " E:\Studies\Cassandra\ccm\ccm-master\ccmlib\node.py",第 417 行,在 watch_log_for raise TimeoutError(time.strftime("%d %b %Y %H:%M:%S", time .gmtime()) + " [" + self.name + "] 缺失:" + str([e.在 tofind 中 e 的模式]) + ":\n" + reads[:50] + ".....\n参见 {} 获取余数".format(filename))ccmlib.node.TimeoutError:2016 年 3 月 20 日 05:22:05 [n1] 缺失:['127.0.1.2.* now UP']:..... 其余部分请参见 system.log
我在 node2(n2) 日志目录上看不到任何 system.log 文件。我不确定上述错误日志的方式和位置!!!
注意: ccm populate -n 效果很好。为 ccm 添加引发错误。
Windows 10 上的 CCM。C* 版本:3.0.3
cassandra - Cassandra 不支持在索引列上删除
假设我有一个具有以下架构的 cassandra 表 xyz :
我在列 fileid , sid 上创建索引:
我插入数据:
我想使用索引列删除数据:
为什么我会收到此错误?
是否必须在 where 子句中为删除查询指定主键?
Cassandra 是否支持使用二级索引 s 进行删除?
使用二级索引删除数据需要做什么?
任何可以帮助的建议。
我正在使用 Data Stax Community Cassandra 2.1.8,但我也想知道 Data Stax Community Cassandra 3.2.1 是否支持使用索引列删除
谢谢
cassandra - 从 WSO2 和 JDBC 连接到 Cassandra 3.0.3
我正在尝试从 Wso2 ESB 和 wso2 DSS 连接到 Cassandra DB,这两种方法都会出现相同的错误。
1) 方法一:从 WSO2 ESB 连接到 Cassandra
我们正在尝试从 Wso2 ESB 4.9 连接 Cassandra DB 3.0.3
下面是复制到 components/lib 文件夹的 jar。
(jar 列表) 在 master-datasource.xml 下面是添加的配置。
2)方法2:从WSO2 DSS连接到Cassandra
我们正在尝试从 Wso2 DSS 3.5.0 连接 Cassandra DB 下面是复制到 components/lib 文件夹的 jar。
创建数据服务并添加以下数据源是相同的配置:
在上面的配置中,“sample”是在 Cassandra 中创建的键空间。在这两种情况下,即1和 [2] 都面临相同的以下错误。你能建议解决这个问题吗?
java - Cassandra com.datastax.driver.core.exceptions.NoHostAvailableException
我一直在努力让 Cassandra 工作。它适用于小型测试,但一旦我扩展它就可以工作一段时间但随后失败。加载数据没有问题,但是在查询数据库时会失败。如前所述,它在一段时间内运行良好,然后显示以下消息。
版本
Cassandra 3.0,使用java驱动3.0.0
通用设置
4 个专用的本地 linux 集群,用于使用默认 MAX_HEAP_MEMORY 进行测试
会话和集群创建
TABLE CREATION -> 这工作正常表被正确创建和加载
session.execute(查询);
查询
关闭
Session 和 Cluster 只在应用程序结束时关闭一次
系统日志
节点 1
节点 2