您的位置:首页 > 其它

虚拟机与主机通信设置工作记录20130607

2013-06-07 17:01 399 查看
【简介】
由于hadoop是安装在linux系统,因此需要在linux系统使用eclipse开发java。现在很多公司都要求有在linux上开发java的经验 ,因此这也是一个练手的绝好机会。学习hadoop不仅仅是学习了hadoop,我相信等hadoop入门,linux也入门了,shell也入门了,linux上开发java也会了,或许这就是学习的魅力吧,让人欲罢不能!废话不多说,进入正题。
【安装eclipse】
工欲善其事,必先利其器,想在linux上用java开发hadoop程序,搭建环境是必不可少的。
由于已经在linux上安装好了jdk和hadoop了,因此只需要在linux上安装eclipse即可,我安装的是eclipse-standard-kepler-SR1-linux-gtk.tar.gz这个eclipse版本。首先使用secureFX将压缩包上传到linux系统上。

解压eclipse-standard-kepler-SR1-linux-gtk.tar.gz到/usr/local/src目录下(个人习惯)。
tar -zxvf eclipse-jee-luna-SR1a-linux-gtk.tar.gz -C /usr/local/src
解压完理论上就能直接打开eclipse进行开发了。进入linux桌面,到/usr/local/src/eclipse目录下:




设置eclipse的快捷方式
点击eclipse就能启动eclipse程序了,但是这样很麻烦,每次都需要去/usr/local/src/eclipse目录下启动,因此设置快捷方式是非常有必要的。
首先回到centerOS的桌面,右键--》创建启动器,如图:


输入名称--》点击浏览,选择/usr/local/src/eclipse/eclipse--》点击弹簧图标,选择/usr/local/src/eclipse/icon.xpm--》确定
ok,大功告成。

【导入hadoop的jar包】
打开eclipse,是不是很熟悉呢,这里我的工作空间选择的是默认的/root/workspace
创建一个java Project,我的project名称为hadoop。在项目里新建一个文件夹lib用于存放jar包,这些操作是不是很简单?

接下来就是导入hadoop的jar包了,我选择用命令行的方式导入jar包,练练手!
[root@hucc01 ~]# cd /usr/local/src/hadoop-2.2.0/share/hadoop/
[root@hucc01 hadoop]# ll
总用量 24
drwxr-xr-x. 6 67974 users 4096 10月  7 2013 common
drwxr-xr-x. 7 67974 users 4096 10月  7 2013 hdfs
drwxr-xr-x. 3 67974 users 4096 10月  7 2013 httpfs
drwxr-xr-x. 5 67974 users 4096 2月  19 23:19 mapreduce
drwxr-xr-x. 4 67974 users 4096 10月  7 2013 tools
drwxr-xr-x. 6 67974 users 4096 10月  7 2013 yarn
我们可以看到在/usr/local/src/hadoop-2.2.0/share/hadoop/ 目录下,有hadoop的所有的jar包,
首先需要导入common目录下的jar包。
[root@hucc01 hadoop]# cd common/
[root@hucc01 common]# ll
总用量 4152
-rw-r--r--. 1 67974 users 2735584 10月  7 2013 hadoop-common-2.2.0.jar
-rw-r--r--. 1 67974 users 1352859 10月  7 2013 hadoop-common-2.2.0-tests.jar
-rw-r--r--. 1 67974 users  139536 10月  7 2013 hadoop-nfs-2.2.0.jar
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 jdiff
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 lib
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 sources
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 templates
[root@hucc01 common]#
我们需要导入common下的所有jar包以及common中lib目录下的所有jar包
[root@hucc01 common]# cp *.jar /root/workspace/hadoop/lib/  #导入common下的所有jar
[root@hucc01 common]# cd lib/
[root@hucc01 lib]# cp *.jar /root/workspace/hadoop/lib/  #导入common下lib目录中的所有jar
[root@hucc01 lib]#
因为接下来的主要是先开发一个hdfs程序,因此还需要导入hdfs的相关jar包
[root@hucc01 lib]# cd ..
[root@hucc01 common]# cd ..
[root@hucc01 hadoop]# cd hdfs/     #跳转到hdfs目录
[root@hucc01 hdfs]# ll
总用量 7156
-rw-r--r--. 1 67974 users 5242252 10月  7 2013 hadoop-hdfs-2.2.0.jar
-rw-r--r--. 1 67974 users 1988460 10月  7 2013 hadoop-hdfs-2.2.0-tests.jar
-rw-r--r--. 1 67974 users   71689 10月  7 2013 hadoop-hdfs-nfs-2.2.0.jar
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 jdiff
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 lib
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 sources
drwxr-xr-x. 2 67974 users    4096 10月  7 2013 templates
drwxr-xr-x. 7 67974 users    4096 10月  7 2013 webapps
[root@hucc01 hdfs]# cp *.jar /root/workspace/hadoop/lib/  #导入hdfs相关的jar包
[root@hucc01 hdfs]#
好了,已经将开发需要的jar包放到项目中了

回到eclipse界面,刷新项目,将jar刷新出来。因为是java项目,所以还要将lib下的所有jar包变成小奶瓶,这个相信大家都不会陌生吧。
新建一个包,cn.hucc.hadoop,新建一个Java文件,HadoopDemo.java。最终成果:




导入hadoop的源码包
现在虽然可以开发了,但是还是需要导入hadoop的源码包,因为作为一个高素质的程序员,看源码是必不可少的(嘿嘿~)。点击FileSystem类查看源码,这时时肯定看不了源码的,因此需要下载源码包并且上传到linux上。下载并且使用SecureFX将hadoop-2.2.0-src.tar.gz上传到linux系统上。
解压源码包到/usr/local/src/resource目录下(个人习惯)
tar -zxvf hadoop-2.2.0-src.tar.gz -C hadoop-2.2.0-src.tar.gz
接下来回来eclipse将目录给链接上即可,这个对于有java开发经验的人来说并不是难事。

【开发hadoop程序】
在HadoopDemo.java中写入如下代码:
package cn.hucc.hadoop;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class HadoopDemo {
public static void main(String[] args) throws Exception {
URI uri = new URI("hdfs://hucc01:9000");//NameNode address
Configuration config = new Configuration();
FileSystem fs = FileSystem.get(uri, config);
InputStream is = fs.open(new Path("/jdk"));
OutputStream os = new FileOutputStream("/root/jdk1.7.tar.gz");
IOUtils.copyBytes(is, os, 4096, true);
}
}
运行该程序,执行成功,回到root目录下,看看jdk1.7.tar.gz是不是安静的躺在哪儿了呢!到这里,用java程序开发的第一个hadoop程序就完成了,想想还有点小激动呢!

【总结】
整体看下来,其实也没有多大难度,hadoop看起来很神秘,真正去学的时候感觉也就这样,还没当初学三大框架时候那种死去活来的感觉呢!

每天还要上班,回来能够学大概3个小时,坚持下去,并且用博客记录下来,我相信长期以往,hadoop始终会被我征服的...

毕业马上半年了,一直在做着CRUD的活,用着那几个框架,我不想一直这样,不想当没有思想的码农,我要学会大数据,学会python,最终干数据挖掘的活才是王道。

奋斗吧,少年,趁现在还年轻!

本文出自 “陌途” 博客,请务必保留此出处http://flycc258.blog.51cto.com/8624126/1615545
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: