ubuntu linux eclipse 集成hadoop开发环境

来源:互联网 发布:龙腾世纪起源知乎 编辑:程序博客网 时间:2024/05/17 23:48

写在开头:之前搭建hadoop的开发环境的时候,可以算是花了很多的经历,网上的方法都是新建一个用户,导致现在我再要使用的时候,需要将环境重新搭建,所有就写了这篇博客,记录一下第二次搭建hadoop开发环境的过程。
准备工作:1.Ubuntu Linux14.04系统
2.Eclipse4.5.2
3.hadoop1.0.4
4.hadoop1.0.4-eclipse插件
5.jdk7(version 1.7)

Hadoop环境搭建

单机环境搭建

安装java

1.下载Java开发包,解压到/usr/local文件中
2.配置环境变量

#打开环境变量配置文件sudo vim /etc/profile#在文件中添加export JAVA_HOME=/usr/local/java/jdk1.7.0_79(具体路径按照你自己安装配置)export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$TOMCAT_HOME/bin#保存文件ESC+:wq(vim基本操作)#使修改生效source /etc/profile#打开用户主目录下.bashrc文件vim ~/.bashrc#在文件中添加source /etc/profile#目的:.bashrc每次打开终端都会自动执行,source /etc/profile会在每次打开终端时,自动执行#判断是否修改成功java -version#如果输出时java-1.7说明修改成功,如果是openjdk那么需要用到使用其他命令修改其优先级,网上有,之后再补充

这里写图片描述

安装ssh服务

1.安装ssh

由于Hadoop用ssh通信,先安装sshsudo apt-get install openssh-server ssh安装完成以后,先启动服务:sudo /etc/init.d/ssh start启动后,可以通过如下命令查看服务是否正确启动:ps -e | grep ssh

2.配置ssh免密码登录

ssh-keygen -t rsa -P ""#因为我已有私钥,所以会提示是否覆盖当前私钥。第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥,现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys#现在可以登入ssh确认以后登录时不用输入密码:ssh localhost#退出exit

这里写图片描述

安装Hadoop1.0.4(单机环境搭建)

1.下载hadoop-1.0.4压缩包,解压到/usr/local
2.配置环境变量

#解压cd /usr/localsudo tar -zxvf hadoop-1.0.4.tar.gz #修改hadoop文件的owner和group,lrh:lrh是我的电脑上的主用户和所属组,你改成自己的即可sudo chown -R lrh:lrh /usr/local/hadoop-1.0.4/ #类似与java环境变量配置,打开/etc/profile,export HADOOP_HOME=/usr/local/hadoop-1.0.4export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH#使修改生效source /etc/profile#检验是否成功hadoop version

这里写图片描述
3.测试单机环境搭建是否成功

#在hadoop安装文件夹中创建input文件夹cd /usr/local/hadoop-1.0.4mkdir input#讲conf文件夹中的数据放在input文件中(或者你也可以新建,这边就是图个方便)cp conf/* input#然后运行wordcount示例hadoop jar hadoop-examples-1.0.4.jar wordcount input output#然后查看输出cat output/*

这里写图片描述
这里写图片描述

伪分布式环境搭建

设置*-site文件的内容

1.新建文件夹

#在hadoop目录下新建几个文件夹mkdir tmpmkdir hdfsmkdir hdfs/namemkdir hdfs/data

这里写图片描述
2.修改文件内容
修改/usr/local/hadoop-1.0.4/conf文件夹下的core-site.xml,hdfs-site.xml,mapred-site.xml文件

core-site.xml:<configuration>    <property>        <name>fs.default.name</name>        <value>hdfs://localhost:9000</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/usr/local/hadoop-1.0.4/tmp</value>    </property></configuration>hdfs-site.xml:<configuration>    <property>        <name>dfs.replication</name>        <value>1</value>    </property>    <property>        <name>dfs.name.dir</name>        <value>/usr/local/hadoop-1.0.4/hdfs/name</value>    </property>    <property>        <name>dfs.data.dir</name>        <value>/usr/local/hadoop-1.0.4/hdfs/data</value>    </property></configuration>mapred-site.xml:<configuration>    <property>        <name>mapred.job.tracker</name>        <value>localhost:9001</value>    </property></configuration>

格式化hdfs

hadoop namenode -format

这里写图片描述

启动hadoop

#启动hadoopstart-all.sh#然后查看进程jps

补充:我遇到的问题
1.说我JAVA_HOME没有值
这里写图片描述
解决方法:打开hadoop安装目录下的conf/hadoop-env.sh在文件最后添加export JAVA_HOME=/usr/local/java/jdk_1.7.0_79(根据你自己的机器设置)
2.datanode启动失败
这里写图片描述
解决方法:对于没有报错的查看启动日志,安装目录下的logs文件夹中
这里写图片描述
可以发现是文件权限问题
这里写图片描述
之后就成功了
这里写图片描述
那一串长的我也不知道是啥,先不管

查看hadoop集群的状态

浏览器输入下面的地址
http://localhost:50030/ - Hadoop 管理介面
http://localhost:50060/ - Hadoop Task Tracker 状态
http://localhost:50070/ - Hadoop DFS 状态
这里写图片描述
三个界面都差不多,出现了说明就成功了。

注意点:1.我们构建的是hadoop集群,
2.hadoop集群中使用的文件系统是hdfs,节点node相当于逻辑主机,datanode放数据,namenode放元数据,就是控制信息
3.hdfs在linux下是看不见的,想对其操作需要学会使用hdfs有关的命令,比如:
hadoop dfs -mkdir//创建文件夹
map/reduce是分布式编程模型
4.hadoop namenode -format只能使用一次,如果使用多次了,namenode会启动失败,解决办法是清空tmp文件夹中的内容,原因是每次执行的时候这句的时候,会给namenode分配一个标记号,记录在tmp中,多次执行,会有多个标记,就会报错

Eclipse环境搭建

下载安装eclipse

eclips版本下载,我用的是eclipse4.5.2(Mars),也可以使用eclipse4.4(Luna)都可以使用,具体安装很简单,这边就不说了,请自行百度

配置eclipse-hadoop开发环境

1.下载eclipse-hadoop插件,要对应hadoop版本找插件,我使用的hadoop1.0.4,提供一个插件,可以用的
2.上面这个文件是jar文件,直接复制到eclipse安装目录下的plugins文件夹下,如果是文件夹,则把文件夹下的feature和plugins文件夹分别复制到eclipse对于的文件夹下
3.启动eclipse,就可以看到eclipse集成hadoop开发环境成功
这里写图片描述
可能遇到的错误:复制过了还是打开之后并没有出现上面那种,注意是不是你的文件权限的问题,因为eclipse是安装在root权限下的,所以如果配置文件的权限过高,会导致非root用户eclipse运行的时候打不开,
解决方案:进去eclipse安装目录plugins目录下,chmod 664 hadoop插件名字,然后就行了

配置eclipse开发环境

1.依照上图打开Map/Reduce视图
打开Windows—Open Perspective—Other
选择Map/Reduce,点击OK
通过Open Perspective菜单打开Map Reduce视图
2.配置hadoop根路径
依次点击window->preference,然后左边栏选择hadoop,配置根路径比如/usr/local/hadoop-1.0.4
这里写图片描述
3.配置Map/Reduce Locations
在右下方看到如下图所示
点击Map/Reduce Location选项卡,
这里写图片描述
点击右边小象图标,打开Hadoop Location配置窗口:

输入Location Name,任意名称即可.配置Map/Reduce Master和DFS Mastrer,Host和Port配置成与core-site.xml的设置一致即可。
这里写图片描述
4.查看是否成功
这里写图片描述
上面就是成功的
下面就是失败的
这里写图片描述
出错也不怕,因为已经成功95%了,对照错误去改就行了

连接的时候要保证hadoop的服务开着,也就是jps命令之后,namenode啥的全都在运行

0 0