我在使用Hadoop的DSE中遇到了问题。
让我描述一下设置,包括一些细节中的步骤,以便您能够帮助我。
我设置了一个三节点的DSE群集,其群集名称为“#training;#39;”。这三台机器都运行Ubuntu 14.04,64位,4 GB RAM。
使用GUI安装程序(sudo命令)安装DSE。安装完成后,cassandra.yaml文件被修改为
rpc_address = 0.0.0.0
一个接一个地启动了三个节点。创建了具有replication_factor = 3的键空间。数据已成功插入并从任何其他节点访问。
然后使用GUI安装程序(sudo)将DSE安装在第四台计算机上(让我们将此计算机称为HadoopMachine),使用相同的配置。
/ etc / default / dse修改如下:
HADOOP_ENABLED = 1
然后,在此HadoopMachine上,运行以下命令:
sudo service dse start
到目前为止一切顺利。
然后从安装目录:
bin/dse hadoop fs -mkdir /user/hadoop/wordcount
这失败了。提供了一系列错误消息,运行数百行,结尾为:
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1368)
at com.datastax.bdp.loader.SystemClassLoader.tryLoadClassInBackground(SystemClassLoader.java:163)
at com.datastax.bdp.loader.SystemClassLoader.loadClass(SystemClassLoader.java:117)
at com.datastax.bdp.loader.SystemClassLoader.loadClass(SystemClassLoader.java:81)
at com.datastax.bdp.loader.SystemClassLoader.loadClass(SystemClassLoader.java:75)
at java.util.ResourceBundle$RBClassLoader.loadClass(ResourceBundle.java:503)
at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2640)
at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1501)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1465)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1419)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1361)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:890)
at sun.util.resources.LocaleData$1.run(LocaleData.java:164)
at sun.util.resources.LocaleData$1.run(LocaleData.java:160)
FATAL ERROR in native method: processing of -javaagent failed
bin/dse: line 192: 12714 Aborted (core dumped) "$HADOOP_BIN/hadoop" "$HADOOP_CMD" $HADOOP_CREDENTIALS "${@:2}"
我不知道问题是什么,以及如何解决。
将不胜感激任何帮助。感谢。
答案 0 :(得分:2)
因此,为了其他可能面临同样问题的人的利益,问题是什么以及有效的方法如下。
DSE文档指定对于具有集成Hadoop的DSE,您必须拥有Oracle JRE 7.我或许愚蠢地认为它将意味着Oracle JRE 7或更高版本。所以我的机器上有JRE 8,从未意识到这就是问题所在。当我删除JRE 8并安装JRE 7和宾果游戏时,它确实有效。
我很惊讶。现在我意识到,由于DSE使用Hadoop 1.0.4(一个古老的版本),它只适用于JRE 7。 JRE 8必须在Hadoop 1.0.4之后,JRE 8中的某些内容必须与JRE 7不兼容,我猜。