标签: cassandra-cli

thrift_max_message_length_in_mb无法识别卡桑德拉

我在尝试查询Cassandra 1.2.4中的一行时遇到问题当我尝试使用Cassandra-cli查询行时,我收到此错误:

框架尺寸(75209759)大于最大长度(15728640)!org.apache.thrift.transport.TTransportException:帧大小(75209759)大于最大长度(15728640)!org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:137)org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)

我试图更改Cassandra.yaml中的下一个配置参数:

# Frame size for thrift (maximum field length).
thrift_framed_transport_size_in_mb: 1024

# The max length of a thrift message, including all fields and
# internal thrift overhead.
thrift_max_message_length_in_mb: 1048
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用Cassandra cli查询行时,我得到了同样的错误.

当我在日志中出现cassndra时出现:

INFO 14:48:34,133 Using TFramedTransport with a max frame size of 1073741824 bytes.
 INFO 14:48:34,137 Using synchronous/threadpool thrift server on localhost : 9160
 INFO 14:48:34,137 Listening for thrift clients...
Run Code Online (Sandbox Code Playgroud)

但是在Cassandra cli中没有反映出变化,这是我们使用的版本的问题吗?

谢谢你的帮助

cassandra cassandra-cli

6
推荐指数
1
解决办法
3404
查看次数

卡桑德拉机架概念和数据库结构

我是Cassandra的新手,我想知道Cassandra RACKS.我也对Cassandra结构感到困惑.假设我在Cassandra中拥有AROUND 70列族和两个AWS2实例.

1.how many Data Center will be used.
2.how many nodes each rack will have ?
3.is it possible to divide column family in multiple Key space. 
Run Code Online (Sandbox Code Playgroud)

bigdata cassandra nosql cassandra-cli

6
推荐指数
1
解决办法
5607
查看次数

Cassandra:如何获取进程列表?

卡桑德拉专家您好,

如何获取Cassandra集群中的进程列表(类似于show processlistMySQL的命令)?我很困惑为什么我找不到任何关于这个主题的帖子。

谢谢。

cassandra cassandra-0.7 cassandra-cli cassandra-2.0

6
推荐指数
0
解决办法
2076
查看次数

Cassandra 3.0更新了SSTable格式

根据这个问题,Cassandra的存储格式在3.0中更新.

如果之前我可以使用cassandra-cli来查看SSTable是如何构建的,那就得到这样的结果:

[default@test] list phonelists;
-------------------
RowKey: scott
=> (column=, value=, timestamp=1374684062860000)
=> (column=phonenumbers:bill, value='555-7382', timestamp=1374684062860000)
=> (column=phonenumbers:jane, value='555-8743', timestamp=1374684062860000)
=> (column=phonenumbers:patricia, value='555-4326', timestamp=1374684062860000)
-------------------
RowKey: john
=> (column=, value=, timestamp=1374683971220000)
=> (column=phonenumbers:doug, value='555-1579', timestamp=1374683971220000)
=> (column=phonenumbers:patricia, value='555-4326', timestamp=137468397122
Run Code Online (Sandbox Code Playgroud)

在最新版本的Cassandra中,内部正式会是什么样子?你能提供一个例子吗?

我可以使用什么实用程序以上面列出的方式查看Cassandra中表的内部表示,但是使用新的SSTable格式?

我在互联网上找到的所有内容都是分区标题如何存储列名,行存储聚类值以及没有重复值.

我该怎么看?

storage cassandra cassandra-cli cassandra-2.0 cassandra-3.0

6
推荐指数
1
解决办法
2395
查看次数

在cassandra中动态添加列

我在CQL3中有一个这样的表

create table product_info
(
 key text,
 value text,
 Primary key (key)
);
Run Code Online (Sandbox Code Playgroud)

这是一张垂直的桌子.因为我可以插入带有(键,值)对的新行.

样本数据将是:

产品的详细信息

  key                |     value       
  -------------------------------------------
  product_name       |   sample_product   
  quantity           |   2
  manufacture        |   sample_manufacturer   
  ....                   ....
Run Code Online (Sandbox Code Playgroud)

但我需要的是一个水平表,我可以在不改变表的情况下动态添加列.

产品的详细信息

    product_name     |   quantity   |  manufacture           |  ....
   ------------------------------------------------------------------------------    
    sample_product   |    2         |  sample_manufacturer   |  ....
Run Code Online (Sandbox Code Playgroud)

我需要像上表那样的结构,需要不断添加列.

CQL3提供了一个动态添加列的选项,但在此之前我们需要更改表.

我需要知道是否有任何其他方法允许这样做.

我发现通过使用thrift api是可能的,但由于不再支持thrift,所以不能使用它.

是否有其他API如hector或其他任何支持此功能的API?

我确实经历了类似的堆栈溢出帖子,但我没有得到更好的解决方案.

java thrift cassandra hector cassandra-cli

5
推荐指数
1
解决办法
3567
查看次数

Cassandra 中允许的最大列数是多少

Cassandra 公布了它的技术限制,但没有提到允许的最大列数。是否有最大列数?我需要存储 400 多个字段。这在 Cassandra 中可能吗?

cassandra cassandra-cli

5
推荐指数
2
解决办法
5708
查看次数

Cassandra - 写入不会失败,但不会插入值

我有一个由 3 个 Cassandra 2.0 节点组成的集群。我的应用程序编写了一个测试,尝试将一些数据写入 Cassandra 或从 Cassandra 读取一些数据。一般来说,这工作得很好。

\n\n

好奇的是,在我重新启动计算机后,此测试将失败,因为写入后我读取了之前写入的相同值,并且我得到的是 null 而不是该值,但写入时也不例外。\n如果我手动截断使用的列族,测试将通过。之后我可以按照我想要的频率执行这个测试,它一次又一次地通过。此外,Cassandra 中是否有值并不重要。结果总是一样的。

\n\n

如果我查看 CLI 和 CQL-shell,会发现两种不同的视图:

\n\n

cassandra-cli

\n\n

在此输入图像描述

\n\n

有谁知道出了什么问题吗?CLI中的时间戳在重新执行后更新,所以这似乎是一个读取问题?

\n\n

我的代码的一部分:\n对于我尝试过的插入

\n\n
Insert.Options insert =   QueryBuilder.insertInto(KEYSPACE_NAME,TABLENAME)\n                .value(ID, id)\n                .value(JAHR, zonedDateTime.getYear())\n                .value(MONAT, zonedDateTime.getMonthValue())\n                .value(ZEITPUNKT, date)\n                .value(WERT, entry.getValue())\n                .using(timestamp(System.nanoTime() / 1000));\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n
Insert insert = QueryBuilder.insertInto(KEYSPACE_NAME,TABLENAME)\n                .value(ID, id)\n                .value(JAHR, zonedDateTime.getYear())\n                .value(MONAT, zonedDateTime.getMonthValue())\n                .value(ZEITPUNKT, date)\n                .value(WERT, entry.getValue());\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的选择看起来像

\n\n
Select.Where select = QueryBuilder.select(WERT)\n            .from(KEYSPACE_NAME,TABLENAME)\n            .where(eq(ID, id))\n            .and(eq(JAHR, zonedDateTime.getYear()))\n            .and(eq(MONAT, zonedDateTime.getMonthValue()))\n            .and(eq(ZEITPUNKT, Date.from(instant)));\n
Run Code Online (Sandbox Code Playgroud)\n\n

一致性级别为 QUORUM(两者均适用)和复制因子 …

cql cassandra cassandra-cli datastax-java-driver cassandra-2.0

5
推荐指数
1
解决办法
3872
查看次数

不平衡的卡桑德拉集群

更新 - 短版本:前3个节点(机架1-3)
PropertyFileSnitch cassandra-topology.properties指出只有这些节点在DC1中,而其他节点在DC2中通过指定默认值default=DC2:r1.当通过添加节点4和5来扩展集群时,这些节点的PropertyFileSnitch被配置为在DC1以及机架4和5中添加它们,但是来自前3个节点的snitch保持不变,因此集群在此不一致的状态.

我的问题是这个集群是否可以重新平衡(固定).如果我在修复完成后重新启动完整群集就足够了cassandra-topology.properties吗?
请告知我如何安全地重新平衡群集.

更长的版本:

我是Cassandra的新手,我开始研究已经建成的集群.
我在运行Cassandra 3.0.5版本的不同机架上的同一数据中心有5个节点,带有vnodes num_tokens: 256和一个密钥空间replication = {'class': 'NetworkTopologyStrategy', 'DC1': '3'} AND durable_writes = true.
从历史上看,只有3个节点,并且通过额外的2个节点扩展了集群.我有一个自动修复脚本,可以nodetool repair使用选项运行parallelism: parallel, primary range: false, incremental: true, job threads: 1.

插入大量数据后,问题就开始出现了.在节点4或5上运行修复脚本时,节点2会过载:CPU使用率保持在100%,MutationStage队列增长,GC暂停至少需要1秒,直到Cassandra进程最终死亡.修复结果通常是failed with error Stream failed (progress: 0%).

nodetool status在节点1,2或3上运行命令时,我得到以下输出: nodetool status

但是当cassandra-topology.properties在节点4或5上运行命令时,我得到以下输出: cassandra-topology.properties

在进一步调查之后,似乎在群集扩展后,在节点1,2和3(它们也是此群集的种子)上未更新PropertyFileSnitch default=DC2:r1.

谢谢!

cassandra nodetool cassandra-cli

5
推荐指数
1
解决办法
934
查看次数

找不到合适的python解释器.卡桑德拉

我是一名java开发人员,对Linux和Cassandra来说很新.我正在使用CentOS6.我正在尝试在Linux机器上安装Cassandra3.4.我已经按照这里提到的步骤进行了操作.

看起来Linux机器已经安装了Python.当我尝试python -V 连接到Linux机器的putty 时,我的putty中得到了以下输出.Python 2.6.6 .我假设安装了python.FYKI,我不知道python是如何工作的.

完成安装过程后,我使用以下命令运行cassandra服务./opt/cassandra/bin/cassandra -f -R &.这一切都很好.

现在,问题来了.当我运行时,./cqlsh我得到以下错误.

找不到合适的python解释器.

我做了我的研究并尝试了几个选项,但到目前为止没有任何成果.

  1. 试试1

  2. 试试2

  3. 试试3

  4. 试试4

  5. 试试5

上述链接均不适合我.或者我可能不够聪明.任何帮助将非常感激.谢谢.

cassandra cassandra-cli cassandra-2.0 cassandra-2.1

4
推荐指数
1
解决办法
1万
查看次数

Cassandra cqlsh连接错误:"无法连接到任何服务器",远程不支持.cql_version"3.4.0"

我试图连接到我的远程cassandra数据库cqlsh,

Connection error: ('Unable to connect to any servers', {'XX.XX.XX.XX': ProtocolError("cql_version '3.4.0' is not supported by remote (w/ native protocol). Supported versions: [u'3.2.1']",)})
Run Code Online (Sandbox Code Playgroud)

我从这个链接安装了Planet Cassandra版本3.2.1 .

我运行命令:nodetool version它显示3.2.1版本.

我在这里发现了类似的问题,但这对我没有帮助.

python database remote-access cassandra cassandra-cli

3
推荐指数
1
解决办法
3235
查看次数