`

cassandra 查询报错

阅读更多
cluster 的结构如下:
keyspace :{replication_factor:1, class:SimpleStrategy}
[root@edog1 apache-cassandra-2.0.9]# bin/nodetool status
Note: Ownership information does not include topology; for complete information, specify a keyspace
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens  Owns   Host ID                               Rack
UN  192.168.1.245  1.98 TB    256     35.2%  3f5395be-b346-404e-8a72-cc6fda5716f8  rack1
UN  192.168.1.205  959.96 GB  256     31.1%  b294b651-3403-4f6f-a253-b7c9c0f2caf5  rack1
UN  192.168.1.254  1.53 TB    256     33.7%  9adf54bc-8727-4463-a205-0a4cbcfa47da  rack1

---------------------------------------------------------------------------------------------------------------------------
报错如下:
Traceback (most recent call last):
  File "python_del_cassandra.py", line 21, in <module>
    d_time = K_devdata.execute(" select dtime from devicestatus where did = '%s' and dtime > %s and dtime < %s order by dtime asc ;" % (devsid,start,end))
  File "/usr/lib64/python2.6/site-packages/cassandra/cluster.py", line 1594, in execute
    result = future.result(timeout)
  File "/usr/lib64/python2.6/site-packages/cassandra/cluster.py", line 3296, in result
    raise self._final_exception
cassandra.Unavailable: code=1000 [Unavailable exception] message="Cannot achieve consistency level ONE" info={'required_replicas': 1, 'alive_replicas': 0, 'consistency': 'ONE'}
上面是select时报的错,
------------------------------------------------------------------------------------------------------------------------
原因:
repliction_factor=1,时,只要有一个节点DN(down)掉的话,就会报这样的错,如果把replication_factor 改为2以上的话就不会报这个错了。
replication_factor 的作用是指,在集群里数据保存的的份数

原文如下:
To directly answer the question, replication factor (RF) controls the number of replicas of each data partition that exist in a cluster or data center (DC). In your case, you have 3 nodes and a RF of 1. That means that when a row is written to your cluster, that it is only stored on 1 node. This also means that your cluster cannot withstand the failure of a single node.

In contrast, consider a RF of 3 on a 3 node cluster. Such a cluster could withstand the failure of 1 or 2 nodes, and still be able to support queries for all of its data.
分享到:
评论

相关推荐

    关于配置完JAVA环境,启动cassandra时各种报错

    sigar替代文件

    DbVisualizer-6.0.12

    它支持包括Oracle、MySQL、PostgreSQL、SQL Server、DB2、SQLite、Apache Cassandra等在内的多种关系型和非关系型数据库。这意味着无论你使用哪种数据库系统,DbVisualizer都能为你提供统一的管理和操作平台。 在...

    新版ThingsBoard安装(亲测好用,照着文档装安装就行)

    文档中提到了如何使用批处理文件运行sql脚本来导入数据,尽管这里也遇到了报错的情况,文档并没有详细说明错误的具体原因以及解决方法,这或许是在实际操作中需要特别注意的部分。 最后,当所有步骤都完成后,就到...

    kettle连接需要的常用数据库jar包.zip

    它允许用户通过图形化界面设计数据转换流程,支持多种数据库的连接,包括MySQL、Oracle、SQL Server、Greenplum、MongoDB和Cassandra等。这些数据库在不同场景下有着广泛的应用,因此了解如何在Kettle中与它们建立...

    Datax实现增量同步数据到Postgres

    5. **RDBMS Util 插件**:`plugin-rdbms-util-0.0.1-SNAPSHOT.jar` 可能是Datax中的通用关系型数据库工具包,提供了一些通用的数据库操作功能,比如查询、连接管理等,服务于不同类型的RDBMS同步任务。 6. **...

    dbeaver-ce-23.0.0-linux.gtk.x86-64.tar.gz

    它的设计目标是提供一个统一的平台,用于处理多种类型的数据库系统,包括关系型数据库(如MySQL、PostgreSQL)、NoSQL数据库(如MongoDB、Cassandra)以及大数据存储(如Hadoop)。这款工具支持Windows、macOS和...

    ThingsBoard新版安装.doc

    而若要使用Cassandra数据库,则需要8G内存的服务器,不过文档中指出暂不需要配置Cassandra。 2. 安装环境:安装步骤首先需要安装JDK版本11.0.13,推荐使用11.0.9以上的版本。其次,安装PostgreSQL数据库,并成功...

    Java 数据库主键生成类 IdWorker

    twitter在把存储系统从MySQL迁移到Cassandra的过程中由于Cassandra没有顺序ID生成机制,于是自己开发了一套全局唯一ID生成服务:Snowflake。 1 41位的时间序列(精确到毫秒,41位的长度可以使用69年) 2 10位的机器...

    ThingsBoard新版安装(30分钟上手).doc

    文档还特别强调了硬件要求,比如在2G内存的服务器上运行ThingsBoard和PostgreSQL,或者8G内存的服务器运行ThingsBoard和Cassandra。文档内容详尽,并配有图文说明,展示了作者在实际安装过程中遇到的问题和解决方案...

    netty-all-4.1.29.Final.jar最新版导入直接用

    它活跃和成长于用户社区,像大型公司 Facebook 和 Instagram 以及流行 开源项目如 Infinispan, HornetQ, Vert.x, Apache Cassandra 和 Elasticsearch 等,都利用其强大的对于网络抽象的核心代码。 Netty is a NIO ...

    ThingsBoard安装简单.doc

    如果选用Cassandra,则需要8GB内存的服务器。 安装环境包括安装Java开发工具包(JDK),并且建议安装版本为11.0.9或更新。安装完成后,接下来是配置数据库,文中以PostgreSQL为例,描述了如何安装并设置数据库。这...

    ThingsBoard安装.doc

    在硬件配置上,安装ThingsBoard和PostgreSQL需要至少2GB内存的服务器,而安装ThingsBoard和Cassandra则需要至少8GB内存的服务器。文档主要分为以下几个部分: 一、安装前的准备工作。在这一部分,文档概述了安装...

    ThingsBoard新版安装(包含大部分问题解决方案).doc

    如果使用Cassandra数据库(尽管当前暂不需),则至少需要一台8G内存的服务器。安装过程分为几个主要步骤,涉及环境配置、代码拉取、环境配置、依赖下载、数据库导入及系统启动。 首先,安装环境的准备包括安装JDK...

    ThingsBoard新版安装(有安装步骤).doc

    若使用Cassandra数据库,则需要至少8G内存的服务器。 文档强调,安装前的先决条件包括在Windows 10/8.1/8/7 32位/64位系统上进行安装,以及JDK和PostgreSQL的安装。安装JDK时推荐使用11.0.9+版本,而PostgreSQL的...

    ThingsBoard安装新手教学.doc

    此外,下载依赖时的报错解决方案,包括将下载文件改名,以及使用命令行安装编译依赖文件,都可能成为解决问题的关键步骤。 在导入数据库数据的阶段,文档指出使用批处理文件来运行SQL脚本,并说明了如果遇到错误...

    ThingsBoard安装速度上手版.doc

    若使用Cassandra,则需要8G内存的服务器。此外,本指南适用于多个版本的Windows系统。 安装前的准备工作包括安装JDK 11.0.9或更高版本,因为JDK版本对ThingsBoard的运行至关重要。安装PostgreSQL数据库后,需要创建...

    ThingsBoard新版安装(按顺序一步步安装即可).doc

    而对于使用Cassandra的环境,则推荐至少8GB内存。 2. 安装环境准备: - 安装Java Development Kit (JDK) 11.0.13版本。注意JDK版本建议为11.0.9或更高。 - 安装PostgreSQL数据库,并创建一个名为“thingsboard”...

    ThingsBoard新版安装(一看就会).doc

    根据所选用的数据库和连接设备的数量,对硬件的要求有所不同:一个2GB内存的服务器足以运行ThingsBoard和PostgreSQL,而一个8GB内存的服务器则适用于ThingsBoard和Cassandra数据库系统(后者暂时不需要)。...

Global site tag (gtag.js) - Google Analytics