运行Mahout和Hadoop时出现问题

运行Mahout和Hadoop时出现问题,hadoop,mahout,java-home,mahout-recommender,Hadoop,Mahout,Java Home,Mahout Recommender,我是新来的Mahout和Hadoop 我已经用3台机器成功安装了Hadoop集群,集群运行良好,我刚刚在主namenode上安装了Mahout,用于“测试目的”,并按照安装说明设置了JAVA_HOME,但是当我尝试运行classify-20newsgroups.sh时,它会去下载数据集,但在那之后,我得到以下错误: Error: JAVA_HOME is not set 然后我修改了.bashrc,并确认JAVA\u HOME设置正确,但没有帮助 另外,我如何验证Mahout是否被正确配置为在

我是新来的
Mahout
Hadoop

我已经用3台机器成功安装了
Hadoop集群
,集群运行良好,我刚刚在主namenode上安装了
Mahout
,用于“测试目的”,并按照安装说明设置了
JAVA_HOME
,但是当我尝试运行
classify-20newsgroups.sh
时,它会去下载
数据集
,但在那之后,我得到以下错误:

Error: JAVA_HOME is not set
然后我修改了
.bashrc
,并确认
JAVA\u HOME
设置正确,但没有帮助


另外,我如何验证
Mahout
是否被正确配置为在
Hadoop
上运行,以及您是否知道任何可以验证此配置或环境的示例?

只有未登录的shell才能读取.bashrc,否则将读取.bash\u配置文件。 因此,您可以设置为从.bash\u配置文件(参见此处)读取.bashrc,或者只在.bash\u配置文件中设置JAVA\u主页

设置JAVA_主页还有其他几种可能性:

1) 从终端设置.bashrc

~$ source .bashrc
2) 在运行classify-20newsgroups.sh之前,在开放终端中设置JAVA_HOME

3) 使用JAVA_HOME运行classify-20newsgroups.sh,即

~$ JAVA_HOME=/path classify-20newsgroups.sh


关于Hadoop上运行的Mahout配置的问题。如果设置了hadoop_HOME,则带有classify-20新闻组的Standart示例应该可以在hadoop上使用。

您可能需要在hadoop-env.sh中显式设置JAVA_HOME

在hadoop-env.sh中,查找注释“#要使用的java实现”,并修改其下的java_主路径

它应该是这样的:

#要使用的java实现

导出JAVA_HOME=/usr/lib/jvm/JAVA-7-openjdk-amd64

当然,修复JAVA_HOME的路径

~$ JAVA_HOME=/path classify-20newsgroups.sh