hadoop开发环境搭建

一.软件准备

jdk、hadoop软件包、eclipse软件包(linux版)

二.安装java

详见http://www.cnblogs.com/KohnKong/articles/5346961.html

三.安装hadoop(单机伪分布式)

3.1创建hadoop用户

为hadoop创建一个专门的用户,具体如下:

groupadd hadoopGroup             //创建hadoop用户组  
useradd -g hadoopGroup hadoop    //新增用户hadoop并将其加入hadoopGroup群组  
passwd hadoop                    //建立hadoop用户的新密码,密码也是hadoop
3.2安装hadoop

用ftp工具将hadoop安装包上传到linux系统中,解压

 

tar -zxvf hadoop-1.2.1.tar.gz

 

3.3配置ssh

Hadoop需要通过SSH(安全外壳协议,可以保护共享访问的安全性)来启动Slave列表中各台主机的守护进程。但是由于SSH需要用户密码登陆,所以为了在系统运行时,节点之间免密码登录和访问,就需要把SSH配置免密码方式。具体如下:

 

ssh-keygen -t rsa        //生成密钥对,ras加密  

 

 

一直按enter,就会按照默认的选项将生成的密钥对保存到.ssh/id_rsa

cd .ssh/              
cp id_rsa.pub authorized_keys    //进入.ssh,把id_rsa.pub文件追加到授权(authorized_keys)里面  
ssh localhost                    //测试无密码登录本机 
 
3.4配置hadoop环境

切换到hadoop的安装路径找到conf/hadoop-env.sh文件,vi编辑,在文件最后添加如下语句:

export JAVA_HOME=/usr/java/jdk1.7.0_71  

同时将hadoop安装目录的bin目录配置到系统path变量中,不然如果无法使用hadoop命令(当然也可以每次都到hadoop安装文件夹下的bin里面去执行./hadoop)

vi /etc/profile  
export HADOOP_HOME=/hadoop1.2.1  
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin  

Hadoop-1.2.1的配置文件主要有三个,从名字上很容易辨认和理解:conf/core-site.xml(全局配置文件)、conf/hdfs-site.xml(HDFS配置文件)和conf/mapred-site.xml(MapReduce的配置文件)。下面是我的配置,name都是固定的,也很容易理解。value注意根据自己的路径来配

conf/core-site.xml

<?xml version="1.0"?>  
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
<!-- Put site-specific property overrides in this file. -->  
<configuration>  
<property>  
<name>hadoop.tmp.dir</name>  
<value>/hadoop1.2.1/tmp</value>          
</property>  
<property>  
<name>fs.default.name</name>  
<value>hdfs://192.168.5.227:9000</value>    <!-- 最好写成这样,因为后面编程时会用到这个地址 -->  
</property>  
</configuration>  

conf/mapred-site.xml

<?xml version="1.0"?>  
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
<!-- Put site-specific property overrides in this file. -->  
<configuration>  
<property>  
<name>mapred.job.tracker</name>  
<value>192.168.5.227:9001</value>  
</property>  
   
<property>  
<name>mapred.cluster.local.dir</name>  
<value>/hadoop1.2.1/mapred/local</value>  
</property>  
   
<property>  
<name>mapred.jobtracker.system.dir</name>  
<value>/hadoop1.2.1/mapred/system</value>  
</property>  
   
</configuration>  

hdfs-site.xml  

 <?xml version="1.0"?>  
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
<!-- Put site-specific property overrides in this file. -->  
<configuration>  
<property>  
<name>dfs.namenode.name.dir</name>  
<value>/hadoop1.2.1/dfs/name</value>  
</property>  
   
<property>  
<name>dfs.datanode.data.dir</name>  
<value>/hadoop1.2.1/dfs/data</value>  
</property>  
   
<property>  
<name>dfs.replication</name>  
<value>1</value>  
</property>  
</configuration>  
3.5格式化HDFS文件系统

修改完上述文件之后,进入hadoop安装目录

cd /hadoop1.2.1  

在首次安装和使用Hadoop之前,需要格式化分布式文件系统HDFS,所以执行如下命令:

bin/hadoop namenode -format
3.6启动hadoop环境

启动守护进程

bin/start-all.sh 

成功后,至少将在本机上启动5个新进程:NameNode、DataNode、JobTracke、TaskTracker、SecondaryNameNode

查看hadoop启动情况

jps 
8165 Jps  
27621 NameNode  
2982 oc4j.jar  
28001 JobTracker  
2454 Bootstrap  
28142 TaskTracker  
27764 DataNode  
27907 SecondaryNameNode  

如果现实类似于上述的信息,则表示Hadoop已经正常启动了,恭喜你!既然Hadoop安装好了,那就该用用了。

四、Hadoop下eclipse开发环境准备

4.1安装eclipse,并编译插件
cp eclipse-SDK-3.4-linux-gtk.tar.gz /opt                    //将eclipse-SDK-3.4-linux-gtk.tar.gz安装包复制到/opt目录  
cd /opt                                                     //切换到/opt目录  
tar -zxvf eclipse-java-luna-SR1-linux-gtk.tar.gz            //解压eclipse-SDK-3.4-linux-gtk.tar.gz数据包  

eclipse插件编译及使用详见 http://f.dataguru.cn/thread-288619-1-1.html

4.2配置Map/Reduce Locations

重启eclipse,配置hadoop installation directory,如图

如果安装插件成功,打开Window-->Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里配置Hadoop installation directory。进入Map/Reduce视角,如下图,

新建location

配置如下,

这里面的Host、Port分别是我前面在core-site.xml、mapred-site.xml中配置的地址及端口。配置完后退出。一层层打开DFS Locations,如果能显示文件夹(1)说明配置正确,如果显示"拒绝连接",请检查配置。

4.3第一个Map/Reduce Project

新建一个Map/Reduce Project项目,将example里的WordCount.java复制到新建的项目下面。先编写个数据输入文件,如下:

通过hadoop的命令在HDFS上创建/tmp/workcount目录,命令如下:

hadoop fs -mkdir /tmp/wordcount  

通过copyFromLocal命令把新建的word.txt复制到HDFS上,命令如下:

hadoop fs -copyFromLocal /word.txt  /tmp/wordcount/input/word.txt 

这个时候我们回到eclipse里面,在Map/Reduce Locations上reconnect看看,发现多出来了文件,如下所示,

4.4运行第一个Map/Reduce Project

在WordCount.java,右键-->Run As-->Run Configurations ,配置如下,

两个配置参数很容易理解,就是输入文件和输出文件。点击Run,运行程序,等运行结束后,查看运行结果,同样在Map/Reduce Locations上reconnect看看(也可以用命令hadoop fs -ls /tmp/wordcount/out)会发现又多出一个文件夹,下面含有两个文件。

使用命令查看part-r-00000文件,hadoop fs -cat /tmp/wordcount/out/part-r-00000可以查看运行结果。

好了,现在搭建好了基本的开发环境了,小伙伴们可以去折腾了!

转载于:https://www.cnblogs.com/KohnKong/articles/5346974.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值