这是21号和今天的工作日志:
14:26 2012-2-21
#1.安装VMWare7.1.4(可以自动联网,不用自己设置)
序列号:UF1W2-DCXDK-48ENY-TDNGG-MG0V2
#2.安装Ubuntu10.10
#3.在Ubuntu中安装JDK
1.下载jdk,此处我下载的版本是 jdk-6u31-linux-i586.bin
2.把jdl复制到想要安装的目录:/home/<username>/jdk-6u22-linux-i586.bin
3.打开终端,输入以下命令: sudo sh jdk-6u31-linux-i586.bin 输入密码即可安装
4.到主目录<username>打开.bashrc。此文件默认是隐藏的,使用Ctrl + H显示,在文件结尾添加以下2行
export JAVA_HOME=/home/<username>/jdk1.6.0_31
PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
记得第一行换成你的JDK的安装目录。
5.重新登录以使修改生效。输入java -version命令,如果显示了当前的JDK版本证明安装成功。
#4.安装eclipse
直接解压下载的eclipse(eclipse-jee-europa-winter-linux-gtk.tar.gz)到主目录.
########启动报错:A Java Runtime Environment (JRE) or Java Development Kit (JDK)
must be available in order to run Eclipse. No Java virtual machine
was found after searching the following locations:
/home/wjk/eclipse/jre/bin/java
java in your current PATH
原因1:版本问题:查看系统版本:
#查看long的位数,返回32或64
getconf LONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init ==发现系统是32位,但是i386的系统是可以装i586的jdk的
JDK下载版本:普通x86是32位的
Linux x86 81.34 MB jdk-6u31-linux-i586.bin
eclipse下载版本: 也是32位的
eclipse-jee-europa-winter-linux-gtk.tar.gz
原因2:连接问题(
解决)
在终端进入你的eclipse目录,然后输入:
mkdir jre
cd jre
ln -s 你的JDK目录/bin bin
问题就解决了。
#5.在Ubuntu中安装hadoop
参考:http://jinghong.iteye.com/blog/1051732
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/
1.安装SSH sudo apt-get install ssh
报错:无法获得锁/var/lib/dpkg/lock - open,查明后是因为我同时开了Ubuntu SoftWare Center下载着Chrome浏览器,下载完软件中心自动退出,再次运行就没错误了。
2.按照文档中的配置,我的用户是wjk,hadoop也是安装在wjk的目录下,然后照个文档又建了一个hadoop用户,hadoop临时文件的存放目录是/hadoop,然后就引来一堆权限问题,后台索性不用hadoop用户了,把权限都给了wjk用户就可以了。
3.启动hadoop时看着没问题,但是jsp只有3行(DataNode,SecondaryNameNode,Jps),stop-all.sh时发现问题:no jobtracker to stop no namenode to stop 查看了下日志,发现问题竟然是没有格式化。重新运行了下./hadoop namenode -format 仔细看才发现没有返回successful,返回的是format aborted in ,查找了下相关原因,原来是因为我在/下建立hadoop文件夹是同时创建了name,data,tmp三个文件夹。删除,然后重新格式化再重启就没有问题了,jps和stop 都OK。
参考:http://blog.sina.com.cn/s/blog_48a45b9501011z7d.html
4.为了执行CountWord,在hdfs上新建目录./hadoop dfs -mkdir test,返回INFO security.UserGroupInformation: JAAS Configuration already set up for Hadoop.
5.暂时不处理错误4,将文件上传到HDFS,./hadoop dfs -put /home/wjk/hadoop/testin/*.* test
又报错了:File /hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1再重新删除/hadoop文件夹下的所有内容,重新格式化,OK。
参考:http://39382728.blog.163.com/blog/static/3536006920119138521390/
6.执行wordcount也成功了,这回再继续处理错误4。只找到一篇
https://groups.google.com/a/cloudera.org/group/cdh-user/browse_thread/thread/ec452e2c035197b1/4cb10d7fa636f276?lnk=raot,需要翻**墙才能打开
http://smarthosts.sinaapp.com/hostsp_auto.exe下载安装即可不需要重启,我很喜欢的一个工具
。原来这只是一个debug信息,如果实在想去掉查看这里https://issues.cloudera.org/browse/DISTRO-373。
7.eclipse插件。cloudera CH3U3版的contrib目录下没有eclipse-plugin文件夹,也没有jar包,只有一个.eclipse.templates文件夹,查各种资料都没找到用法。无奈之下随便写了一个cdh3u0的插件,
http://tch.ug/demos/hadoop-eclipse-plugin-0.20.2-cdh3u0.jar竟然也可以用。
8.乐极生悲,eclipse插件只能显示出HDFS,不能直接执行run on hadoop。于是想到老办法,还是先写程序,打jar包然后放到利用./hadoop jar ./../WordCount.jar WordCount testin testout的命令执行。
9.为了方便打jar包,使用fat jar这个插件。参考文章:http://hi.baidu.com/yjlnge/blog/item/fb8aead538beb8c350da4b33.html
10.有种过关斩将的感觉,这一路下来总算是成功的执行了wordCount和packageCount,下一站继续Hive!