Hadoop 找不到分区器类-Cassandra

Hadoop 找不到分区器类-Cassandra,hadoop,cassandra,cassandra-2.0,Hadoop,Cassandra,Cassandra 2.0,当我在Hadoop上运行我的应用程序时,可以帮助我解决Cassandra面临的以下问题吗 当我运行应用程序时,我得到了下面关于我们在应用程序中提到的partitioner类的错误 Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Unable to find partitioner class 'org.apache.cassandra.dht.Random

当我在Hadoop上运行我的应用程序时,可以帮助我解决Cassandra面临的以下问题吗

当我运行应用程序时,我得到了下面关于我们在应用程序中提到的partitioner类的错误

Caused by: java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Unable to find partitioner class 'org.apache.cassandra.dht.RandomPartitioner'
        at org.apache.cassandra.hadoop.ConfigHelper.getInputPartitioner(ConfigHelper.java:426)
        at org.apache.cassandra.hadoop.AbstractColumnFamilyInputFormat.validateConfiguration(AbstractColumnFamilyInputFormat.java:85)
        at org.apache.cassandra.hadoop.ColumnFamilyInputFormat.validateConfiguration(ColumnFamilyInputFormat.java:74)
        at org.apache.cassandra.hadoop.AbstractColumnFamilyInputFormat.getSplits(AbstractColumnFamilyInputFormat.java:122)
        at org.apache.hadoop.mapreduce.JobSubmitter.writeNewSplits(JobSubmitter.java:493)
        at org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:510)
        at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:394)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1295)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1292)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1554)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:1292)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1313)
        at com.test.cassandratest.WcJob.run(WcJob.java:96)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at com.test.cassandratest.WcJob.main(WcJob.java:104)
        ... 10 more
Caused by: org.apache.cassandra.exceptions.ConfigurationException: Unable to find partitioner class 'org.apache.cassandra.dht.RandomPartitioner'
        at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:458)
        at org.apache.cassandra.utils.FBUtilities.construct(FBUtilities.java:470)
        at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:416)
        at org.apache.cassandra.hadoop.ConfigHelper.getInputPartitioner(ConfigHelper.java:422)
        ... 26 more
Caused by: java.lang.NoClassDefFoundError: org/github/jamm/MemoryMeter$Guess
        at org.apache.cassandra.utils.ObjectSizes.<clinit>(ObjectSizes.java:34)
        at org.apache.cassandra.dht.RandomPartitioner.<clinit>(RandomPartitioner.java:45)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:190)
        at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:450)
        ... 29 more
Caused by: java.lang.ClassNotFoundException: org.github.jamm.MemoryMeter$Guess
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 34 more
原因:java.lang.RuntimeException:org.apache.cassandra.exceptions.ConfigurationException:找不到分区器类“org.apache.cassandra.dht.RandomPartitioner”
位于org.apache.cassandra.hadoop.ConfigHelper.getInputPartitioner(ConfigHelper.java:426)
位于org.apache.cassandra.hadoop.AbstractColumnFamilyInputFormat.validateConfiguration(AbstractColumnFamilyInputFormat.java:85)
位于org.apache.cassandra.hadoop.ColumnFamilyInputFormat.validateConfiguration(ColumnFamilyInputFormat.java:74)
位于org.apache.cassandra.hadoop.AbstractColumnFamilyInputFormat.getSplits(AbstractColumnFamilyInputFormat.java:122)
位于org.apache.hadoop.mapreduce.jobsmitter.writeNewSplits(jobsmitter.java:493)
位于org.apache.hadoop.mapreduce.jobsmitter.writeSplits(jobsmitter.java:510)
位于org.apache.hadoop.mapreduce.jobsmitter.submitJobInternal(jobsmitter.java:394)
位于org.apache.hadoop.mapreduce.Job$10.run(Job.java:1295)
位于org.apache.hadoop.mapreduce.Job$10.run(Job.java:1292)
位于java.security.AccessController.doPrivileged(本机方法)
位于javax.security.auth.Subject.doAs(Subject.java:415)
位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1554)
位于org.apache.hadoop.mapreduce.Job.submit(Job.java:1292)
位于org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1313)
位于com.test.cassandratest.WcJob.run(WcJob.java:96)
位于org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
位于com.test.cassandratest.WcJob.main(WcJob.java:104)
... 10多
原因:org.apache.cassandra.exceptions.ConfigurationException:找不到分区器类“org.apache.cassandra.dht.RandomPartitioner”
位于org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:458)
位于org.apache.cassandra.utils.FBUtilities.construct(FBUtilities.java:470)
位于org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:416)
位于org.apache.cassandra.hadoop.ConfigHelper.getInputPartitioner(ConfigHelper.java:422)
... 26多
原因:java.lang.NoClassDefFoundError:org/github/jamm/MemoryMeter$Guess
位于org.apache.cassandra.utils.ObjectSizes.(ObjectSizes.java:34)
位于org.apache.cassandra.dht.RandomPartitioner(RandomPartitioner.java:45)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:190)
位于org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:450)
... 还有29个
原因:java.lang.ClassNotFoundException:org.github.jamm.MemoryMeter$Guess
在java.net.URLClassLoader$1.run(URLClassLoader.java:366)
在java.net.URLClassLoader$1.run(URLClassLoader.java:355)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:425)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 34多

我在系统中将Cassandra升级到2.1时遇到了相同的问题,根本原因如下

卡桑德拉2.1使用的jamm版本是3.0.0,而较旧的卡桑德拉使用的是2.5。因此,请更新您使用的jamm版本,您的问题可能会得到解决


您确定使用随机分区器运行吗?卡桑德拉2.0的默认值是Murruld3i最初尝试添加Murruld3,b/c相同的问题出现了,我将其更改为RandomPartitioner@RussJAMM的哪个版本在你的类路径上?Raja,你有解决方案吗?。我也在讨论同样的问题。你能帮我吗?我没有得到答案。目前我中止了这个问题。