您的位置:首页 > 运维架构 > Linux

ubuntu linux eclipse 集成hadoop开发环境

2016-11-30 09:46 453 查看
写在开头:之前搭建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/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export 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通信,先安装ssh
sudo 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/local
sudo 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.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
#使修改生效
source /etc/profile
#检验是否成功
hadoop version




3.测试单机环境搭建是否成功

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






伪分布式环境搭建

设置*-site文件的内容

1.新建文件夹

#在hadoop目录下新建几个文件夹
mkdir tmp
mkdir hdfs
mkdir hdfs/name
mkdir 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

#启动hadoop
start-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啥的全都在运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  eclipse hadoop linux ubuntu