我想生成唯一的TimeUUID值,在下一步中,这些值将作为密钥存储在Cassandra中。正如我在com.eaio包中签出的TimeUUID的创建是线程安全的,这很好,但我的应用程序将部署到集群中。那又怎样?我需要一些同步创建TimeUUID的功能。我只看到一个解决方案:创建一个简单的应用程序,它将通过JMS/RMI为generator方法提供服务
有什么意见/想法吗
问候
TomUUID被设计为跨多台机器生成,无需冲突或协调。TimeUUID(也称为v1 UUID)应该是机器的MAC地址和时间
下面的CQL查询导致一个错误,即
使用equals运算符的by columns子句中不存在索引列
请注意,age列已被二级索引
从年龄>25岁的员工中选择*
然而,我有另一个二级索引列type。所以当我用它的时候
从type='engineer'和年龄>25岁的员工中选择*
我似乎得到了适当的结果
这是怎么发生的?Cassandra内置的二级索引更像是散列式索引,而不是B树
同样地,至少需要一个相等比较来有效地执行查找(任何额外的列谓词都会导致相等匹配的后期筛选)
请尝试以下wiki页面,了
我正在尝试在我的计算机上手动安装reddit;使用指南。我在尝试设置卡桑德拉时遇到了一个错误
安装指南说明:
$ cassandra-cli -h localhost
[default@unknown] create keyspace reddit with strategy_options = [{replication_factor:1}];
[default@unknown] use reddit;
[default@unknown] create colu
我正在使用cassandra和astyanax开发一个博客。当然,这只是一个练习
我以这种方式对CF_POST_INFO列族进行了建模:
private static class PostAttribute {
@Component(ordinal = 0)
UUID postId;
@Component(ordinal = 1)
String category;
@Component
String name;
public Pos
该示例可包括:
创建键空间和列族
插入数据
选择/获取数据并在控制台中显示
因为我发现这对我来说很难谢谢你的关注,我明白了
但我还需要一个cassandra的文件读写示例(可能正在使用datastax?我还需要一个cassandra的文件读写示例(可能正在使用datastax?),谢谢
我不熟悉CQL和复合密钥(我以前使用CLI)
我希望用复合键实现我的旧超级列族。
简而言之,我的查找模型是:
blocks[file_id][position][block_id]=size
我有以下带有复合键的CQL表:
CREATE TABLE blocks (
file_id text,
start_position bigint,
block_id text,
size bigint,
PRIMARY KEY (file_id, start_position,block_id
我想在Cassandra中执行一个查询,它需要来自两列族的数据。在sql中,我们是通过外键和连接来实现的,但在Cassandra中,这些概念没有定义。所以我想对Cassandra中的两个列族进行反规范化,但我不知道怎么做。
有人能帮我吗?
谢谢。表示根据多个表的结果创建一个表
在您的示例中,有以下两个表:
Station (IDStation primary key, code, name, location, supervisor, citycode);
Information (IDInf
我不熟悉使用astyanax连接cassandra(1.2.8)。
我从[https://github.com/Netflix/astyanax]卡桑德拉来自[http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.2.8/apache-卡桑德拉-1.2.8-bin.tar.gz]。一切都是根据指令安装/构建的,并保留默认设置(如conf/cassandra.yaml)。现在我尝试运行示例代码[https://github.com/Netfl
标签: Cassandra
datastax-enterprisedatastaxopscenter
我正在尝试用5个节点设置cassandra群集。我已经在所有节点上安装了dse,并通过命令在所有节点上启动了dse
sudo服务dse启动
dse在所有节点上运行良好
现在,我正在尝试配置OpSceneter
当我执行“sudo service opscenterd start”时,它启动时没有任何问题,甚至日志也没有显示任何问题
但是当我尝试做“netstat-a | grep8888”时,它没有显示任何侦听器
有人能帮我确定问题吗
谢谢,
Jenish我首先要弄清楚这项服务是否真的启动了。当
警告[ScheduledTasks:1]2013-11-04 22:51:06619 GCInspector.java(第行
142)堆已满0.892615008651467。您可能需要减少memtable
和/或缓存大小。卡桑德拉现在将冲向最大的两个
memtables以释放内存。调整平齐位置
如果您不希望cassandra这样做,请在cassandra.yaml中设置阈值
自动地
警告[ScheduledTasks:1]2013-11-04 22:51:06633
StorageServic
标签: Cassandra
cqlcql3object-object-mappingcqlengine
我正试图用运行在CherryPy上的web应用程序来连接。尽管对查询非常清楚,但我仍然不知道如何对cassandra数据库中的现有表(和现有键空间)进行查询。例如,我已经有了这个包含标题、评级、年份字段的表。我想进行CQL查询
SELECT * FROM Movies
在与建立连接后,如何继续执行查询
from cqlengine import connection
connection.setup(['127.0.0.1:9160'])
KEYSPACE称为“TEST1”。实现这一点最直接
我有一个5节点的Cassandra 2.0.7集群,每个节点有4个HDD。最近,node3上的一个硬盘出现了故障,被一个新的闪亮的空硬盘取代。更换后,此节点上的cassandra无法启动,出现以下异常:
INFO [main] 2014-06-02 12:45:17,232 ColumnFamilyStore.java (line 254) Initializing system.paxos
INFO [main] 2014-06-02 12:45:17,236 ColumnFamilySt
我们有一个由3个cassandra节点组成的集群。所有节点都工作正常,但获取结果的速度非常慢。我在cql shell中运行SELECT-查询以获取约100k行,在开始向我显示第一个结果之前,预热可能需要30秒
为什么会发生?有没有办法加快速度
以下是跟踪日志:
activity
我已经安装了DataStax OpsCenter(Apache Cassandra),在OpsCenter中,出现了一个错误:“连接了1个代理中的0个”。当我单击“修复”,输入凭据并尝试安装节点时,出现错误:
无法通过SSH连接到某些主机
无法SSH到127.0.0.1:
未定义全局名称“get_output”
有人知道如何解决这个问题吗?我用来自的指令解决了这个问题
原因是OpsCenter找不到正确的cassandra配置文件(cassandra.yaml)
在我的例子中,我将cassand
为了进行测试,我在本地系统上安装了ApacheCassandra。使用1个系统(1个节点),我能够在数据库中进行读/写和查询。我添加了另一个节点并创建了一个集群。现在,我在系统上写入的数据会复制到其他节点上,反之亦然,但在添加新节点之前存在于系统上的数据不会被复制。虽然键空间和表存在于新节点上,但它们是空的。将新节点添加到集群时是否出错?我最好的猜测是您已关闭自动引导功能(默认情况下它处于打开状态)。从文件中:
自动引导
(默认值:true)此设置已从默认配置中删除。它使新的(非种子)节点自动将
我正在尝试使用cqlsh在Cassandra上创建一个简单的表。语法是:
CREATE TABLE TEST(
timestamp timestamp,
system_id text,
hostname text,
cpu_pct float,
memory_used bigint,
PRIMARY_KEY(system_id, timestamp)
);
创建表测试(
时间戳时间戳,
系统i
我使用cassandra压力工具来评估我的cassandra集群已经有相当一段时间了
我的问题是我无法理解为我的特定用例生成的结果
我的模式如下所示:
CREATE TABLE Table_test(
ID uuid,
Time timestamp,
Value double,
Date timestamp,
PRIMARY KEY ((ID,Date), Time)
) WITH COMPACT STORAGE;
我已在自定义yam
在CQL脚本中使用CQL命令时,是否有方法在CQL命令中传递变量,如:
select * from "Column Family Name" where "ColumnName"='A variable which takes different values';
欢迎任何建议。不,CQL确实没有办法定义变量、运行循环以及基于这些变量进行更新/查询
作为一种替代方法,我通常将用于这样的简单任务/脚本。下面是我不久前使用的一个Python脚本的摘录,该脚本用于从CSV文件填充产品颜色
#连接到卡
我根据上的文档启动了一个6节点集群。一切正常。它是一个6节点的集群——我可以看到6个节点在EC dashborad上工作。我可以看到OpsWork正在节点0上工作。但是节点没有看到彼此。。。我无法通过浏览器访问OpsWork,但我可以通过ssh连接到每个节点并验证cassandra是否正常工作
我需要做什么才能让他们加入集群。请注意,它们都位于同一VPC中,同一子网位于同一IP范围内,具有相同的群集名称。所有应用程序都是使用文档中指定的AMI启动的
非常感谢您的帮助。希望您的侦听地址已配置。将a
如何将columnfamily从一个cassandra群集复制到另一个群集
情景:
对于源集群和目标集群、端口、键空间名称和列族名称,我只有主机的IPU。
我已经在目标集群中创建了元数据,只有数据需要复制。
最优先的是,我希望在单个/多个spark作业中完成这项工作,中间创建数据帧,然后使用spark cassandra连接器JAVA API保存它。
使用datastax的cassandra java驱动程序,优先进行调节。
至少优先使用cassandra jdbc驱动程序和spark cass
我们的集群中有三个节点,复制因子为三。由于磁盘问题丢失了一个。来自此节点的备份文件也已损坏
我正在考虑这些选择:
将一个新节点连接到现有的两个节点,并让它跟上。这将非常缓慢,因为大约有1TB的数据
将所有sstable数据从另一个节点复制到新节点,并将其添加为第三个节点。因为每个节点都有所有的数据,所以希望这应该是超高速的
选项二会起作用,还是会引起其他问题?还有其他选择吗
我们正在运行Cassandra版本1.1.10。我没有使用1.1,但选项2应该可以工作。确保为新主机使用相同的initia
我创建了一个表,其中一列包含hypen
create table word ( name text,"all-category" text,primary key(name));
我可以成功地做到这一点
desc schema;
CREATE KEYSPACE demo WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
CREATE TA
我正在Windows机器上使用DataStax Cassandra服务
为了浏览JMX Cassandra度量,我选择了名为Jolokia()的JMX到HTTP工具
这就是我为了让jolokia探员和Cassandra联系在一起所做的:
将jolokia-jvm-agent.jar放在C:\Program Files\DataStax Community\apache cassandra\lib文件夹中
将以下命令放在cassandra-env.ps1文件(C:\Program Files\Da
我需要使用where子句运行select查询,其中字段为timestamp数据类型
在scheme中,提交日期的数据类型是timestamp
"SUBMIT_DATE" timestamp,
select "SUBMIT_DATE" from "MESSAGES_2016_02_18";
SUBMIT_DATE
--------------------------
2016-02-18 16:26:14+0530
(1 rows)
但是当我尝试的时候
select * from "M
如果我今天开始一个项目,我能为Cassandra使用的最好的Java驱动程序是什么 奇怪的问题,只有一个官方Java驱动程序:
这并不是说你有十几个选择…奇怪的问题,只有一个官方Java驱动程序:
这并不是说你有十几种选择…我们正在使用。它提供了我们需要的所有功能。我们正在使用。它提供了我们需要的所有功能。唯一的官方Java驱动程序来自datastax,它有cassandra的社区版和企业版
但是,它也有datastax提供的对象映射器,它可以将您的表映射到pojo类,在某种程度上,就像您在h
环境:
RF=3,一致性级别=本地仲裁
集群中有大量的数据,需要花费很长时间来引导一个新节点。
有时新节点必须加入集群,
所以我想减少时间。我想出了一个解决问题的办法
在引导节点时,将“来自旧节点的流数据”阶段与引导阶段分离。
将节点加入令牌环,新节点负责范围密钥,可以服务新的写请求,状态为“UN”,而不是“UJ”。
并将“来自旧节点的数据流”作为后台任务,或使用启用/禁用数据流开关。如果客户端请求旧数据,因为还有另外两个复制,因此,即使新节点不提供其负责的数据也没有问题。一些更好的格式或语法可
我正在Windows中编写一个python脚本,它接收一个cassandra.yaml文件,编写一个具有不同值的新文件,然后将该文件复制到linux服务器。但是,在启动cassandra时,我从linux服务器上收到以下错误:
ERROR 00:53:03 Exception encountered during startup
org.apache.cassandra.exceptions.ConfigurationException: Invalid yaml. Please remove
标签: Cassandra
datastaxdatastax-enterprisecqlsh
cassandra cql外壳窗口在windows中安装后消失?
这是使用cassandra星球上可用的MSI安装程序安装的
为什么会发生这种情况?请帮帮我
提前感谢。我对DataStax 3.9也有同样的问题。我是这样分类的:
步骤1:打开文件:DataStax DDC\apache cassandra\conf\cassandra.yaml
步骤2:取消对cdc_raw_目录的注释,并将新值设置为(对于windows)
cdc_raw_目录:“C:/Program Files/DataSta
我正在读这篇文章:
我有下面的函数和聚合
CREATE OR REPLACE FUNCTION group_data( state Map<text, int>, type text )
CALLED ON NULL INPUT
RETURNS Map<text, int>
LANGUAGE java AS '
Integer count = (Integer) state.get(type); if (count == null) count = 1; else co
我们支持多租户。将客户id作为分区键或集群列的一部分是否更好
将客户id作为分区密钥的一部分将确保一个客户的数据不能被另一个客户查看
将客户id作为集群列的一部分,开发人员必须确保客户id是where子句的一部分。也占用了更多的空间
有一种方法比另一种更好吗?
这将对时间序列数据产生影响,因为数据将按客户id进行分区,并且访问所有客户的超级用户将无法正确查看时间序列数据
谢谢将客户id作为分区密钥的一部分。您需要这样做,以确保每个客户的数据都存储在一起
但是,请确保customer_id不是唯一
我有一个表#1,它有一个列来表示州值IL,TX,CA。还有一个表(表#2),它有一个州描述的映射,如(伊利诺伊州IL,德克萨斯州TX,德克萨斯州CA,加利福尼亚州)。我想在表#1中添加一个新的列StateDescription,并根据表#2中相应状态字段的StateDescription更新该值。
大约5亿条记录需要这样做。处理相同问题的最佳方法是什么 添加包含cassandra驱动程序的任何语言的column+write脚本,并根据您描述的逻辑更新每一行。您可以在部分数据上实现并行执行,以获得
我正在探索在Cassandra之上的ApacheIgnite作为一种可能的工具,以便能够在Cassandra表上提供特别的查询。是用点火器吗
是否可以搜索或查询基础cassandra表中的任何列,如RDBMS?或者可以连接列并进行搜索
列只能是分区列和群集列
如果使用Ignite,是否仍需要在cassandra上创建索引?ignite如何处理物化视图?有必要吗
要创建物化视图
此外,任何关于Ignite如何处理cassandra版本更新的见解都将非常有用
我将进一步阐述我的问题:
Custome
我有这个模式
CREATE TABLE IF NOT EXISTS "blog" (
blog_id INT,
post_id INT,
body TEXT,
PRIMARY KEY (blog_id,post_id)
)WITH CLUSTERING ORDER BY (post_id DESC);
我想按post_id获得blog_id的排序列表,这意味着如果我在(1,2,3,4,5,6,7,8,9,10)中有blog_id,
我在docker中安装了Cassandra,我可以对其运行cql查询,我还可以通过node.js应用程序连接到它,但我刚刚安装的Datastax DevCenter应用程序(用于Mac)无法连接(见图)
请删除“”作为联系人主机的一部分。仅127.0.0.1就足够了 请删除“”作为联系人主机的一部分。仅127.0.0.1就足够了 不幸的是,我仍然无法连接后,编辑:nvm它的工作!不幸的是,我仍然无法连接后,编辑:nvm它的工作!你现在的错误是什么?你现在的错误是什么?
有人知道如何在Mac上安装DataStax DevCenter吗
我正在学习一门NoSQL课程,在那里我们被要求安装Cassandra。所有windows用户都安装了Cassandra和DevCenter。我确实使用自制软件在我的计算机上安装了Cassandra,但我在运行cqlch命令时遇到问题,因为找不到文件路径。我在想,若我可以安装DataStax DevCenter,那个么运行该命令会更容易。有人能给我建议吗
关于我收到的path not found错误消息,下面是我遇到的一个示例:
c
我有一个Cassandra DB和一个键空间,其中包含一些我不想重复的表。
我知道,卡桑德拉的一个关键特性是复制,但我不想复制
我有3个数据中心:dc1、dc2、dc3
目前,我正在每个DC上创建如下键空间:
CREATE KEYSPACE IF NOT EXISTS myKeyspace
WITH replication={'class':'NetworkTopologyStrategy', 'dc1': '1'};
据我所知,这意味着dc1将复制到其他三个DC中的一个?
如果我不想复
我们有一个6节点群集,运行:
卡桑德拉3.11.0.1900
DSE 5.1.5
Ubuntu 16.04.4 LTS
java-1.8.0-openjdk-amd64
其中一个节点死亡,并在syslog中显示以下消息:
[1770962.274743]内存不足:终止进程49468(java)得分893或
牺牲子进程[1770962.299330]杀死进程49468(java)
总虚拟机:1156754248kB,非rss:46906424kB,文件rss:17687143KB
在节点上禁用
我知道cqlsh有uuid()函数,我可以使用cqlsh进行插入。但我想在客户端不生成uuid的情况下进行插入(或从带有驱动程序的应用程序创建数据)。您可以在cqlsh之外的查询中使用uuid(),这将在协调器上生成它们。您不需要指定它们,即:
session.execute("INSERT INTO blah (id, value) VALUES (now(), 'bob')");
# id being a timeuuid type, or can use uuid() for a ran
我们计划将GC从CMS移动到G1GC。如果我们更改为G1GC,还需要从dse移动到apache。使用G1GC时,这些参数如何影响垃圾收集
-XX:ThreadPriorityPolicy=42
-XX:+HeapDumpOnOutOfMemoryError
-Xss256k
# Larger interned string table, for gossip's benefit (CASSANDRA-6410)
-XX:StringTableSize=1000003
-XX:+AlwaysPr
我在Cassandra中有一个表,我希望从usermgmt.user\u history.history
CREATE TABLE usermgmt.user_history (
id uuid,
history Map<timeuuid, blob>,
PRIMARY KEY(id)
);
创建表usermgmt.user\u历史记录(
id uuid,
历史地图,
主键(id)
);
我觉得使用5年的Cassandra设计和有序键入的列名很
我是卡桑德拉的新手,正在尝试。尽管卡桑德拉显然在跑步和听lsof的节目,但我无法连接到它。sudo systemctl status cassandr还报告活动运行
对于可能正在阅读本文的Nix用户,非Nix用户也很容易理解,我的配置只是:
services.cassandra = {
enable = true;
listenAddress = "127.0.0.1";
rpcAddress = "127.0.0.1";
};
我得到的错误是:
$ cqlsh
标签: Cassandra
datastaxdatastax-enterprisecassandra-3.0
为了提高读取性能,我尝试减少具有LCS的底层sstable,因此我按照一些文章的建议,将sstable_size_in_mb设置为1280MB,指出160MB默认值是Cassandra核心团队很久以前选择的,在一个非常旧的服务器上,现在只有2GB内存。然而,我担心的是,将表大小单位设为mb的值越高,其影响就越大
据我所知,LCS定期将L0中的所有SSTABLE与L1中的所有SSTABLE压缩在一起,然后替换L1的全部内容。因此,每次更换L1时,硬件对CPU/RAM和写放大的要求可能会更高,sst
我有三个节点的cassandra集群。当前它配置为没有登录身份验证。
身份验证程序:AllowAllAuthenticator
我需要更改以下配置
**authenicator: PasswordAuthenticator
authorizer: CassandraAuthorizer**
为了应用它们,我需要重新启动。如何重新启动群集。要应用上述设置,我应该更改所有三个节点上的所有cassandra.yaml文件。还是只改变一个就够了?我应该逐个重新启动所有三个节点吗?您需要更改所有节点上的
我想要配置cassandra集群,并且我想要cassandra.yaml配置文件在节点之间是相同的。问题是每个节点上的侦听地址必须不同。由于这是一个yaml文件,是否可以包含另一个yaml文件?因此,主cassandra.yaml是相同的,只是listen_address.yaml在集群中不同
我不确定yaml语法,但我知道它可以包含文件——cassandra会使用它吗
[剪报]
听地址:!包括listen_address.yaml
以上这些对我来说不起作用。cassandra有可能吗?直接
我目前正在我的环境中使用“锡拉布”,由于技术原因,我正在研究迁移到卡桑德拉。我试图让cassandra使用可能与当前在Scyllab中使用的模式相同的模式向cassandra集群加载数据。可悲的是,还有一些问题
环境:
运行在Ubuntu18.04上的Scyllab 3.0.7(=Cassandra 3.0.8)
运行在Ubuntu 18.04上的Cassandra 3.11.4
运行在Ubuntu18.04上的卡桑德拉压力3.0.18(卡桑德拉工具的一部分)
程序如下:
table: ac
我有一个表,以前有很多数据,但是这些数据很久以前就因为ttl而消失了
但是,当我运行查询时,例如从我的\u表运行SELECT*,LIMIT 10或从我的\u表运行SELECT count(*),则会在几秒钟的超时时间内运行完
当我使用spark cassandra connector(它在内部通过令牌范围查询表)读取数据时,实际上需要几分钟才能得到0个条目
我怀疑压缩有问题,墓碑不会被删除,但表数据目录看起来并不庞大:
/var/lib/scylla$sudo ls-la
/data/scyll
在Elassandra中,cassandra的数据大小为8GB,而elasticsearch.data的大小为83GB。我们的数据流为5毫秒/秒,下面是用于创建表和索引的查询:
表格创建:
CREATE TABLE IF NOT EXISTS x.abc (
internal_tag text,
generated_at timestamp,
collected_at timestamp,
data_type text,
我通过JAVA代码调用CQLSH查询。
查询是从表中选择key、column1、column2、value、ttlvalue作为ttl
这个很好用
为其激发查询的所有表都有一个名为value的列。但有些表缺少第2列
所以动态地使用上面的查询,如果我能写这样的东西,那就太好了。
从表中选择*,ttl值作为ttl
但是看起来没有办法这么做。我遗漏了什么吗?或者,我必须手动为每个表生成查询 您需要动态构建查询。我们无法选择*和其他列。请参阅“选择查询结构”。它需要select_子句或*,而不是两者都需
很容易找到运行Cassandra节点的Cassandra版本。如何查找已关闭或未启动的Cassandra节点的Cassandra版本?是否有任何提到版本的文件,我们可以看到这些文件?您应该在cassandra目录中有filelib/apache cassandra-.jar文件。您还可以查看NEWS.txt文件的第一行,它应该有当前版本的版本
在Cassandra中,删除时会使用墓碑,因为写入操作会写入不可变的文件。我读到墓碑也解决了分布式系统中删除的难题。这就是我困惑的地方。从分布式数据库中删除时存在哪些问题?例如:取一个包含节点a、B和C的3节点集群。假设节点C关闭,出现删除。它在A和B中被标记为墓碑,成功返回给客户机。一段时间后,A和B开始压实,并清除了墓碑。现在,当读取之前删除的值时,a和B不返回任何内容,而C返回旧值。但是在这里我读到C给出的值优先于空响应
如果在该节点恢复之前,删除的记录已经从集群的其余部分删除,则Cass
1 2 3 4 5 6 ...
下一页 最后一页 共 109 页