我正在尝试连接安装在从C#客户端在VM内运行的Ubuntu桌面上的DataStax 3.0企业(CassandraSharp提供).
根据那里的文档,("Cassandra默认情况下不启用CQL二进制协议(从1.2-rc2开始).你必须在cassandra.yaml中启用此功能才能使用cassandra-sharp"),我介绍了这个条目" start_native_transport:true"进入cassandra.yaml,当我从Ubuntu终端启动服务时,我收到此错误:
INFO 02:57:53,734从文件加载设置:/etc/dse/cassandra/cassandra.yaml错误02:57:55,834致命配置错误错误无法为标记构造java对象:yaml.org,2002:org.apache .cassandra.config.Config; exception =无法为JavaBean =org.apache.cassandra.config.Config@7f636e4e创建property = start_native_transport; 无法在类上找到属性"start_native_transport":org.apache.cassandra.config.Config
知道如何在DataStax Cassandra中启用二进制协议吗?或者我做错了什么?它是配置文件中的特定位置 - 我是linux新手!完整的yaml文件在这里被问到:
# Cassandra storage config YAML
# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: 'Test Cluster'
initial_token:
hinted_handoff_enabled: true
max_hint_window_in_ms: 3600000 # one hour
hinted_handoff_throttle_delay_in_ms: 1
# authentication backend, implementing IAuthenticator; used to identify users
authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
#authenticator: com.datastax.bdp.cassandra.auth.PasswordAuthenticator
#authenticator: com.datastax.bdp.cassandra.auth.KerberosAuthenticator
# authorization backend, implementing IAuthorizer; …Run Code Online (Sandbox Code Playgroud) 我在6节点集群上使用DataStax Cassandra 1.2.3,每个集群都有四核3GHz处理器和8GB RAM.最近,我开始使用VNodes功能,首先将num_tokens设置为256,然后设置为128.我观察到我正在使用的架构的性能下降[写入请求数/秒].我主要有一个规范化的模式,混合使用宽表和计数器列族.
是否有人观察到使用VNodes的性能下降?是否有任何已知的优化技术可以更好地利用VNode?
对于给定的硬件配置/节点,是否可以为num_tokens导出最佳值?
此外,我看到群集几乎平衡,一个节点自动占用更高的负载份额,尽管我有一个同类群集.在使用VNode之前,我会手动平衡Murmer3Partitioner的集群,性能很好.
谢谢,VS
我的所有节点在压缩过程中都抛出了FileNotFoundException.因此,单个CF(CQL3)不能完成单个压缩(自动,手动),并且我的SSTable计数现在已达到数千个.
nodetool compactionstats在每个节点中显示数百个待处理任务,但不处理任何内容.
以下是异常的示例日志:
Error occurred during compaction
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.io.FileNotFoundException: /home/cassandra/data/mtg_keywords_v5/keyword_organic_results/mtg_keywords_v5-keyword_organic_results-jb-31111-Data.db (No such file or directory)
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:188)
at org.apache.cassandra.db.compaction.CompactionManager.performMaximal(CompactionManager.java:281)
at org.apache.cassandra.db.ColumnFamilyStore.forceMajorCompaction(ColumnFamilyStore.java:1935)
at org.apache.cassandra.service.StorageService.forceKeyspaceCompaction(StorageService.java:2210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at …Run Code Online (Sandbox Code Playgroud) 我使用的是spark 0.91与MLlib 0.91上DSE
尝试在独立模式下运行以下代码时
val parsedData = sc.parallelize((1 to 1000).
map {
line =>
LabeledPoint(0.0, Array(0.0, 0.4, 0.3))
})
val numIterations = 2
val model = LinearRegressionWithSGD.train(parsedData, numIterations)
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
14/09/20 14:28:37 ERROR OneForOneStrategy: org.jblas.DoubleMatrix cannot be cast to org.jblas.DoubleMatrix
java.lang.ClassCastException: org.jblas.DoubleMatrix cannot be cast to org.jblas.DoubleMatrix
at org.apache.spark.mllib.optimization.GradientDescent$$anonfun$runMiniBatchSGD$1$$anonfun$2.apply(GradientDescent.scala:150)
at org.apache.spark.mllib.optimization.GradientDescent$$anonfun$runMiniBatchSGD$1$$anonfun$2.apply(GradientDescent.scala:150)
at org.apache.spark.rdd.RDD$$anonfun$6.apply(RDD.scala:677)
at org.apache.spark.rdd.RDD$$anonfun$6.apply(RDD.scala:674)
at org.apache.spark.scheduler.JobWaiter.taskSucceeded(JobWaiter.scala:56)
at org.apache.spark.scheduler.DAGScheduler.handleTaskCompletion(DAGScheduler.scala:846)
at org.apache.spark.scheduler.DAGScheduler.processEvent(DAGScheduler.scala:601)
Run Code Online (Sandbox Code Playgroud)
只有在尝试运行独立应用程序时才会发生这种情况.它适用于火花壳(dse spark).有任何想法吗?
更新:
当我在REPL上创建一个对象时,getClassLoader返回:
scala> new org.jblas.DoubleMatrix().getClass().getClassLoader()
res3: ClassLoader = ModuleClassLoader:Analytics
Run Code Online (Sandbox Code Playgroud)
但是当我在独立模式下运行(使用spark类)时,它会返回
new org.jblas.DoubleMatrix().getClass().getClassLoader():
class= SystemClassLoader …Run Code Online (Sandbox Code Playgroud) 我们有5个节点的集群。由于datastax社区版不提供可靠的技术支持,因此我们计划购买datastax企业版。
我想知道每个节点的datastax企业许可证的成本。
我们在Digital Ocean上建立了一个3节点的Cassandra集群,并编写了一些Java程序,该程序使用Java CQL驱动程序连接到cassandra。查询将继续运行一段时间,但是一段时间后,我们将收到以下异常
Exception in thread "main" com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /128.199.98.201:9042 (com.datastax.driver.core.exceptions.OperationTimedOutException: [/128.199.98.201] Operation timed out))
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:231)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:77)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1402)
at com.datastax.driver.core.Cluster.init(Cluster.java:164)
at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:343)
at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:316)
at com.datastax.driver.core.Cluster.connect(Cluster.java:254)
at com.attinad.cantiz.iot.platform.cassandrasample.PagingExample.connect(PagingExample.java:24)
at com.attinad.cantiz.iot.platform.cassandrasample.App.main(App.java:31)
Run Code Online (Sandbox Code Playgroud)
cassandra.yaml中的各种超时值如下所示
任何有关问题是超时问题还是编码问题的想法,我们将不胜感激。
我们在我们的盒子上安装了DataStax Cassandra社区服务器3.0.2,创建了几个键空间,我们将一些数据从旧数据库迁移到Cassandra(Aroudnd 10GB数据).虽然这就是我们materialized views在这些表上创建的迁移.在创建之后的几分钟(不确定到多长时间),我们获得了我们的服务(部署在2个数据中心架构中的~2x3节点上)随机停止,绝对没有关于它停止的原因的日志信息.之后我们尝试启动服务,我们的日志中出现以下错误
java.lang.RuntimeException: Cache schema version a2c390a1-f2cd-3d59-8b5c-a0a1d794d0fe does not match current schema version 8d1347d7-7729-3698-8537-4b91ae9ce7dd
at org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:198) ~[apache-cassandra-3.0.2.jar:3.0.2]
at org.apache.cassandra.cache.AutoSavingCache$3.call(AutoSavingCache.java:157) [apache-cassandra-3.0.2.jar:3.0.2]
at org.apache.cassandra.cache.AutoSavingCache$3.call(AutoSavingCache.java:153) [apache-cassandra-3.0.2.jar:3.0.2]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_66]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66]
Run Code Online (Sandbox Code Playgroud)
我们试图查看可能导致这种情况发生的代码.这给了我们一些关于它的原因的信息 - 显然服务试图将当前模式版本与缓存中存在的模式匹配(我会假设它在服务停止/创建物化视图之前)我们非常肯定我们没有除了创建物化视图之外,还可以对键空间进行任何架构更改.
那么是什么让我想知道过去没有人报告任何类型的问题?所以我们不确定自己出了什么问题.我们在cleanup节点上运行了nodetool 而没有任何帮助.我们不想丢失任何数据.我们正在尝试恢复,因此我们删除了$CASSANDRA_HOME\data\saved_caches文件夹并重新启动了服务.启动服务器时,它正在重播提交日志,这需要很长时间.我想这可能是由于我们拥有的数据量或机器完全消失而需要更换?
任何与该问题相关的指针可能都非常有用!先感谢您.
如果它可能有所帮助,我们在Windows机器上运行DataStax Cassandra Server并将Cassandra作为Windows服务运行.
设置:
我们有3个节点Cassandra集群,每个节点上的数据大约为850G,我们为Cassandra数据目录设置LVM(目前包含3个驱动器800G + 100G + 100G),并为cassandra_logs提供单独的卷(非LVM)
版本:
Cassandra v2.0.14.425
DSE v4.6.6-1
问题:
在每个节点上的LVM中添加第三个(100G)卷后,所有节点的磁盘I/O都非常高,而且它们经常停机,服务器也无法访问,我们需要重启服务器,服务器不要t稳定,我们需要每隔10-15分钟重新启动一次.
其他信息:
我们
在每个节点上的所有节点RAM上配置了DSE推荐的服务器设置(vm.max_map_count,文件描述符):每个节点上24G
CPU:每个节点上有6个核心/ 2600MHz
磁盘:1000G(数据目录)/ 8G(日志) )
cassandra datastax-enterprise datastax cassandra-2.0 datastax-startup
我有一个Cassandra的单节点机器.为了阻止Cassandra我使用ps-ef|grep cassandra并杀死了这个过程.现在,当我启动cassandra时,我得到了这个异常:
错误16:56:27,030初始化期间的致命异常org.apache.cassandra.exceptions.ConfigurationException:找到系统密钥空间文件,但无法加载它们!在org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:603)〜[cassandra-all-2.1.14.1346.jar:2.1.14.1346]
我可以看到数据文件夹中存在的键空间.由于这是单节点机器,我无法清理节点并从其他节点提取数据.Nodetool不起作用,因为C*不起作用.怎么解决?
我从DSE官方文档中读到了此内容,但并未深入了解如何操作。有人可以解释或提供任何链接吗?
cassandra ×7
datastax ×2
java ×2
apache-spark ×1
classloader ×1
licensing ×1
scala ×1
timeout ×1
windows ×1