ubuntu 10.10 中JAVA_HOME的设置问题

软件和网站开发以及相关技术探讨
回复
terminatorsong
帖子: 7
注册时间: 2010-12-13 13:08

ubuntu 10.10 中JAVA_HOME的设置问题

#1

帖子 terminatorsong » 2011-05-11 16:48

使用了UBUNTU10.10,有大爱,很喜欢。
但是在安装JDK的时候发现了一个问题,一直没弄明白,特来此请教各位:
我用APT-GET INSTALL来获得的JDK,
安装完以后并不像自己解压安装那样会在安装目录下产生一个相应的安装文件夹,这让我对JAVA_HOME的设置问题苦恼了,
找不到安装文件夹,到哪里支设置JAVAHOME啊!!
然后我去查了一下,有一些帖子说,安装在/OPT目录下,可我去看了,没有;
然后又有一位大大给了很好的提示(见)说是用下面的命令:

代码: 全选

$ which java
/usr/bin/java
$ ls -l /usr/bin/java
/usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
/etc/alternatives/java -> /usr/lib/jvm/java-6-sun/jre/bin/java
可以找到。我试了一下,找到了这么一个位置:
/usr/bin/gij-4.5
本来很高兴以为找到地方了,可是想进去看的时候,提示说这个不是一个目录。
我迷茫了,求问到底如何设置JAVAHOME啊!
头像
anonymity
帖子: 645
注册时间: 2009-03-14 16:31
来自: 不在故乡的地方

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#2

帖子 anonymity » 2011-05-11 20:21

直接去sun的网站下载一个jdk,然后放在opt里面就可以了。没必要用源里面的,难道你还准备市场更新jdk?
Only the dead have seen the end of war!
terminatorsong
帖子: 7
注册时间: 2010-12-13 13:08

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#3

帖子 terminatorsong » 2011-05-11 22:24

以前用过另外一个版本的linux,redflag,在上面习惯了使用RPM的安装包。
用UBUNTU之后,误以为它也是用RPM包的,于是在ORACLE的官方网站上下了一个RPM的安装包,
结果发现无法安装,
先是得到一个RPM命令无法执行的错误,安装了RPM命令之后,
又提示说不能直接使用RPM命令,而应该使用ALIEN命令,搞得我一头雾水。
在查找解决办法的时候我又见到一个帖子说,UBUNTU的JDK都是用APT-GET来直接安装的,不用按有些教程上来。
于是我就去试APT-GET,结果在查找结果里面除了OPENJDK就是一个什么GIJ-JDK。
我以为在软件搜索库中有自己定义的名字,与其它的JDK名字不一样,可能这个GIJ-JDK就是我所需要的JDK吧,于是就把它装了。
结果就是我在帖子里向大家提问的那样了,JAVA指向了GIJ这个东西。
后来才在另一个帖子的留言中得知UBUNTU不使用RPM的,才明白过来,
去官网上下了那个jdk-2u25-i586.bin这样的一个文件,安装成功了。
只怪我粗心大意了,谢谢LS的老师的关心。
scutdk
帖子: 299
注册时间: 2009-07-25 19:23

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#4

帖子 scutdk » 2011-05-11 23:36

如果是用apt-get install安装的话,有一个很简单的查看方法
apt-get -L java
其中java是你安装时候使用的包名
-L选项会列出该包在系统上安装的所有文件路径,所以你就知道该怎么做了吧 :em04

Ubuntu 桌面培训- 全中文官方文档,含汉化截图,提供PDF
头像
meteormatt
帖子: 693
注册时间: 2008-02-24 14:15
系统: Ubuntu
来自: 江苏
联系:

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#5

帖子 meteormatt » 2011-05-12 9:45

请参考这篇文章
http://www.cyberciti.biz/faq/linux-unix ... -variable/
Set JAVA_HOME / PATH for all user

You need to setup global config in /etc/profile OR /etc/bash.bashrc file for all users:
# vi /etc/profile
Next setup PATH / JAVA_PATH variables as follows:
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin

Save and close the file.

怀念以前的老台式机。可惜现在租的地方没条件用了。目前只能用笔记本和手机了。
terminatorsong
帖子: 7
注册时间: 2010-12-13 13:08

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#6

帖子 terminatorsong » 2011-05-12 10:17

JAVA_HOME已经设置好了,但是还有一个让人头疼的问题。。。
是这样的,我们要做一个使用HADOOP进行MAPREDUSE功能实现与性能分析的作业,使用HADOOP的开源包,本来是件很简单的事情,跑一下就行了,
但是:

我按照老师提供的配置说明一步一步来进行,首先是发现在使用ssh登录localhost的时候说是在22号端口上连接失败,
这个后来发现是因为没有安装ssh-server造成的(汗),已经改好了;
第二个问题最要命:
我确定已经把JAVA_HOME设置好了,在终端里使用$JAVA_HOME会返回正确的JDK位置,使用java -version也能显示出最新安装的sun java版本号,而不是之前安装不成功时的openjava版本号。
然后我在本机上设置了两个本地回路用于建立一个伪分布式的环境,一个是master,一个是localhost。
然后又设置了公钥,可以不输密码进行访问;
接下来问题来了,我在初始化完namenode之后,按说明上写的运行start-all.sh
却返回两个错误结果,分别是从master和localhost返回的,都说java_home没有设置!!
这让我情何以堪啊,我去查hadoop-config.sh的内容,里面有对JAVA_HOME的设置部分,我运行这个脚本,成功了。
然后我又登录两个本地的机器,在登录状态下输入$java_home返回了正确的结果。
然后我就去一一找那些跟start-all.sh有关的所有脚本文件,没有找到其它地方有设置JAVAHOME的。
最后的结果是,只有namenode运行成功了,可以执行hadoop fs -ls <dir>命令来查看hdfs系统下的文件,但不知道为什么对它使用-put参数总是说io错误,无法向我在dhfs系统中建立的文件夹中放入文件。

有点纠结,继续求问那个JAVAHOME的问题是怎么回事。
头像
meteormatt
帖子: 693
注册时间: 2008-02-24 14:15
系统: Ubuntu
来自: 江苏
联系:

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#7

帖子 meteormatt » 2011-05-12 11:40

terminatorsong 写了:JAVA_HOME已经设置好了,但是还有一个让人头疼的问题。。。
是这样的,我们要做一个使用HADOOP进行MAPREDUSE功能实现与性能分析的作业,使用HADOOP的开源包,本来是件很简单的事情,跑一下就行了,
但是:

我按照老师提供的配置说明一步一步来进行,首先是发现在使用ssh登录localhost的时候说是在22号端口上连接失败,
这个后来发现是因为没有安装ssh-server造成的(汗),已经改好了;
第二个问题最要命:
我确定已经把JAVA_HOME设置好了,在终端里使用$JAVA_HOME会返回正确的JDK位置,使用java -version也能显示出最新安装的sun java版本号,而不是之前安装不成功时的openjava版本号。
然后我在本机上设置了两个本地回路用于建立一个伪分布式的环境,一个是master,一个是localhost。
然后又设置了公钥,可以不输密码进行访问;
接下来问题来了,我在初始化完namenode之后,按说明上写的运行start-all.sh
却返回两个错误结果,分别是从master和localhost返回的,都说java_home没有设置!!
这让我情何以堪啊,我去查hadoop-config.sh的内容,里面有对JAVA_HOME的设置部分,我运行这个脚本,成功了。
然后我又登录两个本地的机器,在登录状态下输入$java_home返回了正确的结果。
然后我就去一一找那些跟start-all.sh有关的所有脚本文件,没有找到其它地方有设置JAVAHOME的。
最后的结果是,只有namenode运行成功了,可以执行hadoop fs -ls <dir>命令来查看hdfs系统下的文件,但不知道为什么对它使用-put参数总是说io错误,无法向我在dhfs系统中建立的文件夹中放入文件。

有点纠结,继续求问那个JAVAHOME的问题是怎么回事。
你们老师叫你们去搞Hadoop?

你们专业是搞云计算的?

这玩意,在中国研究我不知道怎么样.
但是没看见几家公司有象样点的商业产品的.
研究和公司完全没有联合起来,论文都没有公开过,叫公司怎么看文档?

怀念以前的老台式机。可惜现在租的地方没条件用了。目前只能用笔记本和手机了。
头像
meteormatt
帖子: 693
注册时间: 2008-02-24 14:15
系统: Ubuntu
来自: 江苏
联系:

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#8

帖子 meteormatt » 2011-05-12 11:42

另外,这个不是安装问题.
而是Java和编程问题.
应该转到Java的版区去.

怀念以前的老台式机。可惜现在租的地方没条件用了。目前只能用笔记本和手机了。
头像
ubuntu52
帖子: 35
注册时间: 2011-04-14 11:46

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#9

帖子 ubuntu52 » 2011-05-12 11:44

HADOOP 没用过

不知道你描述的是什么意思

根据你的描述:使用-put参数总是说io错误,无法向我在dhfs系统中建立的文件夹中放入文件。

会不会是权限的问题呢?
头像
meteormatt
帖子: 693
注册时间: 2008-02-24 14:15
系统: Ubuntu
来自: 江苏
联系:

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#10

帖子 meteormatt » 2011-05-12 11:51

terminatorsong 写了:以前用过另外一个版本的linux,redflag,在上面习惯了使用RPM的安装包。
用UBUNTU之后,误以为它也是用RPM包的,于是在ORACLE的官方网站上下了一个RPM的安装包,
结果发现无法安装,
先是得到一个RPM命令无法执行的错误,安装了RPM命令之后,
又提示说不能直接使用RPM命令,而应该使用ALIEN命令,搞得我一头雾水。
在查找解决办法的时候我又见到一个帖子说,UBUNTU的JDK都是用APT-GET来直接安装的,不用按有些教程上来。
于是我就去试APT-GET,结果在查找结果里面除了OPENJDK就是一个什么GIJ-JDK。
我以为在软件搜索库中有自己定义的名字,与其它的JDK名字不一样,可能这个GIJ-JDK就是我所需要的JDK吧,于是就把它装了。
结果就是我在帖子里向大家提问的那样了,JAVA指向了GIJ这个东西。
后来才在另一个帖子的留言中得知UBUNTU不使用RPM的,才明白过来,
去官网上下了那个jdk-2u25-i586.bin这样的一个文件,安装成功了。
只怪我粗心大意了,谢谢LS的老师的关心。
新手,请搞懂Debian系列和RedHat系列是不同.
各自有各自的风格.
.rpm包其实可以解压的,然后转成.deb包的.文件本身是一样的,只是打包方式不同罢了.

怀念以前的老台式机。可惜现在租的地方没条件用了。目前只能用笔记本和手机了。
头像
meteormatt
帖子: 693
注册时间: 2008-02-24 14:15
系统: Ubuntu
来自: 江苏
联系:

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#11

帖子 meteormatt » 2011-05-12 11:58

terminatorsong 写了:JAVA_HOME已经设置好了,但是还有一个让人头疼的问题。。。
是这样的,我们要做一个使用HADOOP进行MAPREDUSE功能实现与性能分析的作业,使用HADOOP的开源包,本来是件很简单的事情,跑一下就行了,
但是:

我按照老师提供的配置说明一步一步来进行,首先是发现在使用ssh登录localhost的时候说是在22号端口上连接失败,
这个后来发现是因为没有安装ssh-server造成的(汗),已经改好了;
第二个问题最要命:
我确定已经把JAVA_HOME设置好了,在终端里使用$JAVA_HOME会返回正确的JDK位置,使用java -version也能显示出最新安装的sun java版本号,而不是之前安装不成功时的openjava版本号。
然后我在本机上设置了两个本地回路用于建立一个伪分布式的环境,一个是master,一个是localhost。
然后又设置了公钥,可以不输密码进行访问;
接下来问题来了,我在初始化完namenode之后,按说明上写的运行start-all.sh
却返回两个错误结果,分别是从master和localhost返回的,都说java_home没有设置!!
这让我情何以堪啊,我去查hadoop-config.sh的内容,里面有对JAVA_HOME的设置部分,我运行这个脚本,成功了。
然后我又登录两个本地的机器,在登录状态下输入$java_home返回了正确的结果。
然后我就去一一找那些跟start-all.sh有关的所有脚本文件,没有找到其它地方有设置JAVAHOME的。
最后的结果是,只有namenode运行成功了,可以执行hadoop fs -ls <dir>命令来查看hdfs系统下的文件,但不知道为什么对它使用-put参数总是说io错误,无法向我在dhfs系统中建立的文件夹中放入文件。

有点纠结,继续求问那个JAVAHOME的问题是怎么回事。
针对Java的问题,我一般能解决.
但是,你确定你Java的配置都没问题吗?
Path配置是否正确?
你把需要运行的路径添加到Java的运行环境里去了吗?

另外,JRE和JDK是不同的概念.
相关知识,请看书.
并且,在Ubuntu中,默认的源是OpenJDK,不是Sun的JDK(现在其实也不应该叫Sun了,因为已经倒闭了,应该叫Oracle的JDK了)

感觉弄Hadoop的不会是本科生吧?

怀念以前的老台式机。可惜现在租的地方没条件用了。目前只能用笔记本和手机了。
terminatorsong
帖子: 7
注册时间: 2010-12-13 13:08

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#12

帖子 terminatorsong » 2011-05-12 15:51

你们老师叫你们去搞Hadoop?

你们专业是搞云计算的?

这玩意,在中国研究我不知道怎么样.
但是没看见几家公司有象样点的商业产品的.
研究和公司完全没有联合起来,论文都没有公开过,叫公司怎么看文档?
不是的,本学期开并行计算课,老师要求做一个mapreduce的实验,用hadoop或自己写一个类似的程序,或者用X10写,考虑用现成的东西会方便一点,没那么多时间写一个新的mapreduce,就选择了用hadoop了。
我不明白为什么会提示JAVA——HOME找不到,我明明都设置了的。
terminatorsong
帖子: 7
注册时间: 2010-12-13 13:08

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#13

帖子 terminatorsong » 2011-05-12 16:19

我是在一次REDFLAG公司到我们学校来宣传他们的一个开源比赛的时候才开始关注LINUX的,两年以前,而且也只是拿着他们送的REDFLAG装着玩而已,很多东西都不懂的。当时还特意要了一张ASIANUX,不知道有没有拼错,就是他们的LINUX服务器系统,我还记得那个递给我光盘的人是REDFLAG教育学院的副院长淮晋阳老师,呵呵~

我是本科生,“搞HADOOP”说得有点太抬举了,我们只是配置一下然后跑一下示例程序而已~

关于上面提到的一些问题,我想我在这里描述说不清楚,我来把终端里的输出结果发出来给各位老师看看吧。

首先是我的JAVAHOME设置问题,这里主要涉及两个文件,一个是家目录下的.profile,一个是/etc/profile,下面分别是两个文件的关键部分的内容。

这是我的jdk安装位置,按老师给的说明设置的,在我的家目录下。有点不太合理,因为其它用户访问不到。

代码: 全选

neo@neo-laptop:~/jdk1.6.0_25$ ls
bin        include  man               register_zh_CN.html
COPYRIGHT  jre      README.html       sample
db         lib      register.html     src.zip
demo       LICENSE  register_ja.html  THIRDPARTYLICENSEREADME.txt
下面是/etc/profile文件:

代码: 全选

#set java environment

export JAVA_HOME=/home/neo/jdk1.6.0_25

export JRE_HOME=/home/neo/jdk1.6.0_25/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
下面是~/.profile文件的最后几行:

代码: 全选

 # set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

    PATH="$HOME/jdk1.6.0_25/bin:$PATH"
    PATH="$HOME/hadoop/bin:$PATH"
这个是输入$JAVA_HOME的返回结果:

代码: 全选

neo@neo-laptop:~$ $JAVA_HOME
bash: /home/neo/jdk1.6.0_25: 是一个目录
这个是我登录localhost之后输入JAVAHOME的返回结果,在master里也是一样的。

代码: 全选

neo@neo-laptop:~$ ssh localhost
Linux neo-laptop 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

Last login: Thu May 12 08:53:27 2011 from localhost.localdomain
neo@neo-laptop:~$ $JAVA_HOME
-bash: /home/neo/jdk1.6.0_25: 是一个目录
这个是在格式化namenode之后,执行start-all.sh得到的结果,上面我提到的JAVAHOME问题:

代码: 全选

neo@neo-laptop:~$ start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-mapred.sh
starting namenode, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-namenode-neo-laptop.out
localhost: Error: JAVA_HOME is not set.
master: Error: JAVA_HOME is not set.
starting jobtracker, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-jobtracker-neo-laptop.out
localhost: Error: JAVA_HOME is not set.
下面是我提到的那个io错误的输出,这个有点长:

代码: 全选

neo@neo-laptop:~$ hadoop fs -put /home/neo/bcd.txt user/neo/input
11/05/12 16:07:15 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000
11/05/12 16:07:16 WARN conf.Configuration: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.id
11/05/12 16:07:16 WARN hdfs.DFSClient: DataStreamer Exception: java.io.IOException: File /user/neo/user/neo/input could only be replicated to 0 nodes, instead of 1
	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1448)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:690)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:342)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1350)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1346)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:396)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:742)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1344)

	at org.apache.hadoop.ipc.Client.call(Client.java:905)
	at org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:198)
	at $Proxy0.addBlock(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
	at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
	at $Proxy0.addBlock(Unknown Source)
	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:928)
	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:811)
	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:427)

put: File /user/neo/user/neo/input could only be replicated to 0 nodes, instead of 1
11/05/12 16:07:16 ERROR hdfs.DFSClient: Exception closing file /user/neo/user/neo/input : java.io.IOException: File /user/neo/user/neo/input could only be replicated to 0 nodes, instead of 1
	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1448)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:690)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:342)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1350)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1346)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:396)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:742)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1344)

java.io.IOException: File /user/neo/user/neo/input could only be replicated to 0 nodes, instead of 1
	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1448)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:690)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:342)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1350)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1346)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:396)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:742)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1344)

	at org.apache.hadoop.ipc.Client.call(Client.java:905)
	at org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:198)
	at $Proxy0.addBlock(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
	at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
	at $Proxy0.addBlock(Unknown Source)
	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:928)
	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:811)
	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:427)
JAVAHOME的问题最恼人。记得之前看过一个跟HADOOP有关的,也是JAVAHOME问题的帖子,当时也没怎么注意,我再找找看,看能不能找到。
terminatorsong
帖子: 7
注册时间: 2010-12-13 13:08

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#14

帖子 terminatorsong » 2011-05-12 17:23

总算解决了,谢谢各位的关心了!

HADOOP的那个关于JAVAHOME的问题的帖子一下子就找到了,
http://sery.blog.51cto.com/10037/231751/
而且国内有专门的HADOOP论坛,
http://www.hadoopor.com
刚刚才发现的,不知道是不是因为IP是教育网,自动给了邀请码,一注册就是会员了。

可能是版本的问题,我不是按照51CTO里提供的方法解决的,因为我的start-all.sh里没有他说的那段代码,我是直接把里面的JAVAHOME变量赋成了我的$JAVA_HOME值,而把原来的参数传递方法注释掉了。然后操作就成功了,呵呵~实验报告总算可以开始写了~~
下面贴一下我在终端里的一些操作结果:

代码: 全选

neo@neo-laptop:~$ start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-mapred.sh
starting namenode, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-namenode-neo-laptop.out
localhost: starting datanode, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-datanode-neo-laptop.out
master: starting secondarynamenode, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-secondarynamenode-neo-laptop.out
starting jobtracker, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-jobtracker-neo-laptop.out
localhost: starting tasktracker, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-tasktracker-neo-laptop.out
运行状态:

代码: 全选

neo@neo-laptop:~$ jps
7653 SecondaryNameNode
7950 TaskTracker
7754 JobTracker
8045 Jps
7252 NameNode
7445 DataNode
hdfs中的文件:

代码: 全选

neo@neo-laptop:~$ hadoop fs -ls
11/05/12 17:15:00 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000
11/05/12 17:15:00 WARN conf.Configuration: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.id
Found 3 items
drwxr-xr-x   - neo supergroup          0 2011-05-12 16:56 /user/neo/myinput
drwxr-xr-x   - neo supergroup          0 2011-05-12 16:59 /user/neo/output
drwxr-xr-x   - neo supergroup          0 2011-05-12 16:07 /user/neo/user
这里执行一次mapreduce后得到的结果。文件不是很大,我的笔记本有点烂,而且是单核的:

代码: 全选

that,	11
that,"	5
that--or	1
that--what?"	1
that.	12
that."	3
that?	2
that?"	12
that?'	1
the	4221
their	224
theirs--about	1
theirs.	1
them	140
them!	3
them!'	1
them,	44
them----"	1
them--Lord	1
them--it	1
头像
meteormatt
帖子: 693
注册时间: 2008-02-24 14:15
系统: Ubuntu
来自: 江苏
联系:

Re: ubuntu 10.10 中JAVA_HOME的设置问题

#15

帖子 meteormatt » 2011-05-17 17:11

terminatorsong 写了:总算解决了,谢谢各位的关心了!

HADOOP的那个关于JAVAHOME的问题的帖子一下子就找到了,
http://sery.blog.51cto.com/10037/231751/
而且国内有专门的HADOOP论坛,
http://www.hadoopor.com
刚刚才发现的,不知道是不是因为IP是教育网,自动给了邀请码,一注册就是会员了。

可能是版本的问题,我不是按照51CTO里提供的方法解决的,因为我的start-all.sh里没有他说的那段代码,我是直接把里面的JAVAHOME变量赋成了我的$JAVA_HOME值,而把原来的参数传递方法注释掉了。然后操作就成功了,呵呵~实验报告总算可以开始写了~~
下面贴一下我在终端里的一些操作结果:

代码: 全选

neo@neo-laptop:~$ start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-mapred.sh
starting namenode, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-namenode-neo-laptop.out
localhost: starting datanode, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-datanode-neo-laptop.out
master: starting secondarynamenode, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-secondarynamenode-neo-laptop.out
starting jobtracker, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-jobtracker-neo-laptop.out
localhost: starting tasktracker, logging to /home/neo/hadoop/bin/../logs/hadoop-neo-tasktracker-neo-laptop.out
运行状态:

代码: 全选

neo@neo-laptop:~$ jps
7653 SecondaryNameNode
7950 TaskTracker
7754 JobTracker
8045 Jps
7252 NameNode
7445 DataNode
hdfs中的文件:

代码: 全选

neo@neo-laptop:~$ hadoop fs -ls
11/05/12 17:15:00 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000
11/05/12 17:15:00 WARN conf.Configuration: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.id
Found 3 items
drwxr-xr-x   - neo supergroup          0 2011-05-12 16:56 /user/neo/myinput
drwxr-xr-x   - neo supergroup          0 2011-05-12 16:59 /user/neo/output
drwxr-xr-x   - neo supergroup          0 2011-05-12 16:07 /user/neo/user
这里执行一次mapreduce后得到的结果。文件不是很大,我的笔记本有点烂,而且是单核的:

代码: 全选

that,	11
that,"	5
that--or	1
that--what?"	1
that.	12
that."	3
that?	2
that?"	12
that?'	1
the	4221
their	224
theirs--about	1
theirs.	1
them	140
them!	3
them!'	1
them,	44
them----"	1
them--Lord	1
them--it	1
解决的很好.

怀念以前的老台式机。可惜现在租的地方没条件用了。目前只能用笔记本和手机了。
回复