Tag: cassandra

使用DataStax Java驱动程序1.0.4使用CQL连接到Cassandra时出现exception

我在我的笔记本电脑上运行了Cassandra 1.2.11。 我可以使用nodetool和cqlsh连接到它,但是当我尝试使用DataStax 1.0.4 Java API使用CQL 3.0进行连接时,我收到以下错误: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1 ([localhost/127.0.0.1] Unexpected error during transport initialization (com.datastax.driver.core.TransportException: [localhost/127.0.0.1] Channel has been closed))) at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:186) 我使用以下代码进行连接,取自DataStax文档。 我尝试了几个端口号,包括离开withPort()调用,但似乎没有任何工作。 Cluster cluster = new Cluster.Builder() .addContactPoints(“localhost”) .withPort(9160) .build(); 使用telnet我可以validationCassandra服务器肯定在我指定的每个端口上监听。 我还validation了所有必需的库jar文件都在我的类路径中,如文档中所述。

如何获得cassandra 2.2中的前5条记录

我需要帮助。 我有一个查询,按日期(不是日期+时间)和金额总和获得前5名记录组。 我写了以下内容,但它返回的所有记录不仅仅是前5条记录 CREATE OR REPLACE FUNCTION state_groupbyandsum( state map, datetime text, amount text ) CALLED ON NULL INPUT RETURNS map LANGUAGE java AS ‘String date = datetime.substring(0,10); Double count = (Double) state.get(date); if (count == null) count = Double.parseDouble(amount); else count = count + Double.parseDouble(amount); state.put(date, count); return state;’ ; CREATE OR REPLACE AGGREGATE […]

如何从Cassandra增加Dataflow读取并行性

我试图将大量数据(2 TB,30kkk行)从Cassandra导出到BigQuery。 我的所有基础设施都在GCP上。 我的Cassandra集群有4个节点(4个vCPU,26 GB内存,每个2000 GB PD(HDD))。 集群中有一个种子节点。 我需要在写入BQ之前转换我的数据,所以我使用的是Dataflow。 工人类型是n1-highmem-2 。 工人和Cassandra实例位于同一区域europe-west1-c 。 我对Cassandra的限制: 我负责读取转换的部分管道代码位于此处 。 自动缩放 问题是,当我没有设置–numWorkers ,以这种方式自动调整工人数量(平均2名工人): 负载均衡 当我设置–numWorkers=15 ,读取速率不会增加,只有2名工作人员与Cassandra通信(我可以从iftop告诉它,只有这些工作人员的CPU负载大约为60%)。 同时,Cassandra节点没有很多负载(CPU使用率为20-30%)。 种子节点的网络和磁盘使用率比其他节点大约高2倍,但不是太高,我认为: 对于非种子节点: 管道发射警告 管道启动时我有一些警告: WARNING: Size estimation of the source failed: org.apache.beam.sdk.io.cassandra.CassandraIO$CassandraSource@7569ea63 com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /10.132.9.101:9042 (com.datastax.driver.core.exceptions.TransportException: [/10.132.9.101:9042] Cannot connect), /10.132.9.102:9042 (com.datastax.driver.core.exceptions.TransportException: [/10.132.9.102:9042] Cannot connect), /10.132.9.103:9042 (com.datastax.driver.core.exceptions.TransportException: […]

使用Cassandra的Java最好的api /库是什么?

我正在寻找具有以下要求的API 它使用简单,简洁。 它并不臃肿。 使用Spring的做事方式,或者至少很容易使它与Spring一起使用 有一个Maven存储库,最好它已经存在于主存储库中 经过生产测试,意味着有相当多的人在生产应用中使用它。 帮帮我? 谢谢!

为什么Cassandra客户端在没有epoll的情况下失败?

当我在本地运行我的服务时,我收到epoll不可用的警告,因此它正在使用NIO。 很公平。 当我在Kubernetes中部署它时,我得到了这个,这阻止了服务运行: 2017-03-29T19:09:22.739482458Z 19:09:22.739 WARN com.datastax.driver.core.NettyUtil – Found Netty’s native epoll transport in the classpath, but epoll is not available. Using NIO instead. 2017-03-29T19:09:22.739505903Z java.lang.UnsatisfiedLinkError: could not load a native library: netty-transport-native-epoll 2017-03-29T19:09:22.739509966Z at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) 2017-03-29T19:09:22.739513326Z at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:269) 2017-03-29T19:09:22.739516421Z at io.netty.channel.epoll.Native.(Native.java:64) 2017-03-29T19:09:22.739519628Z at io.netty.channel.epoll.Epoll.(Epoll.java:33) 2017-03-29T19:09:22.739522527Z at java.lang.Class.forName0(Native Method) 2017-03-29T19:09:22.739525253Z at java.lang.Class.forName(Class.java:264) 2017-03-29T19:09:22.739528047Z at com.datastax.driver.core.NettyUtil.(NettyUtil.java:68) […]

在Java中连接和使用Cassandra

我已经阅读了一些关于Cassandra是什么以及它可以做什么的教程,但我的问题是如何在Java中与Cassandra交互? (教程会很好:-)) 如果可能的话,有人可以告诉我是否应该使用Thrift或Hector(哪一个更好,为什么)? 提前致谢。 PS我可以将Hibernate与Cassandra集成吗?

在cassandra中将json存储为文本vs blob的优缺点是什么?

blob对我来说的一个问题是,在java中,ByteBuffer(在cassandra中映射到blob)不是Serializable,因此不适用于EJB。 考虑到json相当大,在cassandra中存储json的更好类型。 是文字还是blob? 在决定blob vs json时,json的大小是否重要? 如果它是像oracle这样的任何其他数据库,那么通常使用blob / clob。 但在Cassandra,每个单元可以容纳2GB,这有关系吗? 请将此问题视为本案例中text和blob之间的选择,而不是排序到是否为json使用单列的建议。

Java程序以java结果终止:137

我有一个用netbeans编写的程序。 该程序从cassandra读取大约1,000,000个数据,处理它们并再次将结果写入cassandra。 我的程序运行了大约9个小时,但突然它终止了这个波纹管错误: java result: 137 我读到这些错误意味着(128 + signalnember)。 在我的情况下signalnember = 9即KILLSIGNAL。 有没有人知道如何删除此错误? 请帮我….

Cassandra没有启动带有JDK到8u161的AbstractMethodError的原因?

我的Cassandra不会在新安装的root上启动… /var/log/cassandra/debug.log打印: ERROR [main] 2018-02-03 07:13:46,463 CassandraDaemon.java:706 – 启动时遇到exceptionjava.lang.AbstractMethodError:org.apache.cassandra.utils.JMXServerUtils $ Exporter.exportObject root@srv49023:~# java -version java version “1.8.0_161” Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode) root@srv49023:~# systemctl status cassandra ● cassandra.service – LSB: distributed storage system for structured data Loaded: loaded (/etc/init.d/cassandra) Active: active (exited) since Sat 2018-02-03 […]

将分析数据从Spark插入Postgres

我有Cassandra数据库,我通过Apache Spark使用SparkSQL分析数据。 现在我想将这些分析的数据插入到PostgreSQL中。 有没有办法直接实现这一点,除了使用PostgreSQL驱动程序(我使用postREST和驱动程序实现它我想知道是否有任何方法,如saveToCassandra() )?